diff options
Diffstat (limited to 'Wrappers/Python/test/test_Operator.py')
-rw-r--r-- | Wrappers/Python/test/test_Operator.py | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/Wrappers/Python/test/test_Operator.py b/Wrappers/Python/test/test_Operator.py index 5c659a4..57dd41f 100644 --- a/Wrappers/Python/test/test_Operator.py +++ b/Wrappers/Python/test/test_Operator.py @@ -191,6 +191,7 @@ class TestOperator(CCPiTestClass): def test_Norm(self): print ("test_BlockOperator") ## + numpy.random.seed(1) N, M = 200, 300 ig = ImageGeometry(N, M) @@ -200,8 +201,26 @@ class TestOperator(CCPiTestClass): t1 = timer() norm2 = G.norm() t2 = timer() - print ("Norm dT1 {} dT2 {}".format(t1-t0,t2-t1)) + norm3 = G.norm(force=True) + t3 = timer() + print ("Norm dT1 {} dT2 {} dT3 {}".format(t1-t0,t2-t1, t3-t2)) self.assertLess(t2-t1, t1-t0) + self.assertLess(t2-t1, t3-t2) + + numpy.random.seed(1) + t4 = timer() + norm4 = G.norm(iterations=50, force=True) + t5 = timer() + self.assertLess(t2-t1, t5-t4) + + numpy.random.seed(1) + t4 = timer() + norm5 = G.norm(x_init=ig.allocate('random'), iterations=50, force=True) + t5 = timer() + self.assertLess(t2-t1, t5-t4) + for n in [norm, norm2, norm3, norm4, norm5]: + print ("norm {}", format(n)) + class TestGradients(CCPiTestClass): def setUp(self): @@ -301,9 +320,22 @@ class TestGradients(CCPiTestClass): lhs3 = E3.direct(u3).dot(w3) rhs3 = u3.dot(E3.adjoint(w3)) numpy.testing.assert_almost_equal(lhs3, rhs3) + self.assertAlmostEqual(lhs3, rhs3) + print (lhs3, rhs3, abs((rhs3-lhs3)/rhs3) , 1.5 * 10**(-4), abs((rhs3-lhs3)/rhs3) < 1.5 * 10**(-4)) + self.assertTrue( LinearOperator.dot_test(E3, range_init = w3, domain_init=u3) ) + def test_dot_test(self): + Grad3 = Gradient(self.ig3, correlation = 'Space', backend='numpy') + # self.assertAlmostEqual(lhs3, rhs3) - # self.assertTrue( LinearOperator.dot_test(E3) ) + self.assertTrue( LinearOperator.dot_test(Grad3 , verbose=True)) + self.assertTrue( LinearOperator.dot_test(Grad3 , decimal=6, verbose=True)) + def test_dot_test2(self): + Grad3 = Gradient(self.ig3, correlation = 'SpaceChannel', backend='c') + + # self.assertAlmostEqual(lhs3, rhs3) + self.assertTrue( LinearOperator.dot_test(Grad3 , verbose=True)) + self.assertTrue( LinearOperator.dot_test(Grad3 , decimal=6, verbose=True)) |