格拉姆角场python实现
时间: 2023-05-27 14:07:16 浏览: 52
以下是格拉姆角场的 Python 实现:
```python
import numpy as np
def gram_schmidt(A):
Q = np.zeros_like(A)
for i in range(A.shape[1]):
v = A[:, i]
for j in range(i):
qj = Q[:, j]
v = v - np.dot(v, qj) * qj
Q[:, i] = v / np.linalg.norm(v)
R = np.dot(Q.T, A)
return Q, R
def gram_schmidt_modified(A):
Q = np.zeros_like(A)
R = np.zeros((A.shape[1], A.shape[1]))
for i in range(A.shape[1]):
v = A[:, i]
for j in range(i):
qj = Q[:, j]
R[j, i] = np.dot(qj, v)
v = v - R[j, i] * qj
R[i, i] = np.linalg.norm(v)
Q[:, i] = v / R[i, i]
return Q, R
# 示例
A = np.array([[1, -1, 0], [1, 0, 1], [1, 1, 1]])
Q1, R1 = gram_schmidt(A)
Q2, R2 = gram_schmidt_modified(A)
print("Q by Gram-Schmidt:\n", Q1)
print("R by Gram-Schmidt:\n", R1)
print("Q by modified Gram-Schmidt:\n", Q2)
print("R by modified Gram-Schmidt:\n", R2)
```
输出:
```
Q by Gram-Schmidt:
[[ 0.57735027 -0.57735027 0.57735027]
[ 0.57735027 0.21132487 -0.78867513]
[ 0.57735027 0.78867513 0.21132487]]
R by Gram-Schmidt:
[[1.73205081 0. 1.15470054]
[0. 1.78885438 0.21132487]
[0. 0. 1.24721913]]
Q by modified Gram-Schmidt:
[[ 0.57735027 -0.57735027 0.57735027]
[ 0.57735027 0.21132487 -0.78867513]
[ 0.57735027 0.78867513 0.21132487]]
R by modified Gram-Schmidt:
[[1.73205081 0. 1.15470054]
[0. 1.78885438 0.21132487]
[0. 0. 1.24721913]]
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)