簡體   English   中英

如何從 python 中的隨機數創建非奇異對稱矩陣?

[英]How to create non-singular symmetric matrix from random numbers in python?

我想使用隨機實數創建一個非奇異對稱矩陣。

例如,我想使用隨機生成的實數創建一個3*3非奇異對稱矩陣

number_list= [a,b,c,d,e,f]

我嘗試了以下方法,但有時我會得到奇異矩陣。

  upper = tfp.math.fill_triangular(number_list, upper=True)
  
  symm= 0.5 * (upper + tf.transpose(upper, perm=[0,2,1]))
 
  final =tf.matmul(symm, tf.transpose(symm, perm=[0,2,1]))

tfp.bijectors.FillScaleTriL()(number_list)將從三角形大小的數字列表中為您創建一個 psd cholesky 因子。 tfb.CholeskyOuterProduct()將創建一個協方差矩陣。 組合可以寫成bij = tfb.CholeskyOuterProduct()(tfb.FillScaleTriL()); bij(number_list) bij = tfb.CholeskyOuterProduct()(tfb.FillScaleTriL()); bij(number_list)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM