@@ -269,7 +269,7 @@ def test_FFT_random_real(par):
269269
270270 # Ensure inverse and adjoint recover x
271271 xadj = FFTop .H * y # adjoint is same as inverse for fft
272- xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , show = 0 )[0 ]
272+ xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
273273 assert_array_almost_equal (x , xadj , decimal = decimal )
274274 assert_array_almost_equal (x , xinv , decimal = decimal )
275275
@@ -403,7 +403,7 @@ def test_FFT_random_complex(par):
403403
404404 # Ensure inverse and adjoint recover x
405405 xadj = FFTop .H * y # adjoint is same as inverse for fft
406- xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , show = 0 )[0 ]
406+ xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
407407 assert_array_almost_equal (x , xadj , decimal = decimal )
408408 assert_array_almost_equal (x , xinv , decimal = decimal )
409409
@@ -464,7 +464,7 @@ def test_FFT2D_random_real(par):
464464
465465 # Ensure inverse and adjoint recover x
466466 xadj = FFTop .H * y # adjoint is same as inverse for fft
467- xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , show = 0 )[0 ]
467+ xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
468468 assert_array_almost_equal (x , xadj , decimal = decimal )
469469 assert_array_almost_equal (x , xinv , decimal = decimal )
470470
@@ -544,7 +544,7 @@ def test_FFT2D_random_complex(par):
544544
545545 # Ensure inverse and adjoint recover x
546546 xadj = FFTop .H * y # adjoint is same as inverse for fft
547- xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , show = 0 )[0 ]
547+ xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
548548 assert_array_almost_equal (x , xadj , decimal = decimal )
549549 assert_array_almost_equal (x , xinv , decimal = decimal )
550550
@@ -606,7 +606,7 @@ def test_FFTND_random_real(par):
606606
607607 # Ensure inverse and adjoint recover x
608608 xadj = FFTop .H * y # adjoint is same as inverse for fft
609- xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , show = 0 )[0 ]
609+ xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
610610 assert_array_almost_equal (x , xadj , decimal = decimal )
611611 assert_array_almost_equal (x , xinv , decimal = decimal )
612612
@@ -686,7 +686,7 @@ def test_FFTND_random_complex(par):
686686
687687 # Ensure inverse and adjoint recover x
688688 xadj = FFTop .H * y # adjoint is same as inverse for fft
689- xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , show = 0 )[0 ]
689+ xinv = lsqr (FFTop , y , damp = 0 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
690690 assert_array_almost_equal (x , xadj , decimal = decimal )
691691 assert_array_almost_equal (x , xinv , decimal = decimal )
692692
@@ -850,7 +850,7 @@ def test_FFT_1dsignal(par):
850850
851851 y = FFTop * x
852852 xadj = FFTop .H * y # adjoint is same as inverse for fft
853- xinv = lsqr (FFTop , y , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
853+ xinv = lsqr (FFTop , y , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
854854
855855 # check all signal if nt>nfft and only up to nfft if nfft<nt
856856 imax = par ["nt" ] if par ["nfft" ] is None else min ([par ["nt" ], par ["nfft" ]])
@@ -874,7 +874,7 @@ def test_FFT_1dsignal(par):
874874 assert_array_almost_equal (y_fftshift , np .fft .fftshift (y ))
875875
876876 xadj = FFTop_fftshift .H * y_fftshift # adjoint is same as inverse for fft
877- xinv = lsqr (FFTop_fftshift , y_fftshift , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
877+ xinv = lsqr (FFTop_fftshift , y_fftshift , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
878878 assert_array_almost_equal (x [:imax ], xadj [:imax ], decimal = decimal )
879879 assert_array_almost_equal (x [:imax ], xinv [:imax ], decimal = decimal )
880880
@@ -930,7 +930,7 @@ def test_FFT_2dsignal(par):
930930
931931 D = FFTop * d .ravel ()
932932 dadj = FFTop .H * D # adjoint is same as inverse for fft
933- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
933+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
934934
935935 dadj = np .real (dadj .reshape (nt , nx ))
936936 dinv = np .real (dinv .reshape (nt , nx ))
@@ -958,7 +958,7 @@ def test_FFT_2dsignal(par):
958958 assert_array_almost_equal (D_fftshift , D2 )
959959
960960 dadj = FFTop_fftshift .H * D_fftshift # adjoint is same as inverse for fft
961- dinv = lsqr (FFTop_fftshift , D_fftshift , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
961+ dinv = lsqr (FFTop_fftshift , D_fftshift , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
962962
963963 dadj = np .real (dadj .reshape (nt , nx ))
964964 dinv = np .real (dinv .reshape (nt , nx ))
@@ -988,7 +988,7 @@ def test_FFT_2dsignal(par):
988988
989989 D = FFTop * d .ravel ()
990990 dadj = FFTop .H * D # adjoint is inverse for fft
991- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
991+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
992992
993993 dadj = np .real (dadj .reshape (nt , nx ))
994994 dinv = np .real (dinv .reshape (nt , nx ))
@@ -1016,7 +1016,7 @@ def test_FFT_2dsignal(par):
10161016 assert_array_almost_equal (D_fftshift , D2 )
10171017
10181018 dadj = FFTop_fftshift .H * D_fftshift # adjoint is same as inverse for fft
1019- dinv = lsqr (FFTop_fftshift , D_fftshift , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
1019+ dinv = lsqr (FFTop_fftshift , D_fftshift , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
10201020
10211021 dadj = np .real (dadj .reshape (nt , nx ))
10221022 dinv = np .real (dinv .reshape (nt , nx ))
@@ -1085,7 +1085,7 @@ def test_FFT_3dsignal(par):
10851085
10861086 D = FFTop * d .ravel ()
10871087 dadj = FFTop .H * D # adjoint is same as inverse for fft
1088- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
1088+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
10891089
10901090 dadj = np .real (dadj .reshape (nt , nx , ny ))
10911091 dinv = np .real (dinv .reshape (nt , nx , ny ))
@@ -1125,7 +1125,7 @@ def test_FFT_3dsignal(par):
11251125
11261126 D = FFTop * d .ravel ()
11271127 dadj = FFTop .H * D # adjoint is inverse for fft
1128- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
1128+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
11291129
11301130 dadj = np .real (dadj .reshape (nt , nx , ny ))
11311131 dinv = np .real (dinv .reshape (nt , nx , ny ))
@@ -1165,7 +1165,7 @@ def test_FFT_3dsignal(par):
11651165
11661166 D = FFTop * d .ravel ()
11671167 dadj = FFTop .H * D # adjoint is inverse for fft
1168- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
1168+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
11691169
11701170 dadj = np .real (dadj .reshape (nt , nx , ny ))
11711171 dinv = np .real (dinv .reshape (nt , nx , ny ))
@@ -1193,7 +1193,7 @@ def test_FFT_3dsignal(par):
11931193 assert_array_almost_equal (D_fftshift , D2 )
11941194
11951195 dadj = FFTop_fftshift .H * D_fftshift # adjoint is same as inverse for fft
1196- dinv = lsqr (FFTop_fftshift , D_fftshift , damp = 1e-10 , iter_lim = 10 , show = 0 )[0 ]
1196+ dinv = lsqr (FFTop_fftshift , D_fftshift , damp = 1e-10 , iter_lim = 10 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
11971197
11981198 dadj = np .real (dadj .reshape (nt , nx , ny ))
11991199 dinv = np .real (dinv .reshape (nt , nx , ny ))
@@ -1250,7 +1250,7 @@ def test_FFT2D(par):
12501250
12511251 D = FFTop * d .ravel ()
12521252 dadj = FFTop .H * D # adjoint is inverse for fft
1253- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , show = 0 )[0 ]
1253+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
12541254
12551255 dadj = np .real (dadj ).reshape (par ["nt" ], par ["nx" ])
12561256 dinv = np .real (dinv ).reshape (par ["nt" ], par ["nx" ])
@@ -1296,7 +1296,7 @@ def test_FFT2D(par):
12961296
12971297 D = FFTop * d .ravel ()
12981298 dadj = FFTop .H * D # adjoint is inverse for fft
1299- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , show = 0 )[0 ]
1299+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
13001300
13011301 dadj = np .real (dadj ).reshape (par ["nt" ], par ["nx" ])
13021302 dinv = np .real (dinv ).reshape (par ["nt" ], par ["nx" ])
@@ -1356,7 +1356,7 @@ def test_FFT3D(par):
13561356
13571357 D = FFTop * d .ravel ()
13581358 dadj = FFTop .H * D # adjoint is inverse for fft
1359- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , show = 0 )[0 ]
1359+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
13601360
13611361 dadj = np .real (dadj ).reshape (par ["nt" ], par ["nx" ], par ["ny" ])
13621362 dinv = np .real (dinv ).reshape (par ["nt" ], par ["nx" ], par ["ny" ])
@@ -1407,7 +1407,7 @@ def test_FFT3D(par):
14071407
14081408 D = FFTop * d .ravel ()
14091409 dadj = FFTop .H * D # adjoint is inverse for fft
1410- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , show = 0 )[0 ]
1410+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
14111411
14121412 dadj = np .real (dadj ).reshape (par ["nt" ], par ["nx" ], par ["ny" ])
14131413 dinv = np .real (dinv ).reshape (par ["nt" ], par ["nx" ], par ["ny" ])
@@ -1454,7 +1454,7 @@ def test_FFT3D(par):
14541454
14551455 D = FFTop * d .ravel ()
14561456 dadj = FFTop .H * D # adjoint is inverse for fft
1457- dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , show = 0 )[0 ]
1457+ dinv = lsqr (FFTop , D , damp = 1e-10 , iter_lim = 100 , atol = 1e-8 , btol = 1e-8 , show = 0 )[0 ]
14581458
14591459 dadj = np .real (dadj ).reshape (par ["nt" ], par ["nx" ], par ["ny" ])
14601460 dinv = np .real (dinv ).reshape (par ["nt" ], par ["nx" ], par ["ny" ])
0 commit comments