Exemplo n.º 1
0
def solve(A, b):
  n = len(A)
  L, U = lu(A)
  y = []
  Lb = append_column(L, b)
  for row in xrange(n):
    y.append(gk.backward_left(Lb, row))
  Uy = append_column(U, [[e] for e in y])
  x = []
  for row in xrange(n - 1, -1, -1):
    x.append(gk.backward_right(Uy, row))
  x.reverse()
  return x
def main():
    from constants import A2, b2
    n = len(A2)
    L, U = lu(A2)
    y = []
    Lb = gk.append_column(L, b2)
    for row in xrange(n):
        y.append(gk.backward_left(Lb, row))
    Uy = gk.append_column(U, [[e] for e in y])
    x = []
    for row in xrange(n - 1, -1, -1):
        x.append(gk.backward_right(Uy, row))
    x.reverse()
    check(A2, x, b2)
def solve(A, b):
    n = len(A)
    U = getU(A)
    gk.print_matrix(U)
    Ut = transpose(U)

    y = []
    Utb = gk.append_column(Ut, b)
    for row in xrange(n):
        y.append(gk.backward_left(Utb, row))
    print(y)
    Uy = gk.append_column(U, [[e] for e in y])
    x = []
    for row in xrange(n - 1, -1, -1):
        x.append(gk.backward_right(Uy, row))
    x.reverse()
    return x, U
Exemplo n.º 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))