6130148a58
The new release includes some improvements in both Forward and Reverse mode: * Extend the way to specify a dependent variables. Consider function, `double f(double x, double y, double z) {...}`, `clad::differentiate(f, "z")` is equivalent to `clad::differentiate(f, 2)`. `clad::gradient(f, "x, y")` differentiates with respect to `x` and `y` but not `z`. The gradient results are stored in a `_result` parameter in the same order as `x` and `y` were specified. Namely, the result of `x` is stored in `_result[0]` and the result of `y` in `_result[1]`. If we invert the arguments specified in the string to `clad::gradient(f, "y, x")` the results will be stored inversely. * Enable recursive differentiation. * Support single- and multi-dimensional arrays -- works for arrays with constant size like `double A[] = {1, 2, 3};`, `double A[3];` or `double A[1][2][3][4];` See more at: https://github.com/vgvassilev/clad/blob/v0.5/docs/ReleaseNotes.md |
||
---|---|---|
.. | ||
clad | ||
example | ||
CMakeLists.txt |