JuliaDiff / JuliaDiff/ChainRules.jl

Custom rule for `convert` and `Array`

Open
#188 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

missing rule
Dominant language
Julia
Stars
475
Forks
98
PR merge metrics
No merged PRs in 30d

Description

In Zygote, we needed to add custom rules for convert and Array for Symmetric and Hermitian matrices, because these internally mutate (see https://github.com/FluxML/Zygote.jl/blob/0b3e32d5c0f8e5ef3b061a6f84ed5505f5a202a0/src/lib/array.jl#L493-L496).
We had some discussions about a generic rule for arrays (or perhaps other objects), but they didn't go anywhere. The best idea I had for a generic rule is here: https://github.com/FluxML/Zygote.jl/pull/344#issuecomment-540725631

The Array constructor rule could in principle be covered by #154. Maybe also relates #153.

Contributor guide

No contributing guide indexed for this repository

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 reviewing the referenced Zygote src/lib/array.jl lines 493-496, then read the discussion in PR #344 and the related issues #154 and #153. Confirm the intended scope for custom rules covering convert and Array with Symmetric and Hermitian matrices; done means the agreed rules are added with appropriate validation.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.