pymc-devs / pymc-devs/pytensor
Implement gradient support for complex types
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 644
- Forks
- 208
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 16
Description
Description
The question arose in PR #1303 to support complex gradient.
There are two conventions regarding complex gradient:
- the holomorphic compatible gradient, as in JAX
- its conjugate, the gradient-descent compatible gradient, as in torch
At the moment verify_grad is not defined on complex gradient, and anyway not all Op accepts complex inputs.
So the current issue can serve two purposes:
- register interests in having complex gradients (and complex Op)
- deciding which complex gradient convention to follow
Contributor guide
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 reading PR #1303 and the issue's references on complex autodiff in JAX and PyTorch. Review the current verify_grad limitation and complex Op support; the work is complete only after a complex-gradient convention is decided and the relevant support is defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100