![]() |
Sleipnir
A linearity-exploiting reverse mode autodiff library and nonlinear program solver DSL.
|
sudo apt install g++-14xcode-select --installsudo apt install cmakebrew install cmakesudo apt install pythonbrew install pythonLibrary dependencies which aren't installed locally will be automatically downloaded and built by CMake.
The benchmark executables require CasADi to be installed locally.
On Windows, open a Developer PowerShell. On Linux or macOS, open a Bash shell.
The following build types can be specified via -DCMAKE_BUILD_TYPE during CMake configure:
On Windows, open a Developer PowerShell. On Linux or macOS, open a Bash shell.
Here's an introductory video on autodiff.
Ari Seff. What is Automatic Differentation?. 2020. https://www.youtube.com/watch?v=wG_nF1awSSY
3Blue1Brown's Essence of Linear Algebra video series provides geometric intuition for linear algebra.
3Blue1Brown. Essence of Linear Algebra, 2016. https://www.3blue1brown.com/topics/linear-algebra
Visually Explained's Convex Optimization video series provides geometric intuition for convex optimization and the interior-point method.
Visually Explained. Convex Optimization, 2021. https://www.youtube.com/playlist?list=PLqwozWPBo-FuPu4d9pFOobsCF1vDGdY_I
Sleipnir's authors learned numerical optimization from the following book and relied heavily upon it to implement Sleipnir.
Nocedal, J. and Wright, S. Numerical Optimization, 2nd. ed., Springer, 2006. https://www.math.uci.edu/~qnie/Publications/NumericalOptimization.pdf
See this page for derivations of Newton's method (unconstrained optimization), sequential quadratic programming (optimization with equality constraints), and interior-point method (optimization with equality and inequality constraints). The bottom of that page lists works cited by Sleipnir's internals.
SVG, PNG (1000px), PNG (55px)
Font: Centaur
| Purple | Yellow |
|---|---|
| 6D3D94 | FDB813 |