Test coverage gaps: structured adjoint/matrix-RHS matvec, cached-LS value updates, and lstsq generic-eltype / guard boundary are untested
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 52/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- julia
- 領域
- testing-qa
調査の方向性
まず test/test_matvec.jl、test_lstsq.jl、test_generic_eltypes.jl、および lstsq.jl の κ̂(S) guard を PR #6 を文脈として読んでください。指定された adjoint、matrix-RHS、cached-factorization、generic-eltype、guard-boundary、singular-S のテストを追加してください。完了とは、列挙された回帰と告知された機能がカバーされていることを意味します。
索引モデルが issue の本文から書いたものです。
説明
WHAT: (a) test/test_matvec.jl has no adjoint/transpose test at all (grep for adjoint|transpose returns nothing) — the 'load-bearing' structured adjoint with subtle cnj/Sop conjugation logic, the 5-arg mul!, and the matrix-RHS adjoint (the 3000x regression) are all uncovered; this is why that regression went unnoticed. (b) The cached LS factorization is only ever built once (test_lstsq.jl:213-244); no value-update test, so the new LS refactor! would ship without a regression net. (c) test_generic_eltypes.jl never calls lstsq, so the BigFloat-iterative capability would be untested once enabled; it also tests Dual through factorize but not through qr(A)\b (verified working but advertised-and-untested, fragile vs backend updates). (d) The κ̂(S) guard (lstsq.jl:208-210) is tested only at one extreme (κ≈5e13 rejected); no boundary test pinning a safe ill-conditioned S that must NOT be rejected, and :iterative is never tested on a genuinely singular-S A (its stated reason to exist). WHY IT MATTERS: Locks in the matvec/LS-refactor/eltype fixes and guards the guard heuristic against false-positive regressions. FIX: Add tests for A'*u and transpose(A)*u (real+complex, selector+dense U), the 5-arg form, matrix-RHS A'*X (after the matrix-adjoint fix); LS refactor! vs fresh build; lstsq(BigFloat; :iterative) vs pinv; ForwardDiff through qr(A)\b; a borderline-conditioned S the guard must accept; :iterative on a large general-singular-S A. EFFORT: S-M.
Priority: medium. Filed from an automated next-steps audit of the QR/lstsq work (see PR #6).
- 主要言語
- Julia
- スター
- 1
- フォーク
- 1
- 平均マージ
- 3時間 21分
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
SciML/SparseWithDenseRowColMatrices.jl のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
SciML/SparseWithDenseRowColMatrices.jl#25 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
SciML/SparseWithDenseRowColMatrices.jl の issue をすべて見る
似ている issue
-
`AMSGrad` state starts at `epsilon` instead of zero, so zero gradients move parameters and small gradients are damped対応中かも @parth-patel010 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
FluxML/Optimisers.jl#247 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
OpenFUSIONToolkit/GPEC#644 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
SciML/DataDrivenDiffEq.jl#694 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
JuliaLang/LinearAlgebra.jl#1834 ·
メンテナーはふだん 1 日以内に返信