bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gsl] msadams.c:973 aborts with GSL_ESANITY


From: Michael Kaufman
Subject: [Bug-gsl] msadams.c:973 aborts with GSL_ESANITY
Date: Tue, 26 Sep 2017 14:36:02 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

Hi all,

since the header says that this is a sanity check that shouldn't happen, I supposed I ought to report it.

-- order change -2
gsl: msadams.c:973: ERROR: msadams_apply too large order change
Default GSL error handler invoked.

I'm running on OSX 10.11.6 using a gsl-2.4_1 from macports.

I'm solving a 72 equation ODE.

The form of the equation is:
  dA_m(z)/dz = -a_m*A_m(z)+Sum_n[K_mn(z)*A_n(z)*exp(j*b_mn*z)]

where I split the complex A_m's into real and imaginary parts.

Unfortunately, the exact functional form of K_mn(z) is rather complicated, so there is no simple program (that I can write) that trips this bug.

This is how I initialize:

  driver = gsl_odeiv2_driver_alloc_y_new(&sys, gsl_odeiv2_step_msadams,
                                         0.05, abstol, 0);

Strangely, if I solve the ODE with and abstol of 1e-8 and then immediately afterward solve again with an abstol of 1e-10, (for convergence testing) then the abort happens (call this case 1). If I solve just one time with abstol=1-10, then the abort doesn't happen (I'm reasonably sure that my initial conditions are the same) -> call this case 2.

By the by, after turning the gsl_error_handler off, under case 1 the ODE solver continues and delivers an answer that looks the same as case 2 to at least 5 significant digits.

M



reply via email to

[Prev in Thread] Current Thread [Next in Thread]