pymc-devs / pymc-devs/pytensor

Implement gradient support for complex types

Open
#1,366 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.