【发布时间】:2020-07-24 19:26:46
【问题描述】:
我有矩阵
J_plus =
[[ 0.0609698 -0.00022921 -0.00022921 ... -0.00022921 -0.00022921
-0.00022921]
[-0.00022921 0.0609698 -0.00022921 ... -0.00022921 -0.00022921
-0.00022921]
[-0.00022921 -0.00022921 0.0609698 ... -0.00022921 -0.00022921
-0.00022921]
...
[-0.00022921 -0.00022921 -0.00022921 ... 0.0609698 -0.00022921
-0.00022921]
[-0.00022921 -0.00022921 -0.00022921 ... -0.00022921 0.0609698
-0.00022921]
[-0.00022921 -0.00022921 -0.00022921 ... -0.00022921 -0.00022921
0.0609698 ]]
和
J_minus:
[[ 4.46319168e-02 -8.94427191e-05 -8.94427191e-05 ... -8.94427191e-05
-8.94427191e-05 -8.94427191e-05]
[-8.94427191e-05 4.46319168e-02 -8.94427191e-05 ... -8.94427191e-05
-8.94427191e-05 -8.94427191e-05]
[-8.94427191e-05 -8.94427191e-05 4.46319168e-02 ... -8.94427191e-05
-8.94427191e-05 -8.94427191e-05]
...
[-8.94427191e-05 -8.94427191e-05 -8.94427191e-05 ... 4.46319168e-02
-8.94427191e-05 -8.94427191e-05]
[-8.94427191e-05 -8.94427191e-05 -8.94427191e-05 ... -8.94427191e-05
4.46319168e-02 -8.94427191e-05]
[-8.94427191e-05 -8.94427191e-05 -8.94427191e-05 ... -8.94427191e-05
-8.94427191e-05 4.46319168e-02]]
如何创建矩阵
J = [[J_plus 0];
[0 J_minus]]
所以最终的矩阵应该是一个 2X2 对角矩阵,其中 J_plus 和 J_minus 作为对角元素,像这样
J = [ J_plus 0;
0 J_minus]
在 numpy 中?
【问题讨论】:
-
你可以使用np.block。
-
shape和dtype的结果是什么?你打算用它做什么? -
尝试分配您喜欢的形状的矩阵并使用切片进行分配,例如
M[0, 0:-1] = J_plus. -
是的@desertnaut,因为这个方程来自机器学习论文,所以我错误地贴上了机器学习的标签。
标签: python-3.x numpy matrix scipy