summaryrefslogtreecommitdiffstats
path: root/Wrappers/Python/test/test_Operator.py
diff options
context:
space:
mode:
Diffstat (limited to 'Wrappers/Python/test/test_Operator.py')
-rw-r--r--Wrappers/Python/test/test_Operator.py36
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))