MetaAutoDiff
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.
Dependencies
MetaAutoDiff also need Eigen's unsupported modules for Kronecker Product.
Set Up
There is no binary library to link to, so if you want to use MetaAutoDiff, you can include the header file in your project.
Date type Support
MetaAutoDiff only support double and ad::MatrixXd(internal implement type is Eigen::MatrixXd). More type support will be added in the future.
GPU Support
MetaAutoDiff doesn't support GPU now.
Implemented Operators
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.