JuliaDiff / JuliaDiff/FiniteDifferences.jl

Better debugging info for when things break

Open
#82 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
318
Forks
32
PR merge metrics
No merged PRs in 30d

Description

Relates to #80 -- FiniteDifferences cannot generally handle functions for which either the size the type of the output is a function of the value of the input. Given that these are fundamental limitations, rather than bugs, it makes sense to provide tooling to help users understand when this issues are encountered.

I propose to add a mode (somehow) that lets the user get easy access to the inputs are which the function will be evaluated by FiniteDifferences. This should be sufficient to make it easy for the user to figure out what's going on when things break.

It would be nice to add helpful warnings when standard things go wrong - eg. your function's output type is different for different evaluations of the function, which can easily happen in slightly unexpected ways, such as in #80 .

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 tracing the FiniteDifferences evaluation path that generates inputs for the function, since the payload names no specific files or tests. Determine how a user could inspect those inputs and where evaluations can detect changing output size or type. Done means exposing the evaluated inputs and providing helpful warnings for these failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.