def test_cholesky(self):
     a = np.random.random_integers(-1000, 1000, size=(1000, 1000))
     b = np.random.random_integers(10000, 100000, size=(1000, 1))
     a_sym = (a + a.T)/2
     np.fill_diagonal(a_sym, b)
     assert_array_almost_equal(sp.cholesky(a_sym), cholesky.cholesky_out_of_place(a_sym), decimal=12)
     np.array_equal(cholesky.cholesky_out_of_place(a_sym), cholesky.cholesky_in_place(a_sym))
Exemple #2
0
def solve_cholesky(A, b):
    # virker ikke på grund af at (1.0 / L[k, k]) *  er fjernet.
    L = cholesky.cholesky_out_of_place(A)
    U = L.transpose()
    z = forward_substitution(L, b)
    x = back_substitution(U, z)
    return x