#[non_exhaustive]pub struct EigGeneralizedWork<T: Scalar> {Show 15 fields
pub n: i32,
pub jobvr: JobEv,
pub jobvl: JobEv,
pub alpha: Vec<MaybeUninit<T::Complex>>,
pub beta: Vec<MaybeUninit<T::Complex>>,
pub alpha_re: Option<Vec<MaybeUninit<T::Real>>>,
pub alpha_im: Option<Vec<MaybeUninit<T::Real>>>,
pub beta_re: Option<Vec<MaybeUninit<T::Real>>>,
pub beta_im: Option<Vec<MaybeUninit<T::Real>>>,
pub vc_l: Option<Vec<MaybeUninit<T::Complex>>>,
pub vr_l: Option<Vec<MaybeUninit<T::Real>>>,
pub vc_r: Option<Vec<MaybeUninit<T::Complex>>>,
pub vr_r: Option<Vec<MaybeUninit<T::Real>>>,
pub work: Vec<MaybeUninit<T>>,
pub rwork: Option<Vec<MaybeUninit<T::Real>>>,
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.n: i32
Problem size
jobvr: JobEv
Compute right eigenvectors or not
jobvl: JobEv
Compute left eigenvectors or not
alpha: Vec<MaybeUninit<T::Complex>>
Eigenvalues: alpha (numerators)
beta: Vec<MaybeUninit<T::Complex>>
Eigenvalues: beta (denominators)
alpha_re: Option<Vec<MaybeUninit<T::Real>>>
Real part of alpha (eigenvalue numerators) used in real routines
alpha_im: Option<Vec<MaybeUninit<T::Real>>>
Imaginary part of alpha (eigenvalue numerators) used in real routines
beta_re: Option<Vec<MaybeUninit<T::Real>>>
Real part of beta (eigenvalue denominators) used in real routines
beta_im: Option<Vec<MaybeUninit<T::Real>>>
Imaginary part of beta (eigenvalue denominators) used in real routines
vc_l: Option<Vec<MaybeUninit<T::Complex>>>
Left eigenvectors
vr_l: Option<Vec<MaybeUninit<T::Real>>>
Left eigenvectors used in real routines
vc_r: Option<Vec<MaybeUninit<T::Complex>>>
Right eigenvectors
vr_r: Option<Vec<MaybeUninit<T::Real>>>
Right eigenvectors used in real routines
work: Vec<MaybeUninit<T>>
Working memory
rwork: Option<Vec<MaybeUninit<T::Real>>>
Working memory with T::Real
Implementations§
Source§impl<T> EigGeneralizedWork<T>where
T: Scalar,
EigGeneralizedWork<T>: EigGeneralizedWorkImpl<Elem = T>,
impl<T> EigGeneralizedWork<T>where
T: Scalar,
EigGeneralizedWork<T>: EigGeneralizedWorkImpl<Elem = T>,
Trait Implementations§
Source§impl EigGeneralizedWorkImpl for EigGeneralizedWork<c32>
impl EigGeneralizedWorkImpl for EigGeneralizedWork<c32>
type Elem = Complex<f32>
fn new(calc_v: bool, l: MatrixLayout) -> Result<Self>
fn calc<'work>( &'work mut self, a: &mut [Self::Elem], b: &mut [Self::Elem], ) -> Result<EigGeneralizedRef<'work, Self::Elem>>
fn eval( self, a: &mut [Self::Elem], b: &mut [Self::Elem], ) -> Result<EigGeneralizedOwned<Self::Elem>>
Source§impl EigGeneralizedWorkImpl for EigGeneralizedWork<c64>
impl EigGeneralizedWorkImpl for EigGeneralizedWork<c64>
type Elem = Complex<f64>
fn new(calc_v: bool, l: MatrixLayout) -> Result<Self>
fn calc<'work>( &'work mut self, a: &mut [Self::Elem], b: &mut [Self::Elem], ) -> Result<EigGeneralizedRef<'work, Self::Elem>>
fn eval( self, a: &mut [Self::Elem], b: &mut [Self::Elem], ) -> Result<EigGeneralizedOwned<Self::Elem>>
Source§impl EigGeneralizedWorkImpl for EigGeneralizedWork<f32>
impl EigGeneralizedWorkImpl for EigGeneralizedWork<f32>
type Elem = f32
fn new(calc_v: bool, l: MatrixLayout) -> Result<Self>
fn calc<'work>( &'work mut self, a: &mut [Self::Elem], b: &mut [Self::Elem], ) -> Result<EigGeneralizedRef<'work, Self::Elem>>
fn eval( self, a: &mut [Self::Elem], b: &mut [Self::Elem], ) -> Result<EigGeneralizedOwned<Self::Elem>>
Source§impl EigGeneralizedWorkImpl for EigGeneralizedWork<f64>
impl EigGeneralizedWorkImpl for EigGeneralizedWork<f64>
type Elem = f64
fn new(calc_v: bool, l: MatrixLayout) -> Result<Self>
fn calc<'work>( &'work mut self, a: &mut [Self::Elem], b: &mut [Self::Elem], ) -> Result<EigGeneralizedRef<'work, Self::Elem>>
fn eval( self, a: &mut [Self::Elem], b: &mut [Self::Elem], ) -> Result<EigGeneralizedOwned<Self::Elem>>
Auto Trait Implementations§
impl<T> Freeze for EigGeneralizedWork<T>
impl<T> RefUnwindSafe for EigGeneralizedWork<T>
impl<T> Send for EigGeneralizedWork<T>
impl<T> Sync for EigGeneralizedWork<T>
impl<T> Unpin for EigGeneralizedWork<T>
impl<T> UnwindSafe for EigGeneralizedWork<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more