@@ -30,24 +30,20 @@ use lapack;
30
30
#[ cfg_attr( feature = "serde-serialize" , derive( Serialize , Deserialize ) ) ]
31
31
#[ cfg_attr(
32
32
feature = "serde-serialize" ,
33
- serde(
34
- bound( serialize = "DefaultAllocator: Allocator<T, D, D> + Allocator<T, D>,
33
+ serde( bound( serialize = "DefaultAllocator: Allocator<D, D> + Allocator<D>,
35
34
OVector<T, D>: Serialize,
36
- OMatrix<T, D, D>: Serialize" )
37
- )
35
+ OMatrix<T, D, D>: Serialize" ) )
38
36
) ]
39
37
#[ cfg_attr(
40
38
feature = "serde-serialize" ,
41
- serde(
42
- bound( deserialize = "DefaultAllocator: Allocator<T, D, D> + Allocator<T, D>,
39
+ serde( bound( deserialize = "DefaultAllocator: Allocator<D, D> + Allocator<D>,
43
40
OVector<T, D>: Deserialize<'de>,
44
- OMatrix<T, D, D>: Deserialize<'de>" )
45
- )
41
+ OMatrix<T, D, D>: Deserialize<'de>" ) )
46
42
) ]
47
43
#[ derive( Clone , Debug ) ]
48
44
pub struct GeneralizedEigen < T : Scalar , D : Dim >
49
45
where
50
- DefaultAllocator : Allocator < T , D > + Allocator < T , D , D > ,
46
+ DefaultAllocator : Allocator < D > + Allocator < D , D > ,
51
47
{
52
48
alphar : OVector < T , D > ,
53
49
alphai : OVector < T , D > ,
@@ -58,15 +54,15 @@ where
58
54
59
55
impl < T : Scalar + Copy , D : Dim > Copy for GeneralizedEigen < T , D >
60
56
where
61
- DefaultAllocator : Allocator < T , D , D > + Allocator < T , D > ,
57
+ DefaultAllocator : Allocator < D , D > + Allocator < D > ,
62
58
OMatrix < T , D , D > : Copy ,
63
59
OVector < T , D > : Copy ,
64
60
{
65
61
}
66
62
67
63
impl < T : GeneralizedEigenScalar + RealField + Copy , D : Dim > GeneralizedEigen < T , D >
68
64
where
69
- DefaultAllocator : Allocator < T , D , D > + Allocator < T , D > ,
65
+ DefaultAllocator : Allocator < D , D > + Allocator < D > ,
70
66
{
71
67
/// Attempts to compute the generalized eigenvalues, and left and right associated eigenvectors
72
68
/// via the raw returns from LAPACK's dggev and sggev routines
@@ -162,8 +158,7 @@ where
162
158
/// as columns.
163
159
pub fn eigenvectors ( & self ) -> ( OMatrix < Complex < T > , D , D > , OMatrix < Complex < T > , D , D > )
164
160
where
165
- DefaultAllocator :
166
- Allocator < Complex < T > , D , D > + Allocator < Complex < T > , D > + Allocator < ( Complex < T > , T ) , D > ,
161
+ DefaultAllocator : Allocator < D , D > + Allocator < D > ,
167
162
{
168
163
/*
169
164
How the eigenvectors are built up:
@@ -230,7 +225,7 @@ where
230
225
#[ must_use]
231
226
pub fn raw_eigenvalues ( & self ) -> OVector < ( Complex < T > , T ) , D >
232
227
where
233
- DefaultAllocator : Allocator < ( Complex < T > , T ) , D > ,
228
+ DefaultAllocator : Allocator < D > ,
234
229
{
235
230
let mut out = Matrix :: from_element_generic (
236
231
self . vsl . shape_generic ( ) . 0 ,
0 commit comments