Casadi

Latest version: v3.6.5

Safety actively analyzes 630217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 16

3.2.1

None

3.2.0

None

3.2.0rc2

None

3.2.0rc1

None

3.1.1

None

3.1

* A bug affecting second order sensitivity analysis using CVODES was fixed. Cf. [1924](https://github.com/casadi/casadi/issues/1924).
* Segfault in IDAS Cf. [1911](https://github.com/casadi/casadi/issues/1911).

API changes
* The `if_else` and `conditional` operations are now non-short-circuiting by default for both SX and MX. This means that `if_else(c,x,y)` is now equivalent to `if_else(c,x,y,False)` and not `if_else(c,x,y,True)` as before. Also note that `if_else(c,x,y,True)` is only supported for MX. Cf. [1968](https://github.com/casadi/casadi/issues/1968).
* The functions `Function::jacobian`, `Function::derivative` and `Function::hessian`, which have had an internal character since CasADi 3.0, have been deprecated and will be removed in their current forms in the next release. The user is encouraged to work with expressions (e.g. `J = jacobian(f,x)` or `Jv = jtimes(f,x,v)` or `[H,g] = hessian(f,x)`) or use `Function::factory` (*). To allow a smooth transition, `Function::jacobian` and `Function::hessian` will be available as `Function::jacobian_old` and `Function::hessian_old` in this and next release. Cf. [1777](https://github.com/casadi/casadi/issues/1777).

(*) example in Matlab:
matlab
x = MX.sym('x')
y = x^2;
f = Function('f',{x},{y})
%J = f.jacobian(0,0) replacement:
J = Function('J',{x},{jacobian(y,x), y}) % alternative 1
J = f.factory('J',{'i0'},{'jac:o0:i0','o0'}) % alternative 2
%H = f.hessian(0,0) replacement:
[H,g] = hessian(y,x);
H = Function('H',{x},{H,g}) % alternative 1
H = f.factory('H',{'i0'},{'hess:o0:i0:i0','grad:o0:i0'}) % alternative 2


Improvements to C code generation
* The generated code now follows stricter coding standards. It should now be possible to compile the code with the GCC flags `-Wall -Werror`. Cf. [1741](https://github.com/casadi/casadi/issues/1741).

Changes to the build system
* The build system has been refactored and CasADi/C++ can be conveniently compiled with Visual Studio C++ on Windows. The installation now also includes CMake configure files, which makes it convenient to locate and use a CasADi installation in C++ code. Cf. [1982](https://github.com/casadi/casadi/issues/1982).
* The logic for source builds have changed. Before, the build system would try to locate third-party packages on the system and compile and install the third-party interfaces if this was successful. Now, the logic is that third-party packages are not installed unless the user specifically indicates this `e.g. `-DWITH_IPOPT=ON`. Cf.
[1989](https://github.com/casadi/casadi/issues/1989), [#1988](https://github.com/casadi/casadi/issues/1988).
* The default installation directories for the SWIG interfaces (for Python, Octave and MATLAB) has changed. It is now installed as subdirectories of the `CMAKE_INSTALL_PREFIX` location by default, but this can be changed by explicitly setting the CMake variables `BIN_PREFIX`, `CMAKE_PREFIX`, `INCLUDE_PREFIX`, `LIB_PREFIX`, `MATLAB_PREFIX` and `PYTHON_PREFIX`. A flat installation directory (without subdirectories) can be obtained by setting the `WITH_SELFCONTAINED` option. This is the default behavior on Windows. Cf. [1991](https://github.com/casadi/casadi/issues/1991), [#1990](https://github.com/casadi/casadi/issues/1990)

Changes to precompiled binaries
Python 2.6 ([1976](https://github.com/casadi/casadi/issues/1976)), Python 3.6 ([#1987](https://github.com/casadi/casadi/issues/1987)) and Octave 4.2 ([#2002](https://github.com/casadi/casadi/issues/2002), [#2000](https://github.com/casadi/casadi/issues/2000)) are now supported.

Page 5 of 16

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.