# CasADi

A symbolic framework for numeric optimization that implements forward- and reverse-mode automatic differentiation on sparse matrix-valued computational graphs, usable from C++, Python, MATLAB/Octave, Julia or JavaScript.

CasADi is a symbolic framework for numeric optimization. It implements automatic differentiation in forward and reverse modes over sparse, matrix-valued computational graphs, and supports self-contained C-code generation from those graphs.

It interfaces state-of-the-art numerical solvers such as SUNDIALS and IPOPT, and is commonly used for nonlinear programming, optimal control and parameter estimation problems.

It can be used from C++, Python, MATLAB/Octave, Julia or JavaScript.

Website: http://casadi.org
