Axect / Peroxide

Rust numeric library with R, MATLAB & Python syntax

Home Page:https://crates.io/crates/peroxide

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Taylor mode automatic differentiation

Axect opened this issue · comments

Peroxide has two AD methods - Dual, HyperDual. But these are only 1st and 2nd order methods, and they are distinct. So, we need not only higher order AD but also generic.

  • Struct AD
    • fmt::Display
    • Copy?
    • From<T>
  • std::ops for AD
    • Add, Sub, Neg
    • Mul
    • Div
  • PowOps for AD
    • powi
    • powf
    • pow
  • TrigOps for AD
    • sin, cos, tan
    • asin, acos, atan
    • sinh, cosh, tanh
    • asinh, acosh, atanh
    • sin_cos, sinh_cosh
  • ExpLogOps for AD
    • exp, ln
    • log, log2, log10
  • std::ops with f64
    • Add, Sub
    • Mul, Div
  • Change the structure - proc_macro to Enum (to reduce compile time)
  • Generic AD function - ADFn
  • Apply to numerical things
    • numerical/root
    • numerical/ode
    • numerical/optimize
    • numerical/utils

Hi, am interested in your library. Can you make some todo tasks so we can we pick that if we want to contribute?
I think creating tasks on the project board will be good so that you can assign to a person who is doing https://github.com/Axect/Peroxide/projects

commented

@nixar0x0 You could pick up anything from https://github.com/Axect/Peroxide/blob/master/TODO.md and have your pull request reviewed almost right away (judging from https://github.com/Axect/Peroxide/pulls?q=is%3Apr+is%3Aclosed ).

@nixar0x0 Thank you for interests and @tbmreza thank you for good advice.
I'll update TODO.md more specifically soon.