Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.96 KB | None | 0 0
  1. import numpy as np
  2.  
  3. def GS(A):
  4.     aa = A.T
  5.     n = len(aa)
  6.     qq = np.zeros((n,len(aa[0])))
  7.     R = np.zeros((n,n))
  8.    
  9.     for k in range(n):
  10.         s = 0
  11.         for j in range(k):
  12.             r = qq[j] @ aa[k]
  13.             s += r * qq[j]
  14.             R[j][k] = r
  15.         r = np.linalg.norm(aa[k] - s)
  16.         qq[k] = (aa[k] - s)/r
  17.         R[k][k] = r
  18.        
  19.     return qq.T,R
  20.  
  21. def GS_mod(A):
  22.     aa = A.T
  23.     n = len(aa)
  24.     qq = np.zeros((n,len(aa[0])))
  25.     R = np.zeros((n,n))
  26.    
  27.     for k in range(n):
  28.         qq[k] = aa[k]
  29.         for i in range(k):
  30.             qq[k], R[i][k] = qq[k] - qq[i]*(qq[i]@qq[k]), qq[i]@qq[k]
  31.         r = np.linalg.norm(qq[k])
  32.         qq[k] /= r
  33.         R[k][k] = r
  34.        
  35.     return qq.T,R
  36.  
  37.    
  38. A = np.array([[0,1,1],
  39.               [3,0,1],
  40.               [4,1,3]])
  41. B = np.array([[3,2],
  42.               [1,2],
  43.               [2,2]])
  44.  
  45.  
  46. Q,R = GS(A)
  47. print(Q@R, " \n")
  48. Q,R = GS_mod(A)
  49. print(Q@R)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement