Example #1
0
def test07_inverse(M):
    pytest.importorskip("numpy")
    import numpy as np
    np.random.seed(1)
    for i in range(100):
        m1 = np.float32(np.random.normal(size=list(reversed(M.Shape))))
        m2 = M(m1)
        inv1 = M(np.linalg.inv(m1)) @ m2 - ek.identity(M)
        inv2 = ek.inverse(m2) @ m2 - ek.identity(M)
        assert ek.allclose(inv1, 0, atol=1e-3)
        assert ek.allclose(inv2, 0, atol=1e-3)
Example #2
0
def test05_allclose():
    m = ek.full(M, 1)
    assert ek.allclose(m, ek.full(M, 1))
    m[1, 0] = 0
    assert not ek.allclose(m, ek.full(M, 1))
    m = ek.identity(M)
    assert ek.allclose(m, 1)
    m[1, 0] = 1
    assert not ek.allclose(m, 1)
Example #3
0
def test08_polar():
    m = M(*range(1, 17)) + ek.identity(M)
    q, r = ek.polar_decomp(m)
    assert ek.allclose(q @ r, m)
    assert ek.allclose(q @ ek.transpose(q), ek.identity(M), atol=1e-6)