Python:提取矩阵的上三角部分并将其放回原处

Posted

技术标签:

【中文标题】Python:提取矩阵的上三角部分并将其放回原处【英文标题】:Python: extract upper triangular part of a matrix and put it back 【发布时间】:2021-06-23 12:57:00 【问题描述】:

我有一个 n 行 n 列的方阵 A。

我提取了矩阵的上三角部分:

Arr = A[np.triu_indices(n, k = 1)]

我已经对数组 Arr 进行了一些操作,现在我想从这个数组重建一个 nxn 矩阵,将每个元素放在它所属的原始位置,并将矩阵的所有其他元素设置为零。

我该怎么做?

【问题讨论】:

【参考方案1】:

所以Arr是上三角部分,你修改它,然后把它放在一个新的矩阵中,上面部分是零,其余部分为零?

试试这个:

upper_indices = np.triu_indices(n, k = 1)
Arr = A[upper_indices]

# Do stuff with Arr

result = np.zeros((n, n))
result[upper_indices] = modified_Arr

【讨论】:

以上是关于Python:提取矩阵的上三角部分并将其放回原处的主要内容,如果未能解决你的问题,请参考以下文章

从下/上三角矩阵中给出一个元素

python 从发电机获取第一个项目,但将其放回原来使原始发电机完好无损。

数据结构-矩阵矩阵的相关公式推导

std::accumulate() 仅是复数 std::vector 的实部

text 从S3获取JSON对象,将其解析为CSV,然后将其放回S3

Xamarin 表单反向 PushModalAsync