File tree 1 file changed +25
-0
lines changed
1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,31 @@ pub trait Eig_: Scalar {
32
32
) -> Result < ( Vec < Self :: Complex > , Vec < Self :: Complex > ) > ;
33
33
}
34
34
35
+ /// Working memory for [Eig_]
36
+ #[ derive( Debug , Clone ) ]
37
+ pub struct EigWork < T : Scalar > {
38
+ pub n : i32 ,
39
+ pub jobvr : JobEv ,
40
+ pub jobvl : JobEv ,
41
+
42
+ /// Eigenvalues used in complex routines
43
+ pub eigs : Option < Vec < MaybeUninit < T > > > ,
44
+ /// Real part of eigenvalues used in real routines
45
+ pub eigs_re : Option < Vec < MaybeUninit < T > > > ,
46
+ /// Imaginary part of eigenvalues used in real routines
47
+ pub eigs_im : Option < Vec < MaybeUninit < T > > > ,
48
+
49
+ /// Left eigenvectors
50
+ pub vl : Option < Vec < MaybeUninit < T > > > ,
51
+ /// Right eigenvectors
52
+ pub vr : Option < Vec < MaybeUninit < T > > > ,
53
+
54
+ /// Working memory
55
+ pub work : Vec < MaybeUninit < T > > ,
56
+ /// Working memory with `T::Real`
57
+ pub rwork : Option < Vec < MaybeUninit < T :: Real > > > ,
58
+ }
59
+
35
60
macro_rules! impl_eig_complex {
36
61
( $scalar: ty, $ev: path) => {
37
62
impl Eig_ for $scalar {
You can’t perform that action at this time.
0 commit comments