Add jacobian method to System trait and gradient and hessian methods to Function trait, with default implementations that use finite differences. Change all solvers to use that instead of finite differences manually.
This will allow the users to specify analytical derivatives if they are available.
Add
jacobian
method toSystem
trait andgradient
andhessian
methods toFunction
trait, with default implementations that use finite differences. Change all solvers to use that instead of finite differences manually.This will allow the users to specify analytical derivatives if they are available.