-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
46 lines (36 loc) · 1.09 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from numericalanalysis.dimension_exception import DimensionErrorException
from numericalanalysis.linear_solver import *
from numericalanalysis.lu import lu_decomposition, print_system, print_matrix
from numericalanalysis.matrix import Matrix
from numericalanalysis.vector import Vector
def main():
try:
a = Matrix([
[1, 2, 4, 4],
[1, 1, 1, 2],
[1, 2, 1, 1],
[0, 0, 2, 3]])
b = Vector([68, 24, 26, 32])
# a = Matrix([[4, 1, 2, -1],
# [3, 6, -1, 2],
# [2, -1, 5, -3],
# [4, 1, -3, -8]])
# b = Vector([2, -1, 3, 2])
l, u = lu_decomposition(a)
y, x = solve(l, u, b)
# print("A: {}".format(a))
# print("b: {}".format(b))
# print()
print_system(a, b)
print()
print_matrix(l)
print()
print_matrix(u)
print()
# print_system(u, x)
print("x: {}".format(x))
print()
except DimensionErrorException as e:
print(e)
if __name__ == "__main__":
main()