如何在python中从随机数创建非奇异对称矩阵?

如何在python中从随机数创建非奇异对称矩阵?,python,tensorflow,tensorflow-probability,Python,Tensorflow,Tensorflow Probability,我想用随机实数创建一个非奇异对称矩阵 例如,我想使用随机生成的实数创建一个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.t

我想用随机实数创建一个非奇异对称矩阵

例如,我想使用随机生成的实数创建一个
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()(数字列表)
将从三角形大小的数字列表中为您生成psd cholesky因子。
tfb.CholeskyOuterProduct()
将生成协方差矩阵。 可以编写组合
bij=tfb.CholeskyOuterProduct()(tfb.FillScaleTriL());bij(编号列表)