Skip to content

MetaAutoDiff is a C++ template library for automatic differentiation in reverse mode.

License

Notifications You must be signed in to change notification settings

yujizhu/MetaAutoDiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

MetaAutoDiff is a C++ template library for automatic differentiation in reverse mode.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published