JuliaDiff / JuliaDiff/Diffractor.jl
Support indexing ExplictTangentBundle with TaylorIndex at any position
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 453
- Forks
- 33
- PR merge metrics
- No merged PRs in 30d
Description
Basically the reason you can't index ExplictTangentBundles with TaylorTangentIndex except at the last position is because there are multiple possible ways to compute a given deriviatve of any order -- except the highest order, then you need to do all the things so there is only one way.
In a good world they are all equal but we may not live in a good world.
If we do live in a good world though we can.
And the thing to do is when given a TaylorTangentIndex check all values that correspond to different paths to get a derivative of that order and if all equal return that value. If not all equal then error as we do not live in a good world.
The canonical index positioned to check are the ones that have count_ones(ii) equal to the taylor index (the order of the derivative).
Computing this is apparently a well known problem, see this thread on discourse.
Probably for performance reasons want to hard code the indexs to check for order 1 and 2 (maybe 3), then fall back to one of those algorithms.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the ExplictTangentBundle indexing implementation and the TaylorTangentIndex entry point; the issue does not name files or tests. Read the linked discourse discussion for ways to find canonical indices. Done means TaylorTangentIndex works at any position, returning equal derivative values and raising an error when paths disagree.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100