JuliaDiff / JuliaDiff/FiniteDifferences.jl

the formulea for calculating derivatives of different error orders

Open
#204 5 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

Sorry to misuse issues to ask questions, but I could't find any other way to communicate with you developers.
I am using this package to calculate the first order derivative of a matrix which can be thought of a function of mono variable x, i.e., M(x). I find that the derivative is hard to converge. By converging I mean if I add more nodes when calculating the derivative, the derivative is unchanged under some tolerance. In practice, I just increase q in central_fdm(q, 1).
I have tried q up to 12 but the result didn't seem to convergence. I couldn't increse the order any more because the time for calculation is unacceptable in my case.
I also tried to change max_range, and the result is quite different from that calculated with default max_range.
That led me to investigate the details of calculating method of FiniteDifferences.jl. I found that the method for calculating derivative in this package is not that easy to understand, especially I find that it choose nodes of two different set.(see picture below)
image
So would you please give some more details on how the nodes are chosen, especially the meaning of max_range and how are the derivatives calculated using the nodes?

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 implementation and documentation for central_fdm(q, 1), focusing on how max_range and the two node sets are described. Compare that explanation with the reported matrix-derivative convergence behavior. Done means documenting how nodes are chosen, what max_range means, and how the derivative is calculated, with the behavior clearly explained to users.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.