Python/arithmetic_analysis/lu_decomposition.py
Rafael García Cuéllar beafe3656f Re-design psnr.py code and change image names (#592)
* Change some Image File names & re-code the psnr algorithm (conserving both methods). Also Added new example.

* Selected psnr method and reformat some code from arithmetic_analysis
2018-11-05 18:19:08 +01:00

33 lines
944 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# lowerupper (LU) decomposition - https://en.wikipedia.org/wiki/LU_decomposition
import numpy
def LUDecompose (table):
# Table that contains our data
# Table has to be a square array so we need to check first
rows,columns=numpy.shape(table)
L=numpy.zeros((rows,columns))
U=numpy.zeros((rows,columns))
if rows!=columns:
return []
for i in range (columns):
for j in range(i-1):
sum=0
for k in range (j-1):
sum+=L[i][k]*U[k][j]
L[i][j]=(table[i][j]-sum)/U[j][j]
L[i][i]=1
for j in range(i-1,columns):
sum1=0
for k in range(i-1):
sum1+=L[i][k]*U[k][j]
U[i][j]=table[i][j]-sum1
return L,U
if __name__ == "__main__":
matrix =numpy.array([[2,-2,1],
[0,1,2],
[5,3,1]])
L,U = LUDecompose(matrix)
print(L)
print(U)