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

如何在Python中基于系数向量生成对应下三角矩阵

Python实现系数向量生成下三角矩阵

先明确矩阵生成规则:假设系数向量c长度为m,要生成n×n下三角矩阵A,元素取值规则为:

对任意元素A[i][j],当i≥j且i-j < m时,A[i][j] = c[i-j],其余位置为0。

你需要的通用实现有两种常用方案:

  • 嵌套循环实现:逻辑直观,适合小规模矩阵场景,符合你提到的嵌套循环思路:
def generate_lower_triangular(c, n):
    # 初始化全0矩阵
    A = [[0]*n for _ in range(n)]
    m = len(c)
    for i in range(n):
        for j in range(i+1):
            diff = i - j
            if diff < m:
                A[i][j] = c[diff]
    return A

# 测试用例
c = [0, 1, 0]
# 生成4阶下三角矩阵
print(generate_lower_triangular(c, 4))

运行输出为:

[[0, 0, 0, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0]]
  • NumPy向量化实现:无显式循环,性能更高,适合大规模矩阵计算场景:
import numpy as np

def generate_lower_triangular_np(c, n):
    m = len(c)
    row_idx = np.arange(n)
    col_idx = np.arange(n)
    diff = row_idx[:, None] - col_idx
    return np.where((diff >= 0) & (diff < m), np.array(c)[diff], 0)

# 测试用例
c = [0,1,0]
print(generate_lower_triangular_np(c, 4))

运行输出和循环实现完全一致。

你可以根据自己的使用场景选择对应方案,若需要矩阵阶数和系数向量长度相等,直接将参数n设置为len(c)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:45:01