Path: news.mathworks.com!newsfeed-00.mathworks.com!nlpi057.nbdc.sbc.com!prodigy.net!news.glorb.com!news2.glorb.com!news.acm.uiuc.edu!not-for-mail
From: Robert Israel <israel@math.MyUniversitysInitials.ca>
Newsgroups: comp.soft-sys.math.maple,sci.math,sci.op-research,sci.math.num-analysis,comp.soft-sys.matlab
Subject: Re: How to take 200th order derivative, and then evaluate it numerically?
Date: Wed, 18 Mar 2009 14:13:56 -0500
Organization: Usenet @ UIUC - http://www.acm.uiuc.edu/news/
Lines: 53
Sender: rbisrael@outside.world
Message-ID: <rbisrael.20090318173245$27f5@news.acm.uiuc.edu>
References: <f6ebcf2b-4782-4984-aebc-7cdb5b28ccee@p2g2000prf.googlegroups.com>
NNTP-Posting-Host: www1.acm.uiuc.edu
X-Trace: news.acm.uiuc.edu 1237403636 8242 172.22.35.81 (18 Mar 2009 19:13:56 GMT)
X-Complaints-To: news@acm.uiuc.edu
NNTP-Posting-Date: Wed, 18 Mar 2009 19:13:56 +0000 (UTC)
X-Local-Trace: rbisrael, 128.189.229.156, Wed Mar 18 14:13:55 2009
X-Newsreader: News::Web v0.51
Xref: news.mathworks.com comp.soft-sys.math.maple:24555 sci.math:1160966 sci.op-research:29217 sci.math.num-analysis:107038 comp.soft-sys.matlab:525963


excellentfeng@gmail.com writes:

> 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!

Perhaps what you might try is computing a Taylor series up to order x^200.  
There still might be some numerical difficulties, but it might not be so bad.
 For example, in Maple:

  f:= x^3*sin(x)/(x - cos(x));
  Digits:= 20;
  200! * coeff( series(f, x=0.3, 201), x-0.3, 200);

    -.90246797086526191165e446
-- 
Robert Israel              israel@math.MyUniversitysInitials.ca
Department of Mathematics        http://www.math.ubc.ca/~israel 
University of British Columbia            Vancouver, BC, Canada