Elifylmu if sorgusunun altında raise var onun önüne 4 satır boşluk bırak pythonda boşlukların yeri ve sayısı önemlidir
yani şu şekilde olmalı
if b != n:
raise ValueError("Invalid argument: incompatible sizes between A & b.", b.size, n)
sana verdiği hatada unexpected indent diyor yani boşluk hatası " : " koyup bir alt satıra geçtiğin zaman alttaki satır 4 karakter önden başlamalı yukarıya yazdığım gibi bunun için kod editörleri kullanabilirsin bunlar onu senin için otomatik ayarlarlar bir de if sorgusunu en başa al yani bir satır boşluk bırakmışsın baştan o boşluğu silmen gerek
kodunun son hali şöyle olmalı
def gaussian_elimination(A: np.ndarray, b: np.ndarray, use_pivoting: bool = True) -> (np.ndarray, np.ndarray):
"""
Gaussian Elimination of Ax=b with or without pivoting.
Arguments:
A : matrix, representing left side of equation system of size: (m,m)
b : vector, representing right hand side of size: (m, )
use_pivoting : flag if pivoting should be used
Return:
A : reduced result matrix in row echelon form (type: np.ndarray, size: (m,m))
b : result vector in row echelon form (type: np.ndarray, size: (m, ))
Raised Exceptions:
ValueError: if matrix and vector sizes are incompatible, matrix is not square or pivoting is disabled but necessary
Side Effects:
-
Forbidden:
- numpy.linalg.*
"""
# Create copies of input matrix and vector to leave them unmodified
A = A.copy()
b = b.copy()
# TODO: Test if shape of matrix and vector is compatible and raise ValueError if not
n = A.shape
if b != n:
raise ValueError("Invalid argument: incompatible sizes between A & b.", b.size, n)
# TODO: Perform gaussian elimination
for i in range (n):
for j in range(i+1,n):
faktor = A[j,i]/A[i,i]
b[j] -= b[i]*faktor
for k in range(i,n):
A[j,k] -= A[i,k] *faktor
return A, b