feat: add forward_tangents and deferred input_tangents to ReverseRule#6
Merged
feat: add forward_tangents and deferred input_tangents to ReverseRule#6
Conversation
Add forward_tangents method to ReverseRule trait for deferred forward tangent propagation in HVP computation. Update pullback_with_tangents to accept an input_tangents closure parameter, enabling the AD engine to inject tangents at call time rather than requiring rules to store them in their struct fields. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Add deferred tangent injection support to
ReverseRuletrait for HVP computation.forward_tangents()method with default impl returningErr(HvpNotSupported)input_tangentsclosure parameter topullback_with_tangents()so rules can read primal tangents at HVP time instead of storing them at construction timeThis is a breaking change to
pullback_with_tangents— all downstream implementors must update their signature.Needed by tensor4all/tidu-rs#6 for deferred leaf tangent injection.
Test plan
forward_tangentsdefault impl🤖 Generated with Claude Code