コード例 #1
0
def test_apply_C_left_sym_matches_full():
    sigma = 1.
    N = 10
    Z = np.random.randn(N, 2)
    K = gaussian_kernel(Z, sigma=sigma)
    R = incomplete_cholesky_gaussian(Z, sigma, eta=0.1)["R"]
    
    v = np.random.randn(Z.shape[0])
    lmbda = 1.
    
    x = (develop_gaussian.compute_C_sym(Z, K, sigma) + lmbda * (K + np.eye(len(K)))).dot(v)
    y = develop_gaussian_low_rank.apply_left_C_sym(v, Z, R.T, lmbda)
    assert_allclose(x, y, atol=2e-1, rtol=2e-1)
コード例 #2
0
def test_apply_C_left_sym_matches_full():
    sigma = 1.
    N = 10
    Z = np.random.randn(N, 2)
    K = gaussian_kernel(Z, sigma=sigma)
    R = incomplete_cholesky_gaussian(Z, sigma, eta=0.1)["R"]

    v = np.random.randn(Z.shape[0])
    lmbda = 1.

    x = (develop_gaussian.compute_C_sym(Z, K, sigma) + lmbda *
         (K + np.eye(len(K)))).dot(v)
    y = develop_gaussian_low_rank.apply_left_C_sym(v, Z, R.T, lmbda)
    assert_allclose(x, y, atol=2e-1, rtol=2e-1)
コード例 #3
0
def apply_C_matches_sym():
    sigma = 1.
    N_X = 100
    X = np.random.randn(N_X, 2)

    kernel = lambda X, Y: gaussian_kernel(X, Y, sigma=sigma)
    temp = incomplete_cholesky(X, kernel, eta=0.1)
    I, R, nu = (temp["I"], temp["R"], temp["nu"])

    R_test = incomplete_cholesky_new_points(X, X, kernel, I, R, nu)

    v = np.random.randn(N_X.shape[0])
    lmbda = 1.

    x = gaussian_low_rank.apply_left_C(v, X, X, R.T, R_test.T, lmbda)
    y = develop_gaussian_low_rank.apply_left_C_sym(v, X, R.T, lmbda)
    assert_allclose(x, y)
コード例 #4
0
def apply_C_matches_sym():
    sigma = 1.
    N_X = 100
    X = np.random.randn(N_X, 2)
    
    kernel = lambda X, Y: gaussian_kernel(X, Y, sigma=sigma)
    temp = incomplete_cholesky(X, kernel, eta=0.1)
    I, R, nu = (temp["I"], temp["R"], temp["nu"])
    
    R_test = incomplete_cholesky_new_points(X, X, kernel, I, R, nu)
    
    v = np.random.randn(N_X.shape[0])
    lmbda = 1.
    
    x = gaussian_low_rank.apply_left_C(v, X, X, R.T, R_test.T, lmbda)
    y = develop_gaussian_low_rank.apply_left_C_sym(v, X, R.T, lmbda)
    assert_allclose(x, y)