Example #1
0
    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)
Example #2
0
    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)