コード例 #1
0
 def test_svd(self):
     for M in self.Mlist:
         MU, MD, MV = hp.svd(M)
         # ensure that MD is a diagonal matrix
         np.testing.assert_almost_equal(MD, np.diag(np.diag(MD)))
         reconstructedM = hp.reconstruct(MU, MD, MV)
         np.testing.assert_almost_equal(M, reconstructedM)
コード例 #2
0
    def evaluate(self, size):
        """ Evaluate with a give size matrix.

        Args:
          size: Matrix size.
        """
        m = helpers.rand(size, size)
        PU, PD, PV = helpers.svd(m)

        self.assertTrue(np.allclose(np.dot(PU, np.dot(PD, PV)), m))
        for i in range(size):
            for j in range(size):
                if i != j:
                    self.assertEqual(PD[i, j], 0)
コード例 #3
0
 def test_adjust_cond(self):
     for M in self.Mlist:
         MU, MD, MV = hp.svd(M)
         M2 = hp.adjust_cond(MU, MD, MV, 20)
         self.assertAlmostEqual(np.linalg.cond(M2), 20)