欢迎光临散文网 会员登陆 & 注册

施密特正交化

2023-07-29 12:07 作者:耿大哥讲算法  | 我要投稿

import numpy as np
A=np.mat([[1,3 ,-2],
         [1,3 ,0],
         [1,-1,6],
         [1,-1,8]])
if np.linalg.matrix_rank(A)<A.shape[1]:
   print('A中的列向量组线性相关,不能正交化!')
else:
   print('A中的列向量组线性无关,可以正交化!')
   a=[A[:,i] for i in range(A.shape[1])]
   def b(i):
       if i==0:return a[0]
       else:
           return a[i]-sum(float(a[i].T*b(k)/(b(k).T*b(k)))*b(k) for k in range(i))
   B=b(0)
   for i in range(1,A.shape[1]):B=np.column_stack((B,b(i)))
   print(B)

施密特正交化的评论 (共 条)

分享到微博请遵守国家法律