Beispiel #1
0
 def do(self, a, b):
     evalues, evectors = gula.eig(a)
     assert_valid_eigenvals(a, evalues)
     assert_valid_eigen(a, evalues, evectors)
     ev = gula.eigvals(a)
     assert_valid_eigenvals(a, evalues)
     assert_almost_equal(ev, evalues)
Beispiel #2
0
    def do(self, a, b):
        d = gula.det(a)
        s, ld = gula.slogdet(a)
        assert_almost_equal(s * np.exp(ld), d)

        if np.csingle == a.dtype.type or np.single == a.dtype.type:
            cmp_type=np.csingle
        else:
            cmp_type=np.cdouble

        ev = gula.eigvals(a.astype(cmp_type))
        assert_almost_equal(d.astype(cmp_type),
                            multiply.reduce(ev.astype(cmp_type),
                                            axis=(ev.ndim-1)))
        if s != 0:
            assert_almost_equal(np.abs(s), 1)
        else:
            assert_equal(ld, -inf)