patrick-kidger/optimistix

Nonlinear optimisation (root-finding, least squares, ...) in JAX+Equinox. https://docs.kidger.site/optimistix/

解決的問題

Optimistix 提供一個統一且模組化的框架,用於解決非線性問題,包括根的尋找、最小化、不動點與最小平方法。它利用 JAX 生態系統,簡化將這些不同類型的數學問題進行轉換與求解的過程。

如何運作

基於 JAX 建構,該庫利用自動微分、自動平行化以及 GPU/TPU 支援。它使用 PyTrees 管理狀態,並與 Optax 兼容。使用者可定義模組化最佳化器——例如,結合 BFGS 二次碗與狗腿下降路徑和信任區域更新——並能自動在問題類型之間轉換,例如將根的尋找問題轉換為最小平方法問題。

適用對象

專為需要高效率、可微分非線性求解器的科學計算與機器學習領域的研究人員與開發者設計。

主要亮點

  • 可互操作的求解器:自動在不同問題類型之間轉換(例如,根的尋找 → 最小平方法)。
  • 模組化最佳化器:支援自訂組合下降路徑與更新規則。
  • 原生 JAX 支援:完全支援自動微分、GPU/TPU 加速與快速編譯。
  • 與 Optax 集成:與 DeepMind 的 Optax 庫無縫整合。

相關

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