Struct rin::math::linalg::Hessenberg [−][src]
pub struct Hessenberg<N, D> where
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>, { /* fields omitted */ }
Hessenberg decomposition of a general matrix.
Implementations
impl<N, D> Hessenberg<N, D> where
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
[src]
impl<N, D> Hessenberg<N, D> where
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
[src]pub fn new(
hess: Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>
) -> Hessenberg<N, D>
[src]
hess: Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>
) -> Hessenberg<N, D>
Computes the Hessenberg decomposition using householder reflections.
pub fn new_with_workspace(
hess: Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>,
work: &mut Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
) -> Hessenberg<N, D>
[src]
hess: Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>,
work: &mut Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
) -> Hessenberg<N, D>
Computes the Hessenberg decomposition using householder reflections.
The workspace containing D
elements must be provided but its content does not have to be
initialized.
pub fn unpack(
self
) -> (Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>, Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>)
[src]
self
) -> (Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>, Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>)
Retrieves (q, h)
with q
the orthogonal matrix of this decomposition and h
the
hessenberg matrix.
pub fn unpack_h(
self
) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>
[src]
self
) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>
Retrieves the upper trapezoidal submatrix H
of this decomposition.
pub fn h(
&self
) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>
[src]
&self
) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>
Retrieves the upper trapezoidal submatrix H
of this decomposition.
This is less efficient than .unpack_h()
as it allocates a new matrix.
pub fn q(
&self
) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>
[src]
&self
) -> Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>
Computes the orthogonal matrix Q
of this decomposition.
Trait Implementations
impl<N, D> Clone for Hessenberg<N, D> where
N: Clone + ComplexField,
D: Clone + DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
[src]
impl<N, D> Clone for Hessenberg<N, D> where
N: Clone + ComplexField,
D: Clone + DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
[src]pub fn clone(&self) -> Hessenberg<N, D>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<N, D> Debug for Hessenberg<N, D> where
N: Debug + ComplexField,
D: Debug + DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
[src]
impl<N, D> Debug for Hessenberg<N, D> where
N: Debug + ComplexField,
D: Debug + DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
[src]impl<'de, N, D> Deserialize<'de> for Hessenberg<N, D> where
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>: Deserialize<'de>,
Matrix<N, <D as DimSub<U1>>::Output, U1, <DefaultAllocator as Allocator<N, <D as DimSub<U1>>::Output, U1>>::Buffer>: Deserialize<'de>,
[src]
impl<'de, N, D> Deserialize<'de> for Hessenberg<N, D> where
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>: Deserialize<'de>,
Matrix<N, <D as DimSub<U1>>::Output, U1, <DefaultAllocator as Allocator<N, <D as DimSub<U1>>::Output, U1>>::Buffer>: Deserialize<'de>,
[src]pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Hessenberg<N, D>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
__deserializer: __D
) -> Result<Hessenberg<N, D>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
impl<N, D> Serialize for Hessenberg<N, D> where
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>: Serialize,
Matrix<N, <D as DimSub<U1>>::Output, U1, <DefaultAllocator as Allocator<N, <D as DimSub<U1>>::Output, U1>>::Buffer>: Serialize,
[src]
impl<N, D> Serialize for Hessenberg<N, D> where
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>: Serialize,
Matrix<N, <D as DimSub<U1>>::Output, U1, <DefaultAllocator as Allocator<N, <D as DimSub<U1>>::Output, U1>>::Buffer>: Serialize,
[src]pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
impl<N, D> Copy for Hessenberg<N, D> where
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>: Copy,
Matrix<N, <D as DimSub<U1>>::Output, U1, <DefaultAllocator as Allocator<N, <D as DimSub<U1>>::Output, U1>>::Buffer>: Copy,
[src]
N: ComplexField,
D: DimSub<U1>,
DefaultAllocator: Allocator<N, D, D>,
DefaultAllocator: Allocator<N, <D as DimSub<U1>>::Output, U1>,
Matrix<N, D, D, <DefaultAllocator as Allocator<N, D, D>>::Buffer>: Copy,
Matrix<N, <D as DimSub<U1>>::Output, U1, <DefaultAllocator as Allocator<N, <D as DimSub<U1>>::Output, U1>>::Buffer>: Copy,
Auto Trait Implementations
impl<N, D> !RefUnwindSafe for Hessenberg<N, D>
impl<N, D> !Send for Hessenberg<N, D>
impl<N, D> !Sync for Hessenberg<N, D>
impl<N, D> !Unpin for Hessenberg<N, D>
impl<N, D> !UnwindSafe for Hessenberg<N, D>
Blanket Implementations
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]