Struct lnkit::prelude::Hessenberg [−][src]
pub struct Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>, { /* fields omitted */ }
Hessenberg decomposition of a general matrix.
Implementations
impl<T, D> Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
[src]
impl<T, D> Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
[src]pub fn new(
hess: Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>
) -> Hessenberg<T, D>
[src]
hess: Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>
) -> Hessenberg<T, D>
Computes the Hessenberg decomposition using householder reflections.
pub fn new_with_workspace(
hess: Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>,
work: &mut Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>
) -> Hessenberg<T, D>
[src]
hess: Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>,
work: &mut Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>
) -> Hessenberg<T, 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<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>, Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>)
[src]
self
) -> (Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>, Matrix<T, D, D, <DefaultAllocator as Allocator<T, 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<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>
[src]
self
) -> Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>
Retrieves the upper trapezoidal submatrix H
of this decomposition.
pub fn h(
&self
) -> Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>
[src]
&self
) -> Matrix<T, D, D, <DefaultAllocator as Allocator<T, 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<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>
[src]
&self
) -> Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>
Computes the orthogonal matrix Q
of this decomposition.
Trait Implementations
impl<T, D> Clone for Hessenberg<T, D> where
T: Clone + ComplexField,
D: Clone + DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
[src]
impl<T, D> Clone for Hessenberg<T, D> where
T: Clone + ComplexField,
D: Clone + DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
[src]pub fn clone(&self) -> Hessenberg<T, D>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T, D> Copy for Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>: Copy,
Matrix<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>: Copy,
[src]
impl<T, D> Copy for Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>: Copy,
Matrix<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>: Copy,
[src]impl<T, D> Debug for Hessenberg<T, D> where
T: Debug + ComplexField,
D: Debug + DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
[src]
impl<T, D> Debug for Hessenberg<T, D> where
T: Debug + ComplexField,
D: Debug + DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
[src]impl<'de, T, D> Deserialize<'de> for Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>: Deserialize<'de>,
Matrix<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>: Deserialize<'de>,
[src]
impl<'de, T, D> Deserialize<'de> for Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>: Deserialize<'de>,
Matrix<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>: Deserialize<'de>,
[src]pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Hessenberg<T, D>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
__deserializer: __D
) -> Result<Hessenberg<T, D>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
impl<T, D> Serialize for Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>: Serialize,
Matrix<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>: Serialize,
[src]
impl<T, D> Serialize for Hessenberg<T, D> where
T: ComplexField,
D: DimSub<Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, D>,
DefaultAllocator: Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>,
Matrix<T, D, D, <DefaultAllocator as Allocator<T, D, D>>::Buffer>: Serialize,
Matrix<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimSub<Const<1_usize>>>::Output, Const<1_usize>>>::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,
Auto Trait Implementations
impl<T, D> !RefUnwindSafe for Hessenberg<T, D>
impl<T, D> !RefUnwindSafe for Hessenberg<T, D>
impl<T, D> !Send for Hessenberg<T, D>
impl<T, D> !Send for Hessenberg<T, D>
impl<T, D> !Sync for Hessenberg<T, D>
impl<T, D> !Sync for Hessenberg<T, D>
impl<T, D> !Unpin for Hessenberg<T, D>
impl<T, D> !Unpin for Hessenberg<T, D>
impl<T, D> !UnwindSafe for Hessenberg<T, D>
impl<T, D> !UnwindSafe for Hessenberg<T, D>
Blanket Implementations
impl<T, U> Cast<U> for T where
U: FromCast<T>,
impl<T, U> Cast<U> for T where
U: FromCast<T>,
pub fn cast(self) -> U
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
impl<T> FromBits<T> for T
impl<T> FromBits<T> for T
pub fn from_bits(t: T) -> T
impl<T> FromCast<T> for T
impl<T> FromCast<T> for T
pub fn from_cast(t: T) -> T
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
pub fn into_bits(self) -> U
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,