Semiautomatic complex-step differentiation of real-valued functions

2 views (last 30 days)
I found the linked technical article interesting but don't have the mathematical background to determine how useful it may really be. I'm not affiliated with the author but would like to raise it for comments.
MATLAB code and demos can be found at http://software.seg.org/2009/0001/index.html
Because this is academic software there are the usual style issues and a minor bug in a utility program (on line 24 of pMat.m num2str(dec) should read num2str(ndec)). Also, without the Statistics Toolbox several instances of normrnd(a,b,size(x)) must be replaced with the equivalent a + b*randn(size(x)).
  1 Comment
Mark Shore
Mark Shore on 15 Feb 2012
I do realize this is a non-standard type of question for this forum and am just putting it out there on the off-chance a MATLAB forum member may have some pre-existing knowledge of and interest in the subject.

Sign in to comment.

Answers (1)

Andrew Newell
Andrew Newell on 15 Feb 2012
There is another implementation in MATLAB File Exchange that compares this method to others. Complex step derivatives are astonishing and cool, but no more accurate than automatic differentiation. My favorite package for numerical derivatives is John D'Errico's Adaptive robust numerical differentiation: it includes functions for gradient and Hessian.
  1 Comment
Mark Shore
Mark Shore on 15 Feb 2012
Andrew, I do have John's DERIVEST suite of tools (among his other invaluable contributions). I hadn't thought of comparing the relative capabilities, performance and outputs, but that's a very good idea and I'll give it a try.

Sign in to comment.

Categories

Find more on Large Files and Big Data in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!