@@ -20,14 +20,17 @@ use num_traits::{Float, NumCast};
20
20
/// # Example
21
21
///
22
22
/// ```rust
23
+ /// use ndarray::{arr1, Array2};
24
+ /// use ndarray_linalg::{TruncatedEig, TruncatedOrder};
25
+ ///
23
26
/// let diag = arr1(&[1., 2., 3., 4., 5.]);
24
27
/// let a = Array2::from_diag(&diag);
25
28
///
26
- /// let eig = TruncatedEig::new(a, Order ::Largest)
29
+ /// let eig = TruncatedEig::new(a, TruncatedOrder ::Largest)
27
30
/// .precision(1e-5)
28
31
/// .maxiter(500);
29
32
///
30
- /// let res = eig.decompose();
33
+ /// let res = eig.decompose(3 );
31
34
/// ```
32
35
33
36
pub struct TruncatedEig < A : Scalar > {
@@ -109,14 +112,17 @@ impl<A: Float + Scalar + ScalarOperand + Lapack + PartialOrd + Default> Truncate
109
112
/// # Example
110
113
///
111
114
/// ```rust
115
+ /// use ndarray::{arr1, Array2};
116
+ /// use ndarray_linalg::{TruncatedEig, TruncatedOrder};
117
+ ///
112
118
/// let diag = arr1(&[1., 2., 3., 4., 5.]);
113
119
/// let a = Array2::from_diag(&diag);
114
120
///
115
- /// let eig = TruncatedEig::new(a, Order ::Largest)
121
+ /// let eig = TruncatedEig::new(a, TruncatedOrder ::Largest)
116
122
/// .precision(1e-5)
117
123
/// .maxiter(500);
118
124
///
119
- /// let res = eig.decompose();
125
+ /// let res = eig.decompose(3 );
120
126
/// ```
121
127
pub fn decompose ( & self , num : usize ) -> LobpcgResult < A > {
122
128
let x: Array2 < f64 > = generate:: random ( ( self . problem . len_of ( Axis ( 0 ) ) , num) ) ;
@@ -169,15 +175,21 @@ impl<A: Float + Scalar + ScalarOperand + Lapack + PartialOrd + Default> IntoIter
169
175
/// # Example
170
176
///
171
177
/// ```rust
172
- /// let teig = TruncatedEig::new(a, Order::Largest)
178
+ /// use ndarray::{arr1, Array2};
179
+ /// use ndarray_linalg::{TruncatedEig, TruncatedOrder};
180
+ ///
181
+ /// let diag = arr1(&[1., 2., 3., 4., 5.]);
182
+ /// let a = Array2::from_diag(&diag);
183
+ ///
184
+ /// let teig = TruncatedEig::new(a, TruncatedOrder::Largest)
173
185
/// .precision(1e-5)
174
186
/// .maxiter(500);
175
187
///
176
188
/// // solve eigenproblem until eigenvalues get smaller than 0.5
177
189
/// let res = teig.into_iter()
178
190
/// .take_while(|x| x.0[0] > 0.5)
179
- /// .flat_map(|x| x.0)
180
- /// .collect();
191
+ /// .flat_map(|x| x.0.to_vec() )
192
+ /// .collect::<Vec<_>> ();
181
193
/// ```
182
194
pub struct TruncatedEigIterator < A : Scalar > {
183
195
step_size : usize ,
0 commit comments