Ejemplo n.º 1
0
def test_CovUnconstrainedCholesky(seeded_rng):

    cov = CovUnconstrainedCholesky(size=m)

    L = cov.L.numpy()
    cov_np = L @ L.T
    logdet_np, sinv_np, sinvx_np = logdet_sinv_np(X, cov_np)
    assert_allclose(logdet_np, cov.logdet, rtol=rtol)
    assert_allclose(sinv_np, cov.solve(eye), rtol=rtol)
    assert_allclose(sinvx_np, cov.solve(X_tf), rtol=rtol)
Ejemplo n.º 2
0
def test_CovConstant(seeded_rng):

    cov_np = wishart.rvs(df=m + 2, scale=np.eye(m))
    cov = CovUnconstrainedCholesky(Sigma=cov_np)

    # verify what we pass is what we get
    cov_tf = cov._cov
    assert_allclose(cov_tf, cov_np)

    # compute the naive version
    logdet_np, sinv_np, sinvx_np = logdet_sinv_np(X, cov_np)
    assert_allclose(logdet_np, cov.logdet, rtol=rtol)
    assert_allclose(sinv_np, cov.solve(eye), rtol=rtol)
    assert_allclose(sinvx_np, cov.solve(X_tf), rtol=rtol)