Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- def GS(A):
- aa = A.T
- n = len(aa)
- qq = np.zeros((n,len(aa[0])))
- R = np.zeros((n,n))
- for k in range(n):
- s = 0
- for j in range(k):
- r = qq[j] @ aa[k]
- s += r * qq[j]
- R[j][k] = r
- r = np.linalg.norm(aa[k] - s)
- qq[k] = (aa[k] - s)/r
- R[k][k] = r
- return qq.T,R
- def GS_mod(A):
- aa = A.T
- n = len(aa)
- qq = np.zeros((n,len(aa[0])))
- R = np.zeros((n,n))
- for k in range(n):
- qq[k] = aa[k]
- for i in range(k):
- qq[k], R[i][k] = qq[k] - qq[i]*(qq[i]@qq[k]), qq[i]@qq[k]
- r = np.linalg.norm(qq[k])
- qq[k] /= r
- R[k][k] = r
- return qq.T,R
- A = np.array([[0,1,1],
- [3,0,1],
- [4,1,3]])
- B = np.array([[3,2],
- [1,2],
- [2,2]])
- Q,R = GS(A)
- print(Q@R, " \n")
- Q,R = GS_mod(A)
- print(Q@R)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement