wrong eigh eigenvectors for complex valued matrix
まだ誰も着手していません。
評価
調査の方向性
Start by reproducing the provided complex-valued matrix example and trace the implementation behind eigh with UPLO::Lower. Compare the eigenvector result for the matrix and its Hermitian conjugate, then add a regression test based on the shown assertions; done means the original matrix's eigenvectors satisfy the eigenvalue equation.
索引モデルが issue の本文から書いたものです。
説明
The resulting eigenvectors for eigh of complex valued matrix is wrong.
If eigh is called with the hermitian conjugate of the matrix,
the resulting eigenvectors are the eigenvectors of the original matrix.
let values = vec![
c64::new(1.0, 0.0), c64::new(0.0, -2.0),
c64::new(0.0, 2.0), c64::new(5.0, 0.0),
];
let matrix = Array2::<c64>::from_shape_vec([2; 2], values).unwrap();
// assertion passed
let (eigvalues, eigvecs) = matrix.t().mapv(|v| v.conj()).eigh(UPLO::Lower).unwrap();
for i in 0 .. 2 {
let dot = matrix.dot(&eigvecs.column(i));
let mul = &eigvecs.column(i).mapv(|c| c*eigvalues[i]);
assert_close_l2!(&dot, &mul, 1.0e-10);
}
// assertion failed.
let (eigvalues, eigvecs) = matrix.eigh(UPLO::Lower).unwrap();
for i in 0 .. 2 {
let dot = matrix.dot(&eigvecs.column(i));
let mul = &eigvecs.column(i).mapv(|c| c*eigvalues[i]);
assert_close_l2!(&dot, &mul, 1.0e-10);
}
- 主要言語
- Rust
- スター
- 452
- フォーク
- 95
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
rust-ndarray/ndarray-linalg のほかの issue
-
Thin SVD オープン
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
rust-ndarray/ndarray-linalg#414 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
rust-ndarray/ndarray-linalg#413 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
rust-ndarray/ndarray-linalg#404 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
rust-ndarray/ndarray-linalg#402 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
rust-ndarray/ndarray-linalg#401 · リアクション 2 件 ·
rust-ndarray/ndarray-linalg の issue をすべて見る
似ている issue
-
bug github_actions
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
registrystack/registry-stack#1393 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
longbridge/gpui-kit#3223 ·
-
bug engine
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
rocky-data/rocky#2181 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
oasisprotocol/oasis-sdk#2523 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. オープンbot:ai-assisted component:indexer QA-roadmap status:untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
midnightntwrk/midnight-indexer#1557 ·