Example #1
0
    def test_riemann_matrix(self):
        # the transformed period matrices should still result in a Riemann
        # matrix after normalization
        Pa, Pb = symmetrize_periods(self.atrott.T, self.btrott.T)
        Omega = Pa.inverse() * Pb
        Y = Omega.apply_map(imag)
        symmetric_error = (Omega - Omega.T).norm()
        eigenvalues = Y.eigenvalues()
        self.assertLess(symmetric_error,
                        3e-3)  # the example itself has low precision
        for eig in eigenvalues:
            self.assertGreater(eig, 0)

        Pa, Pb = symmetrize_periods(self.aklein.T, self.bklein.T, tol=1e-3)
        Omega = Pa.inverse() * Pb
        Y = Omega.apply_map(imag)
        symmetric_error = (Omega - Omega.T).norm()
        eigenvalues = Y.eigenvalues()
        self.assertLess(symmetric_error, 1e-3)
        for eig in eigenvalues:
            self.assertGreater(eig, 0)

        Pa, Pb = symmetrize_periods(self.afermat.T, self.bfermat.T, tol=1e-3)
        Omega = Pa.inverse() * Pb
        Y = Omega.apply_map(imag)
        symmetric_error = (Omega - Omega.T).norm()
        eigenvalues = Y.eigenvalues()
        self.assertLess(symmetric_error, 1e-3)
        for eig in eigenvalues:
            self.assertGreater(eig, 0)

        Pa, Pb = symmetrize_periods(self.a6.T, self.b6.T)
        Omega = Pa.inverse() * Pb
        Y = Omega.apply_map(imag)
        symmetric_error = (Omega - Omega.T).norm()
        eigenvalues = Y.eigenvalues()
        self.assertLess(symmetric_error, 1e-3)
        for eig in eigenvalues:
            self.assertGreater(eig, 0)
    def test_riemann_matrix(self):
        # the transformed period matrices should still result in a Riemann
        # matrix after normalization
        Pa, Pb = symmetrize_periods(self.atrott.T, self.btrott.T)
        Omega = Pa.inverse()*Pb
        Y = Omega.apply_map(imag)
        symmetric_error = (Omega - Omega.T).norm()
        eigenvalues = Y.eigenvalues()
        self.assertLess(symmetric_error, 3e-3)  # the example itself has low precision
        for eig in eigenvalues:
            self.assertGreater(eig, 0)

        Pa, Pb = symmetrize_periods(self.aklein.T, self.bklein.T, tol=1e-3)
        Omega = Pa.inverse()*Pb
        Y = Omega.apply_map(imag)
        symmetric_error = (Omega - Omega.T).norm()
        eigenvalues = Y.eigenvalues()
        self.assertLess(symmetric_error, 1e-3)
        for eig in eigenvalues:
            self.assertGreater(eig, 0)

        Pa, Pb = symmetrize_periods(self.afermat.T, self.bfermat.T, tol=1e-3)
        Omega = Pa.inverse()*Pb
        Y = Omega.apply_map(imag)
        symmetric_error = (Omega - Omega.T).norm()
        eigenvalues = Y.eigenvalues()
        self.assertLess(symmetric_error, 1e-3)
        for eig in eigenvalues:
            self.assertGreater(eig, 0)

        Pa, Pb = symmetrize_periods(self.a6.T, self.b6.T)
        Omega = Pa.inverse()*Pb
        Y = Omega.apply_map(imag)
        symmetric_error = (Omega - Omega.T).norm()
        eigenvalues = Y.eigenvalues()
        self.assertLess(symmetric_error, 1e-3)
        for eig in eigenvalues:
            self.assertGreater(eig, 0)
Example #3
0
 def test_integral(self):
     # symmetrize_periods already tests if Gamma is integral
     Pa, Pb = symmetrize_periods(self.atrott.T, self.btrott.T)
     Pa, Pb = symmetrize_periods(self.aklein.T, self.bklein.T, tol=1e-3)
     Pa, Pb = symmetrize_periods(self.afermat.T, self.bfermat.T, tol=1e-3)
     Pa, Pb = symmetrize_periods(self.a6.T, self.b6.T)
 def test_integral(self):
     # symmetrize_periods already tests if Gamma is integral
     Pa, Pb = symmetrize_periods(self.atrott.T, self.btrott.T)
     Pa, Pb = symmetrize_periods(self.aklein.T, self.bklein.T, tol=1e-3)
     Pa, Pb = symmetrize_periods(self.afermat.T, self.bfermat.T, tol=1e-3)
     Pa, Pb = symmetrize_periods(self.a6.T, self.b6.T)