Пример #1
0
def test_cholesky_contract_scalar_direct_upper_identical(test_mat):
    """test cholesky_contract with a scalar"""
    A_i = test_mat.A_i.copy()
    A_test = test_mat.A.copy()
    vec1 = np.random.rand(A_i.shape[0])
    vec2 = vec1
    contract_res = np.dot(np.dot(vec1.T,A_test),vec2)
    contract_res_test = cholesky_contract(A_test,vec1,vec2,cholesky_given=False,identical_inputs=True,lower=False)

    atol_loc = np.max(np.abs(contract_res))*atol_rel_use

    assert np.allclose(contract_res,contract_res_test,atol=atol_loc,rtol=rtol_use)
Пример #2
0
def test_cholesky_contract_matrix_direct_upper(test_mat):
    """test cholesky_contract with a general matrix"""
    A_i = test_mat.A_i.copy()
    A_test = test_mat.A.copy()
    dim1 = A_i.shape[0]
    if dim1==1:
        dim2 = 1
    else:
        dim2 = dim1-1
    vec1 = np.random.rand(dim1,dim2)
    vec2 = np.random.rand(dim1,dim2)
    contract_res = np.dot(np.dot(vec1.T,A_test),vec2)
    contract_res_test = cholesky_contract(A_test,vec1,vec2,cholesky_given=False,identical_inputs=False,lower=False)

    atol_loc = np.max(np.abs(contract_res))*atol_rel_use

    assert np.allclose(contract_res,contract_res_test,atol=atol_loc,rtol=rtol_use)