注:私はすでにこの質問をしましたが、「広すぎる」ため、あまり説明がありませんでした。この質問がどのように具体的になるかわかりません (特定の使用法のために特定のライブラリの特定のクラスを扱っています...)。 ..
疎行列で固有値を使用して、疎行列/行列乗算を実行したいと思います。これらの行列は、標準の 3 配列圧縮行/列ストレージで作業しているコードで既に定義されています。
次に、メモリ内で行列が重複しないようにするために、これらの配列のラッパーとして Eigen::SparseMatrix クラスを使用したいと思います (内部的に Eigen がそのような 3 配列ストレージを使用すると仮定します)。次のようなことをしたいと思います。
Eigen::SparseMatrix smin0(n,m);
Eigen::SparseMatrix smin1(m,l);
Eigen::SparseMatrix smout(n,l);
smin0.set_innerPtr(myInnerPtr0);
smin0.set_outerPtr(myOuterPtr0);
smin0.set_valuePtr(myValuePtr0);
smin1.set_innerPtr(myInnerPtr1);
smin1.set_outerPtr(myOuterPtr1);
smin1.set_valuePtr(myValuePtr1);
smout=smin0*smin1;
int *myOutInnerPtr=smout.innerIndexPtr();
int *myOutOuterPtr=smout.outerIndexPtr();
double *myOutValuePtr=smout.valuePtr();
それは可能ですか?
どうもありがとう