@@ -27,7 +27,7 @@ function max_err(R)
2727end
2828
2929@testset " Locally Optimal Block Preconditioned Conjugate Gradient" begin
30- srand (1234323 )
30+ srand (1234321 )
3131 @testset " Single eigenvalue" begin
3232 n = 10
3333 @testset " Small full system" begin
3737 A = rand (T, n, n)
3838 A = A' * A + I
3939 b = rand (T, n, 1 )
40- tol = √ eps (real (T))
41-
40+ tol = IterativeSolvers. default_tolerance (T)
4241 r = lobpcg (A, largest, b; tol= tol, maxiter= Inf , log= false )
4342 λ, X = r. λ, r. X
4443 @test norm (A* X - X* λ) ≤ tol
5756 B = rand (T, n, n)
5857 B = B' * B + I
5958 b = rand (T, n, 1 )
60- tol = √ eps (real (T))
61-
59+ tol = IterativeSolvers. default_tolerance (T)
6260 r = lobpcg (A, B, largest, b; tol= tol, maxiter= Inf , log= true )
6361 λ, X = r. λ, r. X
6462 @test max_err (A* X - B* X* λ) ≤ tol
7472 A = laplace_matrix (Float64, 20 , 2 )
7573 rhs = randn (size (A, 2 ), 1 )
7674 rmul! (rhs, inv (norm (rhs)))
77- tol = 1e-5
78-
75+ tol = IterativeSolvers. default_tolerance (Float64)
7976 @testset " Matrix" begin
8077 @testset " largest = $largest " for largest in (true , false )
8178 r = lobpcg (A, largest, rhs; tol= tol, maxiter= Inf )
9188 A = rand (T, n, n)
9289 A = A' * A + I
9390 b = zeros (T, n, 1 )
94- tol = √ eps (real (T))
95-
91+ tol = IterativeSolvers. default_tolerance (T)
9692 r = lobpcg (A, largest, b; tol= tol, maxiter= Inf , log= false )
9793 λ, X = r. λ, r. X
9894 @test norm (A* X - X* λ) ≤ tol
107103 B = rand (T, n, n)
108104 B = B' * B + I
109105 b = zeros (T, n, 1 )
110- tol = √ eps ( real (T) )
106+ tol = IterativeSolvers . default_tolerance (T )
111107
112108 r = lobpcg (A, B, largest, b; tol= tol, maxiter= Inf , log= true )
113109 λ, X = r. λ, r. X
122118 @testset " largest = $largest " for largest in (true , false )
123119 A = rand (T, n, n)
124120 A = A' * A + I
125- tol = √ eps ( real (T) )
121+ tol = IterativeSolvers . default_tolerance (T )
126122
127123 r = lobpcg (A, largest, 1 ; tol= tol, maxiter= Inf , log= false )
128124 λ, X = r. λ, r. X
137133 A = A' * A + I
138134 B = rand (T, n, n)
139135 B = B' * B + I
140- tol = √ eps ( real (T) )
136+ tol = IterativeSolvers . default_tolerance (T )
141137
142138 r = lobpcg (A, B, largest, 1 ; tol= tol, maxiter= Inf , log= true )
143139 λ, X = r. λ, r. X
152148 @testset " largest = $largest " for largest in (true , false )
153149 A = rand (T, n, n)
154150 A = A' * A + I
155- tol = √ eps ( real (T) )
151+ tol = IterativeSolvers . default_tolerance (T )
156152 b = rand (T, n, 1 )
157153 itr = LOBPCGIterator (A, largest, b)
158154
170166 B = rand (T, n, n)
171167 B = B' * B + I
172168 b = rand (T, n, 1 )
173- tol = √ eps ( real (T) )
169+ tol = IterativeSolvers . default_tolerance (T )
174170 itr = LOBPCGIterator (A, B, largest, b)
175171
176172 r = lobpcg! (itr; tol= tol, maxiter= Inf , log= true )
186182 @testset " largest = $largest " for largest in (true , false )
187183 A = rand (T, n, n)
188184 A = A' * A + I
189- tol = √ eps ( real (T) )
185+ tol = IterativeSolvers . default_tolerance (T )
190186 P = JacobiPrec (diag (A))
191187 r = lobpcg (A, largest, 1 ; P= P, tol= tol, maxiter= Inf , log= false )
192188 λ, X = r. λ, r. X
202198 P = JacobiPrec (diag (A))
203199 B = rand (T, n, n)
204200 B = B' * B + I
205- tol = √ eps ( real (T) )
201+ tol = IterativeSolvers . default_tolerance (T )
206202
207203 r = lobpcg (A, B, largest, 1 ; P= P, tol= tol, maxiter= Inf , log= true )
208204 λ, X = r. λ, r. X
217213 @testset " largest = $largest " for largest in (true , false )
218214 A = rand (T, n, n)
219215 A = A' * A + I
220- tol = √ eps ( real (T) )
216+ tol = IterativeSolvers . default_tolerance (T )
221217 r = lobpcg (A, largest, 1 ; tol= tol, maxiter= Inf , log= false )
222218 λ1, X1 = r. λ, r. X
223219 r = lobpcg (A, largest, 1 ; C= copy (r. X), tol= tol, maxiter= Inf , log= false )
234230 A = A' * A + I
235231 B = rand (T, n, n)
236232 B = B' * B + I
237- tol = eps ( real (T)) ^ 0.4
233+ tol = IterativeSolvers . default_tolerance (T)
238234 r = lobpcg (A, B, largest, 1 ; tol= tol, maxiter= Inf , log= false )
239235 λ1, X1 = r. λ, r. X
240236 r = lobpcg (A, B, largest, 1 ; C= copy (r. X), tol= tol, maxiter= Inf , log= false )
255251 A = rand (T, n, n)
256252 A = A' * A + I
257253 b = rand (T, n, 2 )
258- tol = √ eps ( real (T) )
254+ tol = IterativeSolvers . default_tolerance (T )
259255
260256 r = lobpcg (A, largest, b; tol= tol, maxiter= Inf , log= false )
261257 λ, X = r. λ, r. X
275271 B = rand (T, n, n)
276272 B = B' * B + I
277273 b = rand (T, n, 2 )
278- tol = eps ( real (T)) ^ ( real (T)( 4 / 10 ) )
274+ tol = IterativeSolvers . default_tolerance (T )
279275 r = lobpcg (A, B, largest, b; tol= tol, maxiter= Inf , log= true )
280276 λ, X = r. λ, r. X
281277 @test max_err (A* X - B* X* Matrix (Diagonal (λ))) ≤ tol
295291 @testset " largest = $largest " for largest in (true , false )
296292 A = rand (T, n, n)
297293 A = A' * A + I
298- tol = eps ( real (T)) ^ 0.4
294+ tol = IterativeSolvers . default_tolerance (T)
299295 X0 = rand (T, n, block_size)
300296 r = lobpcg (A, largest, X0, 3 , tol= tol, maxiter= Inf , log= true )
301297 λ, X = r. λ, r. X
311307 A = A' * A + I
312308 B = rand (T, n, n)
313309 B = B' * B + I
314- tol = eps (real (T))^ 0.4
315-
310+ tol = IterativeSolvers. default_tolerance (T)
316311 X0 = rand (T, n, block_size)
317312 r = lobpcg (A, B, largest, X0, 3 , tol= tol, maxiter= Inf , log= true )
318313 λ, X = r. λ, r. X
327322 @testset " largest = $largest " for largest in (true , false )
328323 A = rand (T, n, n)
329324 A = A' * A + I
330- tol = √ eps ( real (T) )
325+ tol = IterativeSolvers . default_tolerance (T )
331326 r = lobpcg (A, largest, 1 ; tol= tol, maxiter= Inf , log= false )
332327 λ1, X1 = r. λ, r. X
333328
347342 A = A' * A + 2 I
348343 B = rand (T, n, n)
349344 B = B' * B + 2 I
350- tol = eps ( real (T)) ^ 0.4
345+ tol = IterativeSolvers . default_tolerance (T)
351346 r = lobpcg (A, B, largest, 1 ; tol= tol, maxiter= Inf , log= false )
352347 λ1, X1 = r. λ, r. X
353348
0 commit comments