Skip to content

Latest commit

 

History

History
107 lines (79 loc) · 3.8 KB

CHANGELOG.md

File metadata and controls

107 lines (79 loc) · 3.8 KB

Change Log

This file documents important changes to this project, which uses Semantic Versioning.

#v0.5 (June 17, 2019) Full Changelog

This release introduces a BREAKING CHANGE!

From now on, methods derivative, gradient, and jacobian require the use of auxiliary functions wrt and the newly introduced one at.

Examples:

// f = f(x)
double dudx = derivative(f, wrt(x), at(x));
// f = f(x, y, z)
double dudx = derivative(f, wrt(x), at(x, y, z));
double dudy = derivative(f, wrt(y), at(x, y, z));
double dudz = derivative(f, wrt(z), at(x, y, z));
// f = f(x), scalar function, where x is an Eigen vector
VectorXd g = gradient(f, wrt(x), at(x));

// Compuring gradient with respect to only some variables
VectorXd gpartial = gradient(f, wrt(x.tail(5)), at(x));
// F = F(x), vector function, where x is an Eigen vector
MatrixXd J = jacobian(f, wrt(x), at(x));

// F = F(x, p), vector function with params, where x and p are Eigen vectors
MatrixXd Jx = jacobian(f, wrt(x), at(x, p));
MatrixXd Jp = jacobian(f, wrt(p), at(x, p));

// Compuring Jacobian with respect to only some variables
MatrixXd Jpartial = jacobian(f, wrt(x.tail(5)), at(x));

This release also permits one to retrieve the evaluated value of function during a call to the methods derivative, gradient, and jacobian:

// f = f(x)
dual u;
double dudx = derivative(f, wrt(x), at(x), u);
// f = f(x), scalar function, where x is an Eigen vector
dual u;
VectorXd g = gradient(f, wrt(x), at(x), u);
// F = F(x), vector function, where x is an Eigen vector
VectorXdual F;
MatrixXd J = jacobian(f, wrt(x), at(x), F);

#v0.4.2 (Mar 28, 2019) Full Changelog

This is to force conda-forge to produce a new version (now 0.4.2) since the last one (0.4.1) did not work.

#v0.4.1 (Mar 26, 2019) Full Changelog

This release fixes a bug in the computation of Jacobian matrices when the input and output vectors in a vector-valued function have different dimensions (see issue #24).

#v0.4.0 (Feb 20, 2019) Full Changelog

This release contains changes that enable autodiff to be successfully compiled in Linux, macOS, and Windows. Compilers tested were GCC 7, Clang 9, and Visual Studio 2017. Compilers should support C++17.

#v0.3.0 (Feb 5, 2019) Full Changelog

This release improves the forward mode algorithm to compute derivatives of any order. It also introduces a proper website containing a more detailed documentation of autodiff library: https://autodiff.github.io

#v0.2.0 (Jul 26, 2018) Full Changelog

This release permits higher order derivatives to be computed with autodiff::gradx function and it also enables the use of autodiff::var type with Eigen vector and matrix types.

#v0.1.0 (Jul 19, 2018) Full Changelog

This is the first release of autodiff. Please note breaking changes might be introduced, but not something that would take you more than a few minutes to correct.