def main():
    from constants import A2_21 as A, b2_21 as b
    start_time = time.time()
    x = solve(A, b)
    solve_time = time.time()
    print("Roots:")
    print_vector(x)
    check_roots(A, x, b)
    det = gk.determinant(A)
    det_time = time.time()
    print
    print("Determinant: {}".format(det))
    print
    inversed = gk.inverse(A)
    inverse_time = time.time()
    print("Inverse matrix:")
    print_matrix(inversed, precision=8)
    print("Check inverse matrix:")
    print_matrix(multiply(inversed, A))

    print("Time elapsed: ")
    print(
        "\tSolution:\t{} ms\n\tDeterminant:\t{} ms\n\tInversion:\t{} ms\n\tOverall:\t{} ms"
        .format((solve_time - start_time) * 1000,
                (det_time - solve_time) * 1000,
                (inverse_time - det_time) * 1000,
                (inverse_time - start_time) * 1000))
Example #2
0
def main():
  from constants import A3_21 as A, b3_21 as b
  start_time = time.time()
  x = solve(A, b)
  solve_time = time.time()
  print("Roots:")
  print_vector(x)
  check_roots(A, x, b)
  print("Time elapsed: ")
  print("\tSolution:\t{} ms".format((solve_time - start_time) * 1000))
Example #3
0
def main():
    from constants import A3_21 as A, b3_21 as b
    start_time = time.time()
    print("Correctness and stability check: {}".format(is_stable(A)))
    check_time = time.time()
    x, det = solve(A, b)
    solve_time = time.time()
    print("Roots:")
    print_vector(x)
    check_roots(A, x, b)
    print
    print("Determinant: {}".format(det))

    print("Time elapsed: ")
    print(
        "\tCheck: \t\t{} ms\n\tSolution:\t{} ms\n-------------\n\tOverall:\t{} ms"
        .format((check_time - start_time) * 1000,
                (solve_time - check_time) * 1000,
                (solve_time - start_time) * 1000))
Example #4
0
for i in xrange(n - 1):
    col = transpose([get_row(L, i)[i:]])
    H = get_householder_reflection_matrix(col)
    if (i != 0):
        for j in xrange(i):
            H = extend_householder_matrix(H)
    L = multiply(L, H)
    Q = multiply(H, Q)
    householders_reflections.append(H)
    params_matrix_list.append(L)

C = []
for i in xrange(len(L)):
    C.append(L[i] + [B[i][0]])

print_matrix(C, round_elem=True)
y = transpose([[backward_left(C, i) for i in xrange(len(C))]])
x = multiply(transpose(Q), y)
print_matrix(x)

check_roots(A, [xi[0] for xi in x], B)

print "\ndetA = detQ * detL = " + str(
    get_determinant(len(householders_reflections), L))
print "\ninv(A) = inv(L) * inv(Q) = inv(L) * Q' (транспонированая) = "
inversed = get_invariant(L, Q)
print_matrix(inversed)
print("Check inverse matrix:")
print_matrix(multiply(inversed, A))