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

Implement symdiff #12

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

Conversation

fvlankvelt
Copy link
Contributor

Minimal implementation of SymDiff such that tensordot / multiplication can be implemented with backprop.

Note that this PR builds on top of the add-typelevel-tests branch - the actual commits are quite limited.

Method names did not unambiguously specify behavior, so I've taken a guess:
- matchedIndices is pairs of left, right indices
- lhsRetained is pairs of out, left indices
- rhsRetained is pairs of out, right indices
since only the matchedIndices and recoverLeft/recoverRight methods were used, those are the only ones that have been implemented.
For simple transitive recover methods, with only 3 permutations of the types, the type arguments rotate amongst themselves.
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