我认为我的问题应该非常简单,但是我在互联网上找不到任何帮助。我很新于Python,所以可能会错过一些非常明显的东西。
我有一个数组S,像这样[x x x](一维)
。现在,我创建了一个对角矩阵sigma
,使用np.diag(S)
- 到目前为止,一切正常。现在,我想调整这个新的对角数组的大小,以便可以将其乘以我拥有的另一个数组。
import numpy as np
...
shape = np.shape((6, 6)) #This will be some pre-determined size
sigma = np.diag(S) #diagonalise the matrix - this works
my_sigma = sigma.resize(shape) #Resize the matrix and fill with zeros - returns "None" - why?
然而,当我打印my_sigma
的内容时,我得到了"None"
。有人能否指点我正确的方向,因为我无法想象这应该是如此复杂。
提前感谢任何帮助!
Casper
图形化:
我有这个:
[x x x]
我想要这个:
[x 0 0]
[0 x 0]
[0 0 x]
[0 0 0]
[0 0 0]
[0 0 0] - or some similar size, but the diagonal elements are important.
numpy.zeros((6,6))
。 - gfortunenp.shape((6, 6))
返回的形状是(2,)
,可能不是您想要的(6,6)
。对 diag 矩阵进行重新整形对我来说没有意义。它里面大多数都是零...不确定您真正想要什么。 - Phil Cooper