Eigenの疎行列の対角を編集する最も速い方法は何ですか?私はすでにトリプレットを使ってそれを埋めましたが、時にはすべての対角値を変更する必要があります(既にゼロ以外に設定されています)。スパース行列の固有対角更新
答えて
許容できる場合は、各アクセスはバイナリ検索を必要とするとして、あなたは、単に
sp_mat(i, i)
のように、それぞれのインデックスを使用することができ、パフォーマンスは満足できない場合があります。この場合でも、いくつかの制限事項でより良いパフォーマンスを達成することができます。
- マトリックスのレイアウトを変更することはありません。追加/削除nnzs、圧縮;
- 対角線に繰り返しアクセスします。
これらの制限を使用すると、後でO(1)時間後にデータにアクセスできるように対角コンポーネントのポインタを格納できます。あなたはkangshiyinの答えを完了するために
&sp_mat(i, i)
でポインタを得ることができる、あなたはまた、各対角要素に1を追加するたとえば、密ベクトル表現を通じて対角線を編集することができます:警告
sp_mat.diagonal().array() += 1;
:対角要素がすでに存在する場合にのみ動作します。これは元の質問の場合です。
私にとっては、要素はすでに存在します。ポインタを格納して直接変更するよりも速く/遅くなることを表現すると思いますか? – cgreen
この方法では毎回バイナリ検索が行われますが、場合によっては書きやすくなります。 – ggael
v3.2.9で.diagonal()を使用できますか? – kangshiyin
- 1. Numpy - Modal行列と対角固有値
- 2. 固有:「対角線」
- 3. スパース固有値:scipy.sparse.linalg.eigs scipy.linalg.eigvals
- 4. C++固有スパース行列の特定の(行、列)インデックスにアクセスするには?
- 5. scipyのスパース行列から対角要素を削除する
- 6. scipyスパース行列の対角要素を返す
- 7. 固有からスパース行列を変換する::カスプに疎行列:: hyb_matrix
- 8. 固有対称正定行列
- 9. エンティティフレームワークコア更新データベース固有の移行
- 10. 固有スパースLUソルバの戻り値
- 11. Tensorflowのスパース行列三角解法?
- 12. scipyスパース行列の対称化
- 13. 固有値の固有ベクトル行列
- 14. 固有LU対角右辺コンパイルエラー
- 15. MySQL固有の更新クエリ
- 16. 圧縮スパース列(CSC)または圧縮スパース行(CSR)スパース行列?
- 17. 4倍精度固有値、固有ベクトルおよび行列対数
- 18. スパース行列
- 19. 角型配列プッシュ固有のインデックス
- 20. スパース行列のプロットヒートマップ
- 21. 列のブロック対角行列
- 22. R - 非常に大きなスパース行列の列を更新する
- 23. 更新固有のID 2008 R2
- 24. WCF加入者固有の更新?
- 25. 固有値:三角行列を見つける
- 26. scipyスパース行列インデックス
- 27. スパース行列をスパース行列に変換する方法R
- 28. pyspark:スパース行列をscipyスパース行列にする
- 29. Pythonでスパース行列をスパース行列に追加するには?
- 30. 行列の行列対角要素
これはまさに私の条件です。それらの位置へのポインタにアクセスする方法を知っていますか? – cgreen
@cgreen use '&' – kangshiyin