4
インデックスを使用した対称正定行列の生成
CGのテストケースを実行しようとしていましたが、以下を生成する必要があります。 対称正定行列 サイズ> 10,000 フルデンス 行列インデックスのみを使用し、必要に応じて1つのベクトル(A(i,j)=x(i)−x(j)(i+j)A(i,j)=x(i)−x(j)(i+j)A(i,j) = \dfrac{x(i) - x(j)}{(i+j)}) 条件番号が1000未満。 私が試してみました: を使用A=rand(N,N)してランダム行列を生成し、それA'AをSymにします。PD。[これにより条件数が増加します] 示されているようにベクトルのアプローチを使用しますが、(x,i,j)SymとPDを確実にする関数を取得できないようです。 多くの実験の後、私は思いつきました: a(it,jt) = (vec(it)+vec(jt))/((it-1)^2+(jt-1)^2);もしit≠jtit≠jtit \neq jt a(it,it) = x(it)もしit=jtit=jtit=jt しかし、これは約500x500までのPDです。 XLATMR。[すべてのグレーディングとスケーリングでは、理解するのが難しすぎます。特に、基礎となる線形代数が理解できないため] 誰かが上記の要件を満たすx(ベクトル)とi、j(指数)の関数をくれますか?