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 加速與結構化矩陣(例如對稱矩陣)。
  • 效能:特定演算法的編譯時間與執行時間有所提升。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案