如何创建上三角矩阵

时间:2017-04-06 00:56:24

标签: python matrix

我需要在给定一组值的情况下创建上三角矩阵(顺序不是输入)。矩阵可能太大而无法手动输入。 array([[ a, b, c], [ 0, d, e], [ 0, 0, f]]) 仅为您提供现有矩阵的上三角形,而不是创建新矩阵。

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

{{1}}

1 个答案:

答案 0 :(得分:2)

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

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)

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