文件名称:autodiff:自动差异化使C ++更容易
文件大小:1022KB
文件格式:ZIP
更新时间:2024-06-02 04:17:25
automatic-differentiation derivatives auto-differentiation differentiation autodiff
概述 autodiff是一个C ++ 17库,它使用现代和先进的编程技术来以高效简便的方式自动计算导数。 示范 考虑以下函数f(x,y,z) : double f ( double x, double y, double z) { return (x + y + z) * exp (x * y * z); } 我们用它来评估变量u = f(x,y,z) : double x = 1.0 ; double y = 2.0 ; double z = 3.0 ; double u = f(x, y, z); 我们如何最小化此代码,以便不仅可以计算u ,还可以计算其派生词∂u/∂x , ∂u/∂y和∂u/∂z ? 接下来的两节介绍如何使用两种在autodiff中实现的自动微分算法来实现此目的:正向模式和反向模式。 前进模式 在前向模式自动微分算法中,将输出变量及其一个或多个导数一
【文件预览】:
autodiff-master
----environment.devenv.yml(510B)
----.github()
--------workflows()
----ci()
--------actions()
----benchmarks()
--------CMakeLists.txt(253B)
--------benchmark1.cpp(8KB)
--------README.md(140B)
----autodiff()
--------common()
--------forward()
--------forward.hpp(1KB)
--------CMakeLists.txt(750B)
--------reverse.hpp(1KB)
--------reverse()
--------BUILD(561B)
----art()
--------autodiff-header.svg(833KB)
--------logo.svg(36KB)
--------autodiff.svg(618KB)
--------inkscape()
--------autodiff.github.io.svg(19KB)
--------expression-tree-diagram.svg(332KB)
--------header.svg(536KB)
--------logo.png(117KB)
----.clang-format(1022B)
----CMakeLists.txt(1KB)
----examples()
--------forward()
--------CMakeLists.txt(52B)
--------reverse()
--------cmake-project()
----LICENSE(1KB)
----test()
--------catch.cpp(47B)
--------catch.hpp(598KB)
--------reverse.test.cpp(20KB)
--------CMakeLists.txt(222B)
--------forward.test.cpp(45KB)
--------BUILD(323B)
----cmake()
--------CondaAware.cmake(3KB)
--------autodiffInstallCMakeConfigFiles.cmake(892B)
--------autodiffConfig.cmake.in(354B)
--------CCache.cmake(1KB)
----WORKSPACE(699B)
----README.md(6KB)
----.pre-commit-config.yaml(631B)
----.bazelrc(28B)
----docs()
--------mkdocs-macros.py(817B)
--------website()
--------CMakeLists.txt(1KB)
--------mkdocs.yml(1KB)
----BUILD(168B)
----.gitignore(520B)
----CHANGELOG.md(4KB)