コード例 #1
0
ファイル: UtilTest.py プロジェクト: charanpald/sandbox
    def testSvd(self):
        tol = 10**-6 
        A = numpy.random.rand(10, 3)
        P, s, Q = numpy.linalg.svd(A, full_matrices=False)
        A = P[:, 0:2].dot(numpy.diag(s[0:2]).dot(Q[0:2, :]))
        P2, s2, Q2 = Util.svd(A)

        self.assertTrue(numpy.linalg.norm(P2.dot(numpy.diag(s2)).dot(Q2) -A) < tol )
        self.assertTrue(numpy.linalg.norm(P2.conj().T.dot(P2) - numpy.eye(P2.shape[1])) < tol)
        self.assertTrue(numpy.linalg.norm(Q2.dot(Q2.conj().T) - numpy.eye(Q2.shape[0])) < tol)
コード例 #2
0
    def testSvd(self):
        tol = 10**-6
        A = numpy.random.rand(10, 3)
        P, s, Q = numpy.linalg.svd(A, full_matrices=False)
        A = P[:, 0:2].dot(numpy.diag(s[0:2]).dot(Q[0:2, :]))
        P2, s2, Q2 = Util.svd(A)

        self.assertTrue(
            numpy.linalg.norm(P2.dot(numpy.diag(s2)).dot(Q2) - A) < tol)
        self.assertTrue(
            numpy.linalg.norm(P2.conj().T.dot(P2) -
                              numpy.eye(P2.shape[1])) < tol)
        self.assertTrue(
            numpy.linalg.norm(Q2.dot(Q2.conj().T) -
                              numpy.eye(Q2.shape[0])) < tol)