File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 9999 None => DVector :: < T > :: zeros ( n) ,
100100 } ;
101101 self . r = b - & a. mul_vec ( & self . x ) ;
102- self . r_hat = self . r . clone ( ) ; // In practice, r_hat should be a fixed or random vector
102+ self . r_hat = self . r . clone ( ) ;
103103 self . p = self . r . clone ( ) ;
104104 self . v = DVector :: < T > :: zeros ( n) ;
105105 self . iter = 0 ;
@@ -118,7 +118,7 @@ where
118118 let alpha = r_dot / self . r_hat . dot ( & self . v ) ;
119119 self . x . axpy ( alpha, & self . p , T :: one ( ) ) ;
120120 let s = & self . r - & self . v * alpha;
121- if s. magnitude ( ) <= self . tol {
121+ if s. max ( ) <= self . tol {
122122 self . r = s;
123123 self . converged = true ;
124124 return true ;
@@ -127,7 +127,7 @@ where
127127 let omega = t. dot ( & s) / t. dot ( & t) ;
128128 self . x . axpy ( omega, & s, T :: one ( ) ) ;
129129 let new_r = & s - & t * omega;
130- if new_r. magnitude ( ) <= self . tol {
130+ if new_r. max ( ) <= self . tol {
131131 self . r = new_r;
132132 self . converged = true ;
133133 return true ;
Original file line number Diff line number Diff line change @@ -14,9 +14,11 @@ impl AlternatingRange {
1414 current : 0 ,
1515 }
1616 }
17+
1718 fn is_reversed ( & self ) -> bool {
1819 self . reversed
1920 }
21+
2022 fn alternate ( & mut self ) {
2123 self . reversed = !self . reversed ;
2224 self . current = 0 ;
You can’t perform that action at this time.
0 commit comments