繁体   English   中英

如何创建上三角矩阵

[英]How to create an upper triangular matrix

我需要创建给定一组值的上三角矩阵(顺序不是导入)。 矩阵可能太大而无法手动输入。 np.triu仅给您现有矩阵的上三角,而不创建新矩阵。

我正在做一些优化以获得协方差矩阵的上三角cholesky根的参数。 我的参数是一些协方差矩阵的上三角cholesky根。 要初始化,我需要将参数值放在上三角的位置。

array([[ a,  b,  c],
       [ 0,  d,  e],
       [ 0,  0,  f]])

我有同样的问题,所以我不想离开这个答案。 根据@DSM的建议,我创建了以下函数:

import numpy as np

def create_upper_matrix(values, size):
    upper = np.zeros((size, size))
    upper[np.triu_indices(3, 0)] = values
    return(upper)

c = create_upper_matrix([1, 2, 3, 4, 5, 6], 3)
print(c)

可以通过添加从数据推断所需矩阵大小的功能来改善这一点,但目前它依赖于用户提供该信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM