`lstsq(alg=:iterative)` blanket-rejects non-BLAS eltypes, yet the iterative engine works in BigFloat
まだ誰も着手していません。
評価
調査の方向性
src/lstsq.jl:30-41 の _check_lstsq_eltype と、ext/...IterativeSolversExt.jl:22 の反復エントリポイントから始め、3つのエンジンがガードをどのように適用しているかを比較する。要求された Int 拒否テストと BigFloat の反復テストを追加し、その後 docstring/README を更新して、:dense と :structured に対する BLAS-only の制限を明確にする。完了条件は、反復 BigFloat が動作し、サポートされていない整数入力が引き続き拒否されることである。
索引モデルが issue の本文から書いたものです。
説明
WHAT: _check_lstsq_eltype (src/lstsq.jl:30-41) is called by all three engines, including iterative (ext/...IterativeSolversExt.jl:22). But the iterative engine uses only the structured matvec/adjoint + IterativeSolvers.lsqr/lsmr — none need BLAS floats. Confirmed: a rank-deficient BigFloat A via lsqr converged to relerr 1.6e-15 vs the pinv oracle, yet lstsq(A, b; alg=:iterative) throws ArgumentError. WHY IT MATTERS: A real capability is needlessly suppressed — high-precision Newton in BVP solvers is the package's target regime. The guard is correct for :dense (LAPACK gelsy) but wrong for :iterative. FIX: Move the BLAS-float guard out of the shared entry into the dense/structured paths only; in the iterative engine check for real/complex AbstractFloat (still rejects Int/Rational, lets BigFloat/Complex{BigFloat}/Float16 through). Add the Int-rejection test plus a BigFloat iterative test. Update the docstring/README ('Only Float32/Float64/...'). Pairs with documenting that :structured/:dense are BLAS-float-only by design (the :structured SVD needs GenericLinearAlgebra) and directing generic-eltype users to :iterative. EFFORT: S.
Priority: medium. Filed from an automated next-steps audit of the QR/lstsq work (see PR #6).
- 主要言語
- Julia
- スター
- 0
- フォーク
- 1
- 平均マージ
- 23分
- マージ済み PR(30日)
- 3
環境構築
はじめの一歩
- 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
-
add-on doc enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
JuliaGraphics/ColorTypes.jl#344 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
R
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
eWaterCycle/remotebmi#58 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
`enzymexla.linalg.lu` lowering fails for a tall matrix: the permutation is built with the pivot typeオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
EnzymeAD/Enzyme-JAX#3286 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
SciML/LinearSolve.jl#1359 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信