def test_save(self): rho_j = np.array([ 0, 0.11111111111111, 0.22222222222222, 0.33333333333333, 0.44444444444444, 0.55555555555556, 0.66666666666667, 0.77777777777778, 0.88888888888889, 1 ]) theta_i = np.array([ 0, 0.69813170079773, 1.3962634015955, 2.0943951023932, 2.7925268031909, 3.4906585039887, 4.1887902047864, 4.8869219055841, 5.5850536063819, 6.2831853071796 ]) enz1 = CPsf(8) f_sp = np.linspace(-3, 3, 9) enz1.make_cart_grid(x_sp=np.linspace(-1, 1, 10), y_sp=np.linspace(-2, 2, 11), f_sp=np.linspace(-3, 3, 12)) enz1.czern.make_pol_grid(rho_j, theta_i) # create tmp path tmpfile = NamedTemporaryFile() tmppath = tmpfile.name tmpfile.close() enz1.save(tmppath) enz2 = CPsf.load(tmppath) for i in range(f_sp.size): beta = normal(size=enz1.czern.nk) + 1j * normal(size=enz1.czern.nk) self.assertTrue( norm( enz1.eval_grid_f(beta, i).ravel() - enz2.eval_grid_f(beta, i).ravel()) < self.max_enorm) self.assertTrue(norm(enz1.Ugrid.ravel() - enz2.Ugrid.ravel()) == 0) self.assertTrue(norm(enz1.Vnm.ravel() - enz2.Vnm.ravel()) == 0) self.assertTrue(norm(enz1.Cnm.ravel() - enz2.Cnm.ravel()) == 0) self.assertTrue(norm(enz1.czern.coefnorm - enz2.czern.coefnorm) == 0) self.assertTrue(norm(enz1.czern.ntab - enz2.czern.ntab) == 0) self.assertTrue(norm(enz1.czern.mtab - enz2.czern.mtab) == 0) self.assertTrue(enz1.czern.n == enz2.czern.n) self.assertTrue(enz1.czern.nk == enz2.czern.nk) self.assertTrue(enz1.czern.normalise == enz2.czern.normalise) self.assertTrue(norm(enz1.czern.rhoitab - enz2.czern.rhoitab) == 0) self.assertTrue(norm(enz1.czern.rhotab - enz2.czern.rhotab) == 0) self.assertTrue(enz1.czern.numpy_dtype == enz2.czern.numpy_dtype) self.assertTrue(norm(enz1.czern.ZZ - enz2.czern.ZZ) == 0) os.unlink(tmppath)
def test_save(self): rho_j = np.array( [ 0, 0.11111111111111, 0.22222222222222, 0.33333333333333, 0.44444444444444, 0.55555555555556, 0.66666666666667, 0.77777777777778, 0.88888888888889, 1, ] ) theta_i = np.array( [ 0, 0.69813170079773, 1.3962634015955, 2.0943951023932, 2.7925268031909, 3.4906585039887, 4.1887902047864, 4.8869219055841, 5.5850536063819, 6.2831853071796, ] ) enz1 = CPsf(8) f_sp = np.linspace(-3, 3, 9) enz1.make_cart_grid(x_sp=np.linspace(-1, 1, 10), y_sp=np.linspace(-2, 2, 11), f_sp=np.linspace(-3, 3, 12)) enz1.czern.make_pol_grid(rho_j, theta_i) # create tmp path tmpfile = NamedTemporaryFile() tmppath = tmpfile.name tmpfile.close() enz1.save(tmppath) enz2 = CPsf.load(tmppath) for i in range(f_sp.size): beta = normal(size=enz1.czern.nk) + 1j * normal(size=enz1.czern.nk) self.assertTrue( norm(enz1.eval_grid_f(beta, i).ravel() - enz2.eval_grid_f(beta, i).ravel()) < self.max_enorm ) self.assertTrue(norm(enz1.Ugrid.ravel() - enz2.Ugrid.ravel()) == 0) self.assertTrue(norm(enz1.Vnm.ravel() - enz2.Vnm.ravel()) == 0) self.assertTrue(norm(enz1.Cnm.ravel() - enz2.Cnm.ravel()) == 0) self.assertTrue(norm(enz1.czern.coefnorm - enz2.czern.coefnorm) == 0) self.assertTrue(norm(enz1.czern.ntab - enz2.czern.ntab) == 0) self.assertTrue(norm(enz1.czern.mtab - enz2.czern.mtab) == 0) self.assertTrue(enz1.czern.n == enz2.czern.n) self.assertTrue(enz1.czern.nk == enz2.czern.nk) self.assertTrue(enz1.czern.normalise == enz2.czern.normalise) self.assertTrue(norm(enz1.czern.rhoitab - enz2.czern.rhoitab) == 0) self.assertTrue(norm(enz1.czern.rhotab - enz2.czern.rhotab) == 0) self.assertTrue(enz1.czern.numpy_dtype == enz2.czern.numpy_dtype) self.assertTrue(norm(enz1.czern.ZZ - enz2.czern.ZZ) == 0) os.unlink(tmppath)