Feat: Add tp5
This commit is contained in:
42
ex1.py
Normal file
42
ex1.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import numpy as np
|
||||
|
||||
|
||||
def resolve_up(A: np.array, b: np.array) -> np.array:
|
||||
x = np.zeros(len(b))
|
||||
for i in range(len(A) - 1, -1, -1):
|
||||
right_of_diagonal = 0.0
|
||||
for k in range(i+1, len(A)):
|
||||
right_of_diagonal += A[i, k] * x[k]
|
||||
x[i] = (b[i] - right_of_diagonal) / A[i,i]
|
||||
return x
|
||||
|
||||
|
||||
def resolve_down(A: np.array, b: np.array) -> np.array:
|
||||
x = np.zeros(len(b))
|
||||
for i in range(len(A)):
|
||||
sum = 0.0
|
||||
for k in range(i):
|
||||
sum += A[i,k] * x[k]
|
||||
x[i] = (b[i] - sum) / A[i, i]
|
||||
return x
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
A = np.array([
|
||||
[2, 4, -6],
|
||||
[0, -1, 1],
|
||||
[0, 0, -2],
|
||||
], dtype=float)
|
||||
|
||||
b = np.array([2, 3, -7], dtype=float)
|
||||
|
||||
A_down = np.array([
|
||||
[2, 0, 0],
|
||||
[4, -1, 0],
|
||||
[-6, 1, -2],
|
||||
])
|
||||
|
||||
b_down = np.array([2, 3, -7])
|
||||
|
||||
print(resolve_up(A, b))
|
||||
print(resolve_down(A_down, b_down))
|
||||
Reference in New Issue
Block a user