怪癖在numpy中所有归一化元素在使用反射镜的QR分解中被分配到0

2024-09-28 22:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

数组中的所有规范化元素都设置为0

我正在尝试为数组创建一个反射器。当我用Python中的第一个元素(x[1:] /= x[0], x[0] = 1)规范化数组中的所有元素时,我只得到第一个元素中的所有0和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])


Tags: inimportnumpyproject元素forasnp
1条回答
网友
1楼 · 发布于 2024-09-28 22:28:34

当我们定义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]

相关问题 更多 >