⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 todo

📁 数学公式库--非常不错 The GNU Scientific Library (GSL) is a collection of routines for numerical computing. T
💻
字号:
* Add a higher level interface which accepts a start point, end point, result array (size N,  y0, y1, y2 ... ,y(N-1))desired relative and absolute errors epsrel and epsabsit should have its own workspace which is a wrapper around theexisting workspaces* Implement other stepping methods from well-known packages such asRKSUITE, etc* Roundoff error needs to be taken into account to prevent thestep-size being made arbitrarily small* The entry below has been downgraded from a bug.  We use thecoefficients given in the original paper by Prince and Dormand, and itis true that these are inexact (the values in the paper are said to beaccurate 18 figures).  If somebody publishes exact versions we willuse them, but at present it is better to stick with the publishedversions of the coefficients them use our own.----------------------------------------------------------------------BUG#8 -- inexact coefficients in rk8pd.cFrom: Luc Maisonobe <Luc.Maisonobe@c-s.fr>To: gsl-discuss@sources.redhat.comSubject: further thoughts about Dormand-Prince 8 (RK8PD)Date: Wed, 14 Aug 2002 10:50:49 +0200I was looking for some references concerning Runge-Kutta methods when Inoticed GSL had an high order one. I also found a question in the listarchive (April 2002) about the references of this method which isimplemented in rk8pd.c. It was said the coefficients were taken from the"Numerical Algorithms with C" book by Engeln-Mullges and Uhlig.I have checked the coefficients somewhat with a little java tool I havedevelopped (see http://www.spaceroots.org/archive.htm#RKCheckSoftware)and found they were not exact. I think this method is really the methodthat is already in rksuite (http://www.netlib.org/ode/rksuite/) were thecoefficients are given as real values with 30 decimal digits. Thecoefficients have probably been approximated as fractions later on.However, these approximations are not perfect, they are good only forthe first 16 or 18 digits depending on the coefficient.This has no consequence for practical purposes since they are stored indouble variables, but give a false impression of beeing exactexpressions. Well, there are even some coefficients that should reallybe rational numbers but for which wrong numerators and denominators aregiven. As an example, the first and fourth elements of the b7 array aregiven as 29443841.0 / 614563906.0 and 77736538.0 / 692538347, hence thesum off all elements of the b7 array (which should theoretically beequal to ah[5]) only approximate this. For these two coefficients, thiscould have been avoided using  215595617.0 / 4500000000.0 and202047683.0 / 1800000000.0, which also looks more coherent with theother coefficients.The rksuite comments say this method is described in this paper :   High Order Embedded Runge-Kutta Formulae   P.J. Prince and J.R. Dormand   J. Comp. Appl. Math.,7, pp. 67-75, 1981It also says the method is an 8(7) method (i.e. the coefficients setused to advance integration is order 8 and error estimation is order 7).If I use my tool to check the order, I am forced to check the orderconditions numerically with a tolerance since I do not have an exactexpression of the coefficients. Since even if some conditions are notmathematically met, the residuals are small and could be below thetolerance. There are tolerance values for which such numerical testdedeuce the method is of order 9, as is said in GSL. However, I am notconvinced, there are to few parameters for the large number of orderconditions needed at order 9.I would suggest to correct the coefficients in rk8pd.c (just put theliteral constants of rksuite) and to add the reference to the article.----------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -