Path: news.mathworks.com!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!p2g2000prf.googlegroups.com!not-for-mail
From: excellentfeng@gmail.com
Newsgroups: comp.soft-sys.math.maple,sci.math,sci.op-research,sci.math.num-analysis,comp.soft-sys.matlab
Subject: How to take 200th order derivative, and then evaluate it numerically?
Date: Wed, 18 Mar 2009 09:42:07 -0700 (PDT)
Organization: http://groups.google.com
Lines: 37
Message-ID: <f6ebcf2b-4782-4984-aebc-7cdb5b28ccee@p2g2000prf.googlegroups.com>
NNTP-Posting-Host: 128.12.244.225
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Trace: posting.google.com 1237394527 15511 127.0.0.1 (18 Mar 2009 16:42:07 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 18 Mar 2009 16:42:07 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: p2g2000prf.googlegroups.com; posting-host=128.12.244.225; 
	posting-account=_IRJ2QoAAADwlPG6Ye_nmoCOD0tIQEbK
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.7) 
	Gecko/2009021910 Firefox/3.0.7,gzip(gfe),gzip(gfe)
Xref: news.mathworks.com comp.soft-sys.math.maple:24546 sci.math:1160919 sci.op-research:29208 sci.math.num-analysis:107027 comp.soft-sys.matlab:525909


Hi all,

We need to take the 200th order derivative of a complicated formula,
and then evaluate it numerically.

What's the best way to handle this?

More specifically, we figured that it's impossible to do this via
finite difference, i.e. do everything completely in the numerical
domain, because the noise will be huge and error will dominate.

So a plan was to first obtain the 200th order derivative thru symbolic
calculation in Maple, Matlab, Mathematica, and then copy the huge
result and somehow make it into a form that is numerically evaluable
either in Matlab or C++. Then evaluate that huge expression
numerically. Still, that sounds daunting, the symbolic result of 200th
order derivative will be huge and we are not sure if Maple or
Mathematica can handle it.

Another possibility is to do some sort of Automatic Differentiation.
But we are new to AD. Is it possible that with the help from an AD
package, we just need to give inputs of the parameter values, and the
package will crank out the numerical result of the 200th order
derivative with almost no error?

We see that lots of free packages are in C/C++ or Fortune, which are
not convenient for fast prototyping(we are at evaluating stage, if
this idea doesn't work, we don't want to spend too much time on it).
So are there free AD packages that can go with Matlab or Mathematica
or Maple that can take 200th order differentiation and are convenient
for prototyping? Which one is the best AD package that we could try
on? If it doesn't work, then we would discard this crazy idea of
taking 200th order derivative completely.

Please shed some lights on us!

Thanks a lot!