Skip to content
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

Reverse-over-forward AD #3681

Open
wants to merge 29 commits into
base: master
Choose a base branch
from

Conversation

jrmaddison
Copy link
Contributor

@jrmaddison jrmaddison commented Jul 10, 2024

Adds reverse-over-forward AD to Firedrake. See dolfin-adjoint/pyadjoint#162.

Limitations:

  • The new solve_tlm methods largely follow the implementation of the corresponding evaluate_tlm_component methods, meaning that they largely share any limitations. For example no Jacobian caching is applied.
  • solve_tlm methods have not been added for MeshInputBlock and MeshOutputBlock, due to problems composing action/adjoint with derivatives of derivatives with respect to a SpatialCoordinate.

@jrmaddison jrmaddison force-pushed the jrmaddison/reverse_over_forward branch from 53d0d58 to c70eea9 Compare July 10, 2024 16:01
@jrmaddison jrmaddison force-pushed the jrmaddison/reverse_over_forward branch 2 times, most recently from 2936a06 to 360b039 Compare July 11, 2024 17:37
@jrmaddison jrmaddison force-pushed the jrmaddison/reverse_over_forward branch from 62db68d to cada689 Compare July 11, 2024 18:01
@jrmaddison jrmaddison marked this pull request as ready for review July 11, 2024 18:05
@jrmaddison jrmaddison force-pushed the jrmaddison/reverse_over_forward branch from 08a6d32 to e51d56d Compare July 12, 2024 13:51
@jrmaddison jrmaddison force-pushed the jrmaddison/reverse_over_forward branch from e51d56d to ab80fe6 Compare July 12, 2024 13:51
@jrmaddison jrmaddison force-pushed the jrmaddison/reverse_over_forward branch from e35f21d to 4bb4e3b Compare July 15, 2024 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant