@@ -27,7 +27,7 @@ function max_err(R)
27
27
end
28
28
29
29
@testset " Locally Optimal Block Preconditioned Conjugate Gradient" begin
30
- srand (1234323 )
30
+ srand (1234321 )
31
31
@testset " Single eigenvalue" begin
32
32
n = 10
33
33
@testset " Small full system" begin
37
37
A = rand (T, n, n)
38
38
A = A' * A + I
39
39
b = rand (T, n, 1 )
40
- tol = √ eps (real (T))
41
-
40
+ tol = IterativeSolvers. default_tolerance (T)
42
41
r = lobpcg (A, largest, b; tol= tol, maxiter= Inf , log= false )
43
42
λ, X = r. λ, r. X
44
43
@test norm (A* X - X* λ) ≤ tol
57
56
B = rand (T, n, n)
58
57
B = B' * B + I
59
58
b = rand (T, n, 1 )
60
- tol = √ eps (real (T))
61
-
59
+ tol = IterativeSolvers. default_tolerance (T)
62
60
r = lobpcg (A, B, largest, b; tol= tol, maxiter= Inf , log= true )
63
61
λ, X = r. λ, r. X
64
62
@test max_err (A* X - B* X* λ) ≤ tol
74
72
A = laplace_matrix (Float64, 20 , 2 )
75
73
rhs = randn (size (A, 2 ), 1 )
76
74
rmul! (rhs, inv (norm (rhs)))
77
- tol = 1e-5
78
-
75
+ tol = IterativeSolvers. default_tolerance (Float64)
79
76
@testset " Matrix" begin
80
77
@testset " largest = $largest " for largest in (true , false )
81
78
r = lobpcg (A, largest, rhs; tol= tol, maxiter= Inf )
91
88
A = rand (T, n, n)
92
89
A = A' * A + I
93
90
b = zeros (T, n, 1 )
94
- tol = √ eps (real (T))
95
-
91
+ tol = IterativeSolvers. default_tolerance (T)
96
92
r = lobpcg (A, largest, b; tol= tol, maxiter= Inf , log= false )
97
93
λ, X = r. λ, r. X
98
94
@test norm (A* X - X* λ) ≤ tol
107
103
B = rand (T, n, n)
108
104
B = B' * B + I
109
105
b = zeros (T, n, 1 )
110
- tol = √ eps ( real (T) )
106
+ tol = IterativeSolvers . default_tolerance (T )
111
107
112
108
r = lobpcg (A, B, largest, b; tol= tol, maxiter= Inf , log= true )
113
109
λ, X = r. λ, r. X
122
118
@testset " largest = $largest " for largest in (true , false )
123
119
A = rand (T, n, n)
124
120
A = A' * A + I
125
- tol = √ eps ( real (T) )
121
+ tol = IterativeSolvers . default_tolerance (T )
126
122
127
123
r = lobpcg (A, largest, 1 ; tol= tol, maxiter= Inf , log= false )
128
124
λ, X = r. λ, r. X
137
133
A = A' * A + I
138
134
B = rand (T, n, n)
139
135
B = B' * B + I
140
- tol = √ eps ( real (T) )
136
+ tol = IterativeSolvers . default_tolerance (T )
141
137
142
138
r = lobpcg (A, B, largest, 1 ; tol= tol, maxiter= Inf , log= true )
143
139
λ, X = r. λ, r. X
152
148
@testset " largest = $largest " for largest in (true , false )
153
149
A = rand (T, n, n)
154
150
A = A' * A + I
155
- tol = √ eps ( real (T) )
151
+ tol = IterativeSolvers . default_tolerance (T )
156
152
b = rand (T, n, 1 )
157
153
itr = LOBPCGIterator (A, largest, b)
158
154
170
166
B = rand (T, n, n)
171
167
B = B' * B + I
172
168
b = rand (T, n, 1 )
173
- tol = √ eps ( real (T) )
169
+ tol = IterativeSolvers . default_tolerance (T )
174
170
itr = LOBPCGIterator (A, B, largest, b)
175
171
176
172
r = lobpcg! (itr; tol= tol, maxiter= Inf , log= true )
186
182
@testset " largest = $largest " for largest in (true , false )
187
183
A = rand (T, n, n)
188
184
A = A' * A + I
189
- tol = √ eps ( real (T) )
185
+ tol = IterativeSolvers . default_tolerance (T )
190
186
P = JacobiPrec (diag (A))
191
187
r = lobpcg (A, largest, 1 ; P= P, tol= tol, maxiter= Inf , log= false )
192
188
λ, X = r. λ, r. X
202
198
P = JacobiPrec (diag (A))
203
199
B = rand (T, n, n)
204
200
B = B' * B + I
205
- tol = √ eps ( real (T) )
201
+ tol = IterativeSolvers . default_tolerance (T )
206
202
207
203
r = lobpcg (A, B, largest, 1 ; P= P, tol= tol, maxiter= Inf , log= true )
208
204
λ, X = r. λ, r. X
217
213
@testset " largest = $largest " for largest in (true , false )
218
214
A = rand (T, n, n)
219
215
A = A' * A + I
220
- tol = √ eps ( real (T) )
216
+ tol = IterativeSolvers . default_tolerance (T )
221
217
r = lobpcg (A, largest, 1 ; tol= tol, maxiter= Inf , log= false )
222
218
λ1, X1 = r. λ, r. X
223
219
r = lobpcg (A, largest, 1 ; C= copy (r. X), tol= tol, maxiter= Inf , log= false )
234
230
A = A' * A + I
235
231
B = rand (T, n, n)
236
232
B = B' * B + I
237
- tol = eps ( real (T)) ^ 0.4
233
+ tol = IterativeSolvers . default_tolerance (T)
238
234
r = lobpcg (A, B, largest, 1 ; tol= tol, maxiter= Inf , log= false )
239
235
λ1, X1 = r. λ, r. X
240
236
r = lobpcg (A, B, largest, 1 ; C= copy (r. X), tol= tol, maxiter= Inf , log= false )
255
251
A = rand (T, n, n)
256
252
A = A' * A + I
257
253
b = rand (T, n, 2 )
258
- tol = √ eps ( real (T) )
254
+ tol = IterativeSolvers . default_tolerance (T )
259
255
260
256
r = lobpcg (A, largest, b; tol= tol, maxiter= Inf , log= false )
261
257
λ, X = r. λ, r. X
275
271
B = rand (T, n, n)
276
272
B = B' * B + I
277
273
b = rand (T, n, 2 )
278
- tol = eps ( real (T)) ^ ( real (T)( 4 / 10 ) )
274
+ tol = IterativeSolvers . default_tolerance (T )
279
275
r = lobpcg (A, B, largest, b; tol= tol, maxiter= Inf , log= true )
280
276
λ, X = r. λ, r. X
281
277
@test max_err (A* X - B* X* Matrix (Diagonal (λ))) ≤ tol
295
291
@testset " largest = $largest " for largest in (true , false )
296
292
A = rand (T, n, n)
297
293
A = A' * A + I
298
- tol = eps ( real (T)) ^ 0.4
294
+ tol = IterativeSolvers . default_tolerance (T)
299
295
X0 = rand (T, n, block_size)
300
296
r = lobpcg (A, largest, X0, 3 , tol= tol, maxiter= Inf , log= true )
301
297
λ, X = r. λ, r. X
311
307
A = A' * A + I
312
308
B = rand (T, n, n)
313
309
B = B' * B + I
314
- tol = eps (real (T))^ 0.4
315
-
310
+ tol = IterativeSolvers. default_tolerance (T)
316
311
X0 = rand (T, n, block_size)
317
312
r = lobpcg (A, B, largest, X0, 3 , tol= tol, maxiter= Inf , log= true )
318
313
λ, X = r. λ, r. X
327
322
@testset " largest = $largest " for largest in (true , false )
328
323
A = rand (T, n, n)
329
324
A = A' * A + I
330
- tol = √ eps ( real (T) )
325
+ tol = IterativeSolvers . default_tolerance (T )
331
326
r = lobpcg (A, largest, 1 ; tol= tol, maxiter= Inf , log= false )
332
327
λ1, X1 = r. λ, r. X
333
328
347
342
A = A' * A + 2 I
348
343
B = rand (T, n, n)
349
344
B = B' * B + 2 I
350
- tol = eps ( real (T)) ^ 0.4
345
+ tol = IterativeSolvers . default_tolerance (T)
351
346
r = lobpcg (A, B, largest, 1 ; tol= tol, maxiter= Inf , log= false )
352
347
λ1, X1 = r. λ, r. X
353
348
0 commit comments