【发布时间】:2021-05-17 14:58:26
【问题描述】:
我有形状为 [100,100] 的矩阵 a 和形状相同的矩阵 b [100,100]。它们填充了一些值。
我想做的是为a和b的每个元素构建这样的对角矩阵[[a1,0],[0,b1]]。
最好的方法是什么?
我相信预期的形状是数组 c = [2,2,100,100],其中第一个 [2,2] 表示一个对角矩阵的形状,总共有 [100,100] 个这样的数组。
F.e.假设我的 a = [[1,2],[3,4]], b = [[5,6],[7,8]] 。我想要得到:arr1 = [[1,0],[0,5]], array2 = [[2,0],[0,6]],等等..所以,最终的形状是[2,2,4,4]
谢谢!
【问题讨论】:
-
你考虑过使用
numpy.diag吗? -
生成的矩阵应该是什么形状?
-
请始终考虑显示真实输出,这样更容易理解;)
-
我相信预期的形状是数组 c = [2,2,100,100],其中第一个 [2,2] 表示一个对角矩阵的形状,总共有 [100,100] 个这样的矩阵数组。
-
F.e.假设我的 a = [[1,2],[3,4]], b = [[5,6],[7,8]] 。我想要得到:arr1 = [[1,0],[0,5]], array2 = [[2,0],[0,6]],等等..所以,最终的形状是[2,2,4,4]
标签: python arrays numpy diagonal