JuliaDiff / JuliaDiff/ChainRules.jl

Test concrete type constructors in addition to UnionAlls

Open
#24 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

In #23, we realized that while it's straightforward to test sensitivities for one-argument UnionAll constructors, e.g. Symmetric(X) and Diagonal(X), things can get more complicated when attempting to test constructors for concrete subtypes. The example in the linked PR was for Symmetric{T,M}, which requires a second argument when used as constructor. We should find a way to make it easier to test such things, perhaps by refactoring rrule_test?

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 reading the discussion in issue #23 and the existing rrule_test helper. Compare how sensitivity tests cover one-argument UnionAll constructors such as Symmetric(X) and Diagonal(X) with the concrete Symmetric{T,M} case requiring a second argument. Done means the testing approach can cover both constructor forms and verifies their sensitivities.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
testing-qa
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.