ドキュメント | CI | カバレッジ | 土肥 | ダウンロード |
---|---|---|---|---|
著作物でKrylov.jl使用する場合は、 CITATION.cff
に指定されているメタデータを使用して引用してください。
@article{montoison-orban-2023, author = {Montoison, Alexis and Orban, Dominique}, title = {{ Krylov.jl : A Julia basket of hand-picked Krylov methods}}, journal = {Journal of Open Source Software}, volume = {8}, number = {89}, pages = {5187}, year = {2023}, doi = {10.21105/joss.05187} }
このパッケージは、さまざまな問題に対して最も役立つ特定の Krylov メソッドの実装を提供します。
正方形または長方形のフルランク システム
斧=b
b がAの範囲空間にある場合、この問題を解決する必要があります。この状況は次の場合に発生します。
A は正方形で非特異ですが、
Aは背が高く、完全な列ランクを持ち、 b はAの範囲内にあります。
線形最小二乗問題
「 b - Ax 」を最小化します。
bがAの範囲内にない場合 (一貫性のないシステム)、 Aの形状とランクに関係なく、 は解決される必要があります。この状況は主に次の場合に発生します。
A は正方形で単数ですが、
Aさんは背が高くて痩せています。
過小決定システムはあまり一般的ではありませんが、発生することもあります。
このようなxが無限に多い場合 ( Aが列ランク不足であるため)、最小ノルムを持つ x が特定されます。
x ∈ argmin ‖ b - Ax ‖ に従って ‖ x を最小化します。
線形最小ノルム問題
Ax = bに従って「x 」を最小化する
は、 Aの形状に関係なく、 Aが列ランク不足であるが、 b がAの範囲内にある場合 (一貫したシステム) に解決される必要があります。この状況は主に次の場合に発生します。
A は正方形で単数ですが、
Aは短くて広いです。
過剰決定システムはあまり一般的ではありませんが、発生することもあります。
随伴システム
Ax = bおよびAᴴy = c
ここで、 A は任意の形状をとることができます。
サドルポイントおよびエルミート準定値システム
[ M A ] [ x ] = [ b ]
[ Aᴴ -N ] [ y ] [ c ]
ここで、 A は任意の形状をとることができます。
一般化された鞍点および非エルミート分割システム
[ M A ] [ x ] = [ b ]
[ B N ] [ y ] [ c ]
ここで、 A は任意の形状をとることができ、 B はAᴴの形状を持ちます。 A 、 B 、 b 、およびc はすべてゼロ以外でなければなりません。
Krylov ソルバーは、次のいずれかの理由により、このような問題を解決する必要があるが因数分解が不可能な状況に特に適しています。
Aは明示的には利用できません。
Aが実体化されると高密度になるか、過剰な量のメモリを消費します。
要因により過剰な量のメモリが消費される可能性があります。
反復手法は、次のいずれかの状況で推奨されます。
問題が十分に大きいため、因数分解が実行できないか、時間がかかります。
問題に不利なスペクトル構造がある場合に効果的なプレコンディショナーが知られています。
演算子は疎行列として効率的に表現できます。
演算子は高速です。つまり、行列として具体化される場合よりも複雑に適用できます。特定の高速演算子は、密な行列として実現されます。
Krylov.jlのすべてのソルバーにはインプレース バージョンがあり、 GPUと互換性があり、あらゆる浮動小数点データ型で動作します。
Krylov は、Julia パッケージ マネージャーを通じてインストールおよびテストできます。
ジュリア>] pkg> クリロフを追加 pkg> テストクリロフ
バグを見つけたと思われる場合は、お気軽に問題を開いてください。焦点を絞った提案やリクエストを問題としてオープンすることもできます。プル リクエストを開く前に、そのトピックに関する問題やディスカッションを開始してください。
バグレポートにふさわしくない質問をしたい場合は、お気軽にここでディスカッションを始めてください。このフォーラムは、このリポジトリと JuliaSmoothOptimizers 組織に関する一般的なディスカッションを目的としているため、パッケージに関する質問は大歓迎です。