English | 简体中文
MetaAutoDiff is a C++ template library for automatic differentiation in reverse mode based on operator-overloading and expression templates. MetaAutoDiff supports any order derivative for scalar variable. For some matrix operators, MetaAutoDiff only provide first and second order derivative now. This project doesn't provide forward mode now.
MetaAutoDiff also need Eigen's unsupported modules for Kronecker Product.
There is no binary library to link to, so if you want to use MetaAutoDiff, you can include the header file in your project.
MetaAutoDiff only support double and ad::MatrixXd(internal implement type is Eigen::MatrixXd). More type support will be added in the future.
MetaAutoDiff doesn't support GPU now.
MetaAutoDiff only support addition, subtraction, multiplication, exponential, trigonometric, log, matrix diagonal, matrix transpose, matrix vectorization, matrix kronecker product, matrix unary expression, array division, array multiplication operator now. More operator will be supported in the future.