Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1993
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1993

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Algorithm used in NDSolve

  • To: MathGroup at yoda.physics.unc.edu
  • Subject: Re: Algorithm used in NDSolve
  • From: keiper
  • Date: Mon, 26 Jul 93 09:18:50 CDT

John Gear (rmaxg at euler.ma.rmit.oz.au) writes

	> Does anyone know what algorithm is used in NDSolve?
	> Is it Gear's method?

This question has come up so many times that I know the exact reference
without having to look it up:  Course Notes of the 1992 Mathematica
Conferences: Numerical Computation in Mathematica, by Jerry B. Keiper
and David Withoff (available from Wolfram Research, Inc.), page 46:

   Initial value problems can be classified as either ``stiff'' or
   ``non-stiff''.  Stiff problems are distinguished from non-stiff
   problems in that stiff problems have interacting components that
   vary on widely different scales.  NDSolve[ ] uses the Adams
   predictor-corrector method to handle non-stiff problems, and
   backward differentiation formulae (i.e., Gear's method) for
   stiff problems.  NDSolve[ ] automatically detects the existence
   of stiffness and chooses the correct method.  The whole process
   is transparent to the user so that a novice does not even have
   to understand what stiffness is or recognize the presence of it.

	> What is the order of the method and can the order be varied?

The algorithm is state-of-the-art and automatically chooses the order
based on the local behavior of the function and the PrecisionGoal.

Jerry B. Keiper
keiper at wri.com
Wolfram Research, Inc.





  • Prev by Date: Re: Non-linear optimization
  • Next by Date: Question regarding TagSet
  • Previous by thread: Algorithm used in NDSolve
  • Next by thread: COMPUTATIONAL HEALTH (long)