You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

提取numpy数组下三角值后如何还原为原始2D下三角矩阵形式

解决方案

你可以直接利用之前生成的下三角索引lower_idx,按如下步骤恢复矩阵:

  1. 先初始化一个和原矩阵形状一致的全零数组
  2. 将提取到的数值列表直接赋值到全零数组对应索引位置即可

完整代码示例

import numpy as np

# 你原有操作流程
arr_g = np.tril(np.random.rand(3, 3), -1)
lower_idx = np.tril_indices_from(arr_g)
A_1 = list(arr_g[lower_idx])

# 恢复下三角矩阵代码
recovered_mat = np.zeros_like(arr_g)
recovered_mat[lower_idx] = A_1

# 输出验证
print(recovered_mat)

补充说明

如果丢失了之前的lower_idx,只要你确认原矩阵是3阶、提取的是主对角线往下偏移1位的下三角(对应你原代码里tril的参数-1),可以重新生成对应索引再赋值:

# 重新生成相同规则的下三角索引
lower_idx = np.tril_indices(n=3, k=-1)
recovered_mat = np.zeros((3, 3))
recovered_mat[lower_idx] = A_1

tril_indices生成的索引顺序和你提取下三角元素的顺序完全一致,赋值后自动填充对应位置,其余位置保持0值,刚好符合你需要的下三角矩阵格式。

内容的提问来源于stack exchange,提问作者rpb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 02:51:01