-
Notifications
You must be signed in to change notification settings - Fork 264
Documentation for autodiff. #1424
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
efa9790
Documentation for autodiff.
MaxSagebaum c0ac40e
Fix remarks and build errors.
MaxSagebaum 6a88b2e
Trying to fix msvc.
MaxSagebaum 9b03cf4
Update results for regression tests.
MaxSagebaum 50426ae
Make AD warning be not an error so regression tests run
hsutter File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| # Supported algorithmic differentiation (autodiff) features | ||
|
|
||
| The listings might be incomplete. If something is missing, it is not supported. Algorithmic differentiation is applied via the [`autodiff` metafunction](../cpp2/metafunctions.md#autodiff). Maybe the planned features are added in 2026. Do not wait for them. The autodif feature is a proof of concept implementation. | ||
|
|
||
| ** Reverse mode algorithmic differentiation is very experimental. Expect it to break. ** | ||
|
|
||
| ## Currently supported or planned features | ||
|
|
||
| | Description | Status forward | Status reverse | | ||
| | --- | --- | --- | | ||
| | Type definitions (structures) | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Member values | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> | | ||
| | Member functions | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Function arguments | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Function return arguments | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Addition and multiplication | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Prefix addition and subtraction | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> | | ||
| | Static member function calls | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Member function calls | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> | | ||
| | Function calls | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Math functions (sin, cos, exp, sqrt) | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | If else | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> | | ||
| | Return statement | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> | | ||
| | Intermediate variables | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Passive variables | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | While loop | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> | | ||
| | Do while loop | <span style="color:green">Supported</span> | <span style="color:gray">Planned</span> | | ||
| | For loop | <span style="color:green">Supported</span> | <span style="color:green">Supported</span> | | ||
| | Template arguments | <span style="color:gray">Planned</span> | <span style="color:gray">Planned</span> | | ||
| | Lambda functions | <span style="color:gray">Planned</span> | <span style="color:gray">Planned</span> | | ||
|
|
||
|
|
||
|
|
||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.