Advertisement
Guest User

crout_parcial

a guest
Apr 20th, 2014
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | None | 0 0
  1. n = int(raw_input())
  2. A = []
  3.  
  4. for i in range(n):
  5.     A.append([])
  6.     for j in range (n):
  7.         A[i].append(float(raw_input()))
  8.  
  9. a = []
  10. L = []
  11. U = []
  12.  
  13. for i in range(n):
  14.     a.append([])
  15.     for j in range(n):
  16.         a[i].append(A[i][j])
  17.  
  18. for i in range(n):
  19.     L.append([])
  20.     U.append([])
  21.     for j in range(n):
  22.         L[i].append(0.0)
  23.         U[i].append(0.0)
  24.  
  25.  
  26. print'\n\n\nMatriz A:\n\n'
  27.  
  28. for i in range(n):
  29.     for j in range(n):
  30.         print a[i][j],
  31.     print'\n'
  32.  
  33. print '\n\n'
  34.  
  35.  
  36. cont = 0
  37.  
  38. for k in range (n):
  39.     pos = k
  40.     maxi = -1000000000000.0
  41.     for i in range(k,n):
  42.         res = 0.0
  43.         for p in range(k):
  44.             res += L[i][p]*U[p][k]
  45.             cont+=2
  46.         L[i][k] = a[i][k]-res
  47.         #a[i][k]=L[i][k]
  48.         cont+=1
  49.  
  50.     for i in range(k,n):   
  51.         if maxi < abs(a[i][k]):
  52.             pos = i
  53.    
  54.     a[pos], a[k] = a[k], a[pos]
  55.  
  56.     for i in range (k,n):
  57.         res = 0.0
  58.         for p in range(k):
  59.             res += L[k][p]*U[p][i]
  60.             cont+=2
  61.         U[k][i] = (a[k][i]-res)/L[k][k]
  62.         cont+=2
  63.  
  64.  
  65. for i in range(n):
  66.     for j in range(n):
  67.         print L[i][j],
  68.     print'\n'
  69.  
  70. print '\n\n'
  71.  
  72. for i in range(n):
  73.     for j in range(n):
  74.         print U[i][j],
  75.     print '\n'
  76. print '\n\n'
  77.  
  78. print cont
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement