This is the mail archive of the gsl-discuss@sourceware.org mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Help-gsl] test release for 1.15


Hi,

On 04/30/2011 01:34 AM, Brian Gough wrote:

I've made a second test release to (hopefully) fix the problems in the
first one

please find attached a patch containing a new ChangeLog and minor corrections to ode-initval.texi documentation. I'm proposing to replace the whole ode-initval2/ChangeLog file with ode-initval2 development history. The old ChangeLog is still available in original ode-initval folder.


--
Tuomo.Keskitalo@iki.fi
http://iki.fi/tuomo.keskitalo
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: tuomo.keskitalo@iki.fi-20110501112334-1tp9a244dp5v9h8g
# target_branch: http://bzr.savannah.gnu.org/r/gsl/trunk/
# testament_sha1: 8ced23ae2da46d717b4a85af75263f1b7a86869e
# timestamp: 2011-05-01 14:29:00 +0300
# base_revision_id: bjg@gnu.org-20110429185211-0bp8ojq6jmx6ggma
# 
# Begin patch
=== modified file 'doc/ode-initval.texi'
--- doc/ode-initval.texi	2010-10-16 18:26:18 +0000
+++ doc/ode-initval.texi	2011-05-01 10:24:40 +0000
@@ -66,7 +66,7 @@
 
 The function should return @code{GSL_SUCCESS} if the calculation was
 completed successfully. Any other return value indicates an error. A
-special return value @code{GSL_EBADFUNC} causes @code{odeiv2}
+special return value @code{GSL_EBADFUNC} causes @code{gsl_odeiv2}
 routines to immediately stop and return. The user must call an
 appropriate reset function (e.g. @code{gsl_odeiv2_driver_reset} or
 @code{gsl_odeiv2_step_reset}) before continuing. Use return values
@@ -82,14 +82,14 @@
 matrix @code{J(i,j) = dfdy[i * dimension + j]} where @code{dimension}
 is the dimension of the system. 
 
-Not all of the stepper algorithms of @code{odeiv2} make use of the
+Not all of the stepper algorithms of @code{gsl_odeiv2} make use of the
 Jacobian matrix, so it may not be necessary to provide this function
 (the @code{jacobian} element of the struct can be replaced by a null
 pointer for those algorithms).
 
 The function should return @code{GSL_SUCCESS} if the calculation was
 completed successfully. Any other return value indicates an error. A
-special return value @code{GSL_EBADFUNC} causes @code{odeiv2}
+special return value @code{GSL_EBADFUNC} causes @code{gsl_odeiv2}
 routines to immediately stop and return. The user must call an
 appropriate reset function (e.g. @code{gsl_odeiv2_driver_reset} or
 @code{gsl_odeiv2_step_reset}) before continuing. Use return values
@@ -188,7 +188,7 @@
 functions defined in the system @var{sys} returns @code{GSL_EBADFUNC},
 the function returns immediately with the same return code. In this
 case the user must call @code{gsl_odeiv2_step_reset} before calling
-it again.
+this function again.
 
 @end deftypefun
 
@@ -490,7 +490,7 @@
 @code{GSL_EBADFUNC}, the function returns immediately with the same
 return code. In this case the user must call
 @code{gsl_odeiv2_step_reset} and
-@code{gsl_odeiv2_evolve_reset} before calling it again.
+@code{gsl_odeiv2_evolve_reset} before calling this function again.
 
 Otherwise, if the user-supplied functions defined in the system
 @var{sys} or the stepping function @var{step} return a status other
@@ -591,8 +591,8 @@
 returns with @code{GSL_ENOPROG}. If the user-supplied functions
 defined in the system @var{sys} returns @code{GSL_EBADFUNC}, the
 function returns immediately with the same return code. In this case
-the user must call @code{gsl_odeiv2_driver_reset} before calling it
-again.
+the user must call @code{gsl_odeiv2_driver_reset} before calling this
+function again.
 @end deftypefun
 
 @deftypefun {int} gsl_odeiv2_driver_apply_fixed_step (gsl_odeiv2_driver * @var{d}, double * @var{t}, const double @var{h}, const unsigned long int @var{n}, double @var{y}[])

=== modified file 'ode-initval2/ChangeLog'
--- ode-initval2/ChangeLog	2010-08-06 12:13:56 +0000
+++ ode-initval2/ChangeLog	2011-05-01 11:23:34 +0000
@@ -1,184 +1,261 @@
-2009-08-12  Brian Gough  <bjg@network-theory.co.uk>
-
-	* rk4.c (rk4_alloc): fix order of free statements to avoid memory
-	leak
-
-2009-07-09  Brian Gough  <bjg@network-theory.co.uk>
-
-	* step.c (gsl_odeiv_step_free): handle NULL argument in free
-
-	* evolve.c (gsl_odeiv_evolve_free): handle NULL argument in free
-
-	* control.c (gsl_odeiv_control_free): handle NULL argument in free
-
-2009-04-21  Brian Gough  <bjg@network-theory.co.uk>
-
-	* gear2.c (gear2_apply): save initial values of y for possible
-	failures
-
-2009-04-20  Brian Gough  <bjg@network-theory.co.uk>
-
-	* evolve.c (gsl_odeiv_evolve_apply): restore original t value when
-	step fails
-
-2008-07-03  Brian Gough  <bjg@hp2.network-theory.co.uk>
-
-	* Makefile.am (INCLUDES): use top_srcdir instead of top_builddir
-
-2008-01-28  Brian Gough  <bjg@network-theory.co.uk>
-
-	* test.c (test_evolve_negative_h): test evolution with negative
-	steps as well as positive
-
-2008-01-03  Brian Gough  <bjg@network-theory.co.uk>
-
-	* evolve.c (gsl_odeiv_evolve_apply): handle the case where
-	GSL_ODEIV_HADJ_DEC does not represent a real decrease (e.g. where
-	x+h = x due to finite precision)
-
-2006-07-29  Brian Gough  <bjg@network-theory.co.uk>
-
-	* evolve.c (gsl_odeiv_evolve_apply): notify user of step-size
-	which caused any failure by returning it
-
-2006-06-13  Brian Gough  <bjg@network-theory.co.uk>
-
-	* gsl_odeiv.h, control.c (gsl_odeiv_control_hadjust): change y0 to
-	y in prototype to avoid conflict with bessel y0() in math.h
-
-	* test.c (test_odeiv_stepper): change y0 to ystart
-
-2005-04-08  Brian Gough  <bjg@network-theory.co.uk>
-
-	* Fixed all functions to consistently return status instead of
-	GSL_EBADFUNC.
-
-2004-12-29  Brian Gough  <bjg@network-theory.co.uk>
-
-	* test.c (test_compare_vanderpol): avoid variable size array
-	(test_compare_oregonator): as above
-
-2004-12-23  Brian Gough  <bjg@network-theory.co.uk>
-
-	* test.c (test_evolve_xsin): changed description from "failures"
-	to "errors"
-
-2004-12-22  Brian Gough  <bjg@network-theory.co.uk>
-
-	* rk2simp.c (rk2simp_step): added missing static declaration
-
-	* gear1.c (gear1_step): added missing static declaration
-
-	* gear2.c (gear2_step): added missing static declaration
-
-	* rk4imp.c (rk4imp_step): added missing static declaration
-
-	* rk4.c (rk4_step): added missing static declaration
-
-	* rk2imp.c (rk2imp_step): added missing static declaration
-
-2004-12-01  Brian Gough  <bjg@network-theory.co.uk>
-
-	* updated all solvers to ensure correct handling of error codes
-	from user defined functions
-
-	* test.c (rhs_xsin): added a test which includes failures of the
-	function itself and jacobian
-
-2004-11-25  Brian Gough  <bjg@network-theory.co.uk>
-
-	* gear2.c (gear2_alloc): added check for non-allocation of primer,
-	and two-step error estimation
-
-2004-11-23  Brian Gough  <bjg@network-theory.co.uk>
-
-	* gear1.c (gear1_apply): use 90% error bound
-
-	* rk2imp.c (rk2imp_apply): use 90% error bound
-
-	* rk2simp.c (rk2simp_apply): use 90% error bound
-
-2004-11-18  Brian Gough  <bjg@network-theory.co.uk>
-
-	* test.c: new test program (Tuomo Keskitalo)
-
-2004-11-12  Brian Gough  <bjg@network-theory.co.uk>
-
-	* evolve.c (gsl_odeiv_evolve_apply): check for internal stepper
-	failure (Tuomo Keskitalo)
-
-	* bsimp.c: gives exact dydt_out (Tuomo Keskitalo)
-
-	* rk2simp.c: new semi-implicit solver (Tuomo Keskitalo)
-
-	* gear1.c rkf45.c rkck.c rk8pd.c rk4imp.c rk2imp.c rk2.c rk4.c:
-	fix error estimate, exact derivatives on output (Tuomo Keskitalo)
-
-2004-05-28  Brian Gough  <bjg@network-theory.co.uk>
-
-	* bsimp.c (bsimp_apply): fix prototype of function to match
-	definition in typedef by removing const on double args.
-
-Sat Aug  3 19:02:37 2002  Brian Gough  <bjg@network-theory.co.uk>
-
-	* cscal.c (struct): use matlab style error control, with scalar
- 	relative error and vector absolute error
-
-Wed Oct  3 13:19:28 2001  Brian Gough  <bjg@network-theory.co.uk>
-
-	* evolve.c (gsl_odeiv_evolve_apply): report error if step
- 	direction does not match interval direction
-
-	* cstd.c (std_control_hadjust): allow for negative step-sizes
-
-	* evolve.c (gsl_odeiv_evolve_apply): allow for integrating
- 	backwards in time
-
-Sat Sep 29 21:02:36 2001  Brian Gough  <bjg@network-theory.co.uk>
-
-	* bsimp.c: use the condition |D^-1 Delta| >> 1 to detect
- 	singularities, as described in the paper and implemented in METAN1
- 	by Deuflhard et al.
-
-	* evolve.c (gsl_odeiv_evolve_apply): reset the final_step flag
- 	whenever the step size is decreased
-
-Sun Jul  1 22:42:02 2001  Brian Gough  <bjg@network-theory.co.uk>
-
-	* bsimp.c: modified to use new-style vector views
-
-Fri Jun 22 11:59:24 2001  Brian Gough  <bjg@network-theory.co.uk>
-
-	* evolve.c: keep track of failed step count
-
-Tue Jun 12 11:34:23 2001  Brian Gough  <bjg@network-theory.co.uk>
-
-	* rkf45.c: added Runge-Kutta Fehlberg method, RKF45
-
-	* reorganized to use standard gsl conventions
-
-Mon Apr 23 10:26:22 2001  Brian Gough  <bjg@network-theory.co.uk>
-
-	* unified error handling conventions to _e for error handling
- 	functions and no suffix for plain functions, so _impl functions
- 	are no longer needed.
-
-	* removed tests for EFAULT, since EFAULT should only apply to
- 	invalid non-null pointers.
-
-2000-05-14  Steve Robbins  <steve@nyongwa.montreal.qc.ca>
-
-	* Makefile.am (test_LDADD): put libgslpermutation ahead of
-	libgslvector in the link beccause the former uses
-	`gsl_check_range' which is defined in the latter.
-
-Tue Apr 11 19:59:01 2000  Brian Gough  <bjg@network-theory.co.uk>
-
-	* bsimp.c (bsimp_step_local): changed gsl_la prefix to gsl_linalg,
- 	new naming convention
-	
-
-Fri Oct  1 15:46:13 1999  Brian Gough  <bjg@network-theory.co.uk>
-
-	* bsimp.c: converted to use new-style block/vector code
-
+2011-05-01  Tuomo Keskitalo  <Tuomo.Keskitalo@iki.fi>
+
+	* Replaced ChangeLog with contents of ode-initval2 development log
+	file (ChangeLog-odeiv2_development) and reformatted the log file.
+
+2010-10-16  Tuomo Keskitalo  <Tuomo.Keskitalo@iki.fi>
+
+	* Modified evolve and driver so that when user function returns
+	GSL_EBADFUNC, then ode-initval2 functions return immediately with
+	that same return value.
+
+	* Corrected bug in msadams for saving ordm1coeff to state. Thanks
+	to Andrew Benson for pointing out this bug!
+
+2010-10-10  Tuomo Keskitalo  <Tuomo.Keskitalo@iki.fi>
+
+	* driver.c: Corrected error in driver_evolve_apply, integration to
+	negative direction should work now.
+
+	* Added evolve_apply_fixed_step and driver_apply_fixed_step for
+	users who want to use a constant step size to evolve the system.
+
+	* test.c: added test cases for driver (negative evolution,
+	apply_fixed_step).
+
+	* gsl_odeiv2.h: cleaning and add apply_fixed_step functions.
+
+	* doc/ode-initval.texi: Replaced derivative apostrophe with \prime
+	(because my new system fails to make ps otherwise). Added new
+	documentation about apply_fixed_step functions.
+
+2010-10-09  Tuomo Keskitalo  <Tuomo.Keskitalo@iki.fi>
+
+	* ode-initval2 bzr development branch now at savannah:
+	http://bzr.savannah.gnu.org/r/gsl/ode-initval2/
+
+2010-01-02  Tuomo Keskitalo  <tuomo.keskitalo@iki.fi>
+
+	* Changes from ode-initval2-0.9 to ode-initval2-1.0:
+
+	* Removed set_control member from step object and added a
+	set_driver member to evolve, control and step objects, so that the
+	driver object and consequently evolve, control and step objects
+	are all accessible from another. Currently only some steppers
+	utilize this. They access the control_errlevel function via
+	state->driver->c instead of state->control. This modification to
+	the framework enables implementation of more efficient ODE
+	solvers, which utilize communication among evolve, control and
+	stepper objects. This also means that some steppers now require a
+	driver object, and it is best to use those stepper methods through
+	driver object functions.
+
+	* cstd.c and cscal.c: Added a sanity check for errlev <= 0
+
+	* run indent -gnu -nut for *.c *.h
+
+	* driver.c: added function odeiv2_driver_alloc_standard_new and
+	odeiv2_driver_alloc_yp_new
+
+	* driver.c: changed n and nmax in driver struct to unsigned long
+	int
+
+	* modified documentation accordingly with small nomenclature
+	changes and made year updates to source files
+
+2009-11-01  Tuomo Keskitalo  <tuomo.keskitalo@iki.fi>
+
+	* Merged with master and modified source to be published as a
+	package for gsl-1.13.
+
+2009-05-09  Tuomo Keskitalo  <tuomo.keskitalo@iki.fi>
+
+	* Agreed with Brian Gough that the modification I've made cannot
+	be incorporated to GSL until a major version number change, due to
+	changes in API.
+
+	* Replated rk2imp with imprk2 and rk4imp with imprk4. Also renamed
+	impeuler to rk1imp for consistency.
+
+	* Deleted steppers that are deprecated considering new major
+	release: gear1, gear2, and rk2simp. Modified test.c accordingly.
+
+2009-05-01  Tuomo Keskitalo  <tuomo.keskitalo@iki.fi>
+
+	* Merged with master (evolve.c and test.c needed some manual
+	work).
+
+	* driver.c: Modified alloc-functions to minimal interface, added
+	set_hmax, set_nmax and set_hmin functions.
+
+	* test.c: Added test for minimum allowed step size.
+	Applied indent -gnu -nut.
+
+	* doc/ode-initval.texi: Updated documentation, added Driver
+	section, updated examples.
+
+2009-04-05  Tuomo Keskitalo  <tuomo.keskitalo@iki.fi>
+
+	* Several uninitialized variable corrections from Brian Gough
+	added
+
+	* modnewton1, impeuler, imprk2, imprk4: removed unneeded arguments
+	from solve and init
+
+	* msadams and msbdf modifications:
+
+	* added ordprevbackup, ordwaitbackup (backups) and failcount (to
+	detect repeated steps rejections).
+
+	* added checks to make sure order is not changed by more than one
+	order. Added sanity check to catch it.
+
+	* corrected failure and rejection handling for first step
+
+	* Added a heuristic stability enhancement for msbdf. This is yet
+	to be tested in practice.
+
+	* test.c: Added more benchmark test cases. The results seem
+	sensible.
+
+	* test.c: Note for benchmark_precision: msbdf performs badly in
+	rhs_func_exp. Newton iteration starts to fail to converge at some
+	point, and this forces very small step sizes to be used. I
+	currently think that this is not a bug, but that msbdf is just not
+	suitable for this problem. I think that msbdf's prediction step
+	does not give a good initial guess for Newton iteration in this
+	case.
+
+	* I tried to increase max_iter in msbdf from 3 to 7 (value used in
+	modnewton1), and as a result, the performance was better for this
+	case (Newton iteration convergence was better). However, I would
+	not increase max_iter, because the default value of 3 is the value
+	used by the authors in the references, and because it would
+	decrease the efficiency of msbdf (method would use more function
+	evaluations per step, and convergence might still not be
+	achieved). It is best to useanother stepper in this kind of a
+	case.
+
+2009-02-28  Tuomo Keskitalo  <tuomo.keskitalo@iki.fi>
+
+	* new stepper: msbdf. This is a variable-coefficient linear
+	multistep backward differentiation formula (BDF) method in
+	Nordsieck form. It appears to handle stiff cases well and it is
+	efficient!
+
+	* test.c: Ordered functions in file. Added extreme test case.
+
+	* modnewton1: Convergence test now takes the desired error level
+	via control object into account. Modified steppers that use
+	modnewton1 accordingly.
+
+	* modnewton1: Removed reuse_decomp. The variable was useless since
+	iteration matrix is reconstructed at each stepper call.
+
+	* modnewton1: Dropped max_iter from 10 to 7. Hairer and Wanner
+	suggests a "relatively high number", but many iterations per step
+	is costly.
+
+	* steppers that use step doubling for error estimates: Introduced
+	constant GSL_ODEIV_ERR_SAFETY in gsl_odeiv.h that is used to
+	multiply the error estimates (yerr). This way user can modify this
+	coefficient in one place if a change is wanted.
+
+	* driver.c: This is a high level wrapper for ode-initval, which
+	was wished for in TODO. Added test_driver to test.c to test it. Is
+	this functionality enough?
+
+	* ode-initval.texi: Added documentation for new steppers. Moved
+	note about user error codes to system definition.
+
+	* Some finetuning / code cleanup.
+
+2009-01-21  Tuomo Keskitalo  <tuomo.keskitalo@iki.fi>
+
+	* New explicit stepper: msadams (An explicit variable-coefficient
+	linear multistep Adams method in Nordsieck form). Functional
+	iteration is used to solve the non-linear equation system. The
+	algorithms described in the references (see msadams.c) have been
+	adapted to fit GSL odeiv framework. Currently this is beta, but
+	the stepper now passes the odeiv test suite.
+
+	* control.c, cstd.c, cscal.c: Added errlev function which
+	calculates desired error level. This is used in masadams (and can
+	be used in imp* steppers, too) to control accuracy of functional
+	iteration. User must call gsl_odeiv_step_set_control after
+	allocating step and control objects to pass the information about
+	control object to stepper. This change (or something similar) is
+	needed to pass tolerance for the stepper routines that need
+	it. Modified stepper routines accordingly.
+
+	* evolve.c: Changed the step length scaling coefficient for
+	stepper failure from 0.1 to 0.5, because msadams seems to cope
+	much better with this change in stiff[0,1] test case.
+
+	* gsl_odeiv.h: gsl_odeiv_control and control_type introduced
+	earlier because gsl_odeiv_step_type now refers to it.
+
+2008-11-01  Tuomo Keskitalo  <tuomo.keskitalo@iki.fi>
+
+	* New implicit solvers: imprk4 (replaces imprk42 in previous test
+	package), imprk2 (replaces imprk21 in previous test package) and
+	impeuler, which use modified Newton iteration to solve the
+	implicit equations. I decided to dump imprk42 and imprk21 because
+	I was unsure how to calculate the error estimates for them. I
+	think that these new implicit methods could be used instead of
+	rk4imp, rk2imp, gear2 and gear1, which use functional
+	iteration (which is inefficient for stiff problems.) However, even
+	these new solvers can not be used efficiently for truly nasty
+	stiff problems, and better solvers are still needed.
+
+	* modnewton1.c: a modified Newton solver for solution of
+	non-linear equations of implicit solvers. Jacobian evaluation has
+	been moved from modnewton1 to imprk2, imprk4 and impeuler.
+
+	* evolve.c: modification to decrease step size if stepper fails,
+	instead of giving up immediately.
+
+	* evolve.c: A bug fix: Exit with GSL_FAILURE if step size reaches
+	machine precision instead of continuing with old step size.
+
+	* test.c: added Robertson stiff test
+
+	* test.c: embedded test_oregonator to test_compare_stiff_probelms
+	to test several stiff problems. Note: the tested integration
+	interval is rather short due to inefficiency of solvers other than
+	bsimp in these problems.
+
+	* test.c: modified test_compare_vanderpol and
+	test_compare_stiff_problems to check against results from first
+	ode-solver. Changed rk4 or bsimp to first place.
+
+	* test.c: modified stepfn and stepfn2 and expanded these to be
+	tested with all explicit solvers
+
+	* test.c: removed stepfn3 and added test_broken and
+	test_stepsize_fail to check that evolve decreases step size below
+	machine precision and exits with a failure code in the end if user
+	functions fail continuously.
+
+	* Changes in ode-initval.texi:
+
+	* removed untrue sentence concerning stepping functions: "The
+	step-size @var{h} will be set to the step-size which caused the
+	error."
+
+	* Changed gsl_odeiv_system variable name from dydt to sys for
+	clarity
+
+	* added "explicit" or "implicit" to stepper introductions for
+	clarity
+
+	* reformulated description of evolve_apply and step_apply and made
+	changes to reflect the modifications to the code.
+
+	* clarified the point on integrating over discontinuities. It is
+	best to integrate in sequences.
+
+	* removed the text suggesting the user to force a step size to
+	integrate over the edge of a discontinuity. The applicability of
+	this kind of a numerical tweak depends on the case, and should in
+	my opinion not to be included in a reference book.

# Begin bundle
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
nQ==

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]