数组中的所有规范化元素都设置为0。
我正试图为一个阵列创建一个反射器。当我用Python中的第一个元素(x[1:] /= x[0], x[0] = 1)
规范化数组中的所有元素时,我只得到第一个元素中的所有零和一个1。
import numpy as np
#project x via householder
u = np.array([9,4,1,3,1])
x = np.array([3,4,1,3,1])
for i in range(1,len(u)):
u[i] /= u[0]
u[0] = 1
结果应该像这个(u = [1, 4/9, 1/9, 3/9, 1/9])
当我们定义一个numpy数组时,我们可以通过在np.array.中指定dtype来定义它的类型
import numpy as np
#project x via householder
u = np.array([9,4,1,3,1], dtype = np.float64)
for i in range(1,len(u)):
u[i] /= u[0]
u[0] = 1
print(u)
给我们
[1. 0.44444444 0.11111111 0.33333333 0.11111111]