Python numpy中的怪癖-在使用反射器的QR分解中,所有规范化元素都被指定为0
数组中的所有规范化元素都设置为0 我正在尝试为阵列创建反射器。在Python中,当我通过第一个元素Python numpy中的怪癖-在使用反射器的QR分解中,所有规范化元素都被指定为0,python,numpy,linear-algebra,numerical-methods,qr-decomposition,Python,Numpy,Linear Algebra,Numerical Methods,Qr Decomposition,数组中的所有规范化元素都设置为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] =
(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]
使用浮点数组或使用python 3。或者使用来自未来导入部门的
。所以整数的除法不会导致整数除法。谢谢当你在Matlab课程中使用Python的时候,这是一个需要考虑的问题。