patrick-kidger/lineax

Linear solvers in JAX and Equinox. https://docs.kidger.site/lineax

何を解決するか

Lineax は、線形システム($Ax = b$ における $x$ を解く)および線形最小二乗問題を解くために設計された JAX ライブラリです。行列 $A$ が長方形または不適切な場合にも対応し、JAX エコシステム内でのこれらの数学的操作をより統一的かつ安定的に扱う方法を提供します。

動作方法

Lineax は線形演算子を使用して行列やヤコビ行列を表現し、メモリ上に完全な行列を展開する必要なく問題を解くことができます。QRソルバー、共役勾配(CG)法など、さまざまなソルバーをサポートしており、自動微分、GPU/TPUサポート、自動並列化を活用するため、JAX と深く統合されています。

対象ユーザー

科学計算、機械学習、科学向け AI に取り組む研究者および開発者向けです。JAX と Equinox と互換性があり、効率的で数値的に安定した線形代数演算が必要な方々に最適です。

特徴

  • PyTree 値の行列とベクトル:線形代数に適した複雑なデータ構造をサポート。
  • 一般化された線形演算子:行列を展開せずにヤコビ行列や転置を扱える。
  • PyTree 値の行列とベクトル:実数値および複素数値の入力の両方をサポート。
  • 数値的安定性:線形最小二乗問題を通じて安定した勾配を提供。
  • JAX 統合:自動微分、GPU/TPU 加速、構造化行列(例:対称行列)の完全サポート。
  • パフォーマンス:特定のアルゴリズムにおいて、コンパイル時間と実行時間が向上。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト