簡體   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