patrick-kidger/lineax
Linear solvers in JAX and Equinox. https://docs.kidger.site/lineax
解決的問題
Lineax 是一個專為求解線性系統(求解 $Ax = b$ 中的 $x$)與線性最小平方法問題而設計的 JAX 庫。它能處理矩陣 $A$ 為長方形或病態的情況,為 JAX 生態系統內這些數學運算提供更統一且穩定的處理方式。
工作原理
Lineax 使用線性算子來表示矩陣與雅可比矩陣,使得在求解問題時無需在記憶體中產生完整的矩陣。它支援多種求解器,如 QR 求解器與共軛梯度(CG)方法,並與 JAX 深度整合,以利用自動微分、GPU/TPU 加速與自動平行化。
適用對象
適用於從事科學計算、機器學習與科學人工智慧的研究人員與開發者,他們需要與 JAX 和 Equinox 兼容的高效、數值穩定的線性代數運算。
主要亮點
- PyTree 值的矩陣與向量:支援線性代數的複雜資料結構。
- 通用線性算子:無需產生矩陣即可處理雅可比矩陣與轉置。
- PyTree 值的矩陣與向量:支援實數與複數輸入。
- 數值穩定性:透過線性最小平方法提供穩定的梯度。
- JAX 整合:完全支援自動微分、GPU/TPU 加速與結構化矩陣(例如對稱矩陣)。
- 效能:特定演算法的編譯時間與執行時間有所提升。
相關
- 專案
- 專案
- 專案
- 專案
- 專案