Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`lstsq(alg=:iterative)` blanket-rejects non-BLAS eltypes, yet the iterative engine works in BigFloat

オープン
#13 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
julia
領域
backend

調査の方向性

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

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

SciML/SparseWithDenseRowColMatrices.jl のほかの issue

SciML/SparseWithDenseRowColMatrices.jl の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。