URL: <https://savannah.gnu.org/bugs/?66808>
Summary: Bug: Airy Ai function values inaccurate
Group: GNU Scientific Library
Submitter: fermelelundi
Submitted: Mon 17 Feb 2025 02:27:45 PM UTC
Category: Accuracy problem
Severity: 3 - Normal
Operating System: Linux
Status: None
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Release: 2.9
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Mon 17 Feb 2025 02:27:45 PM UTC By: Fermé le Lundi <fermelelundi>
The Airy Ai function gsl_sf_airy_Ai_e() exhibits progressively larger
deviations from the actual value the further away from the origin.
Some tests which can be inserted into specfunc/test_airy.c to demonstrate the
issue and of which the first few have been commented out to make the `make
check` step pass:
/* TEST_SF(s, gsl_sf_airy_Ai_e, (10, m, &r), 0.0000000001104753, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (9, m, &r), 0.0000000024711684, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (8, m, &r), 0.0000000469220762, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (7, m, &r), 0.0000007492128864, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (6, m, &r), 0.0000099476943603, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (5, m, &r), 0.0001083444281361, TEST_TOL0,
GSL_SUCCESS);*/
TEST_SF(s, gsl_sf_airy_Ai_e, (4, m, &r), 0.0009515638512048, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (3, m, &r), 0.0065911393574607, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (2, m, &r), 0.0349241304232744, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (1, m, &r), 0.1352924163128814, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (0, m, &r), 0.3550280538878172, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (-1, m, &r), 0.5355608832923521, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (-2, m, &r), 0.2274074282016856, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (-3, m, &r), -0.3788142936776582, TEST_TOL0,
GSL_SUCCESS);
TEST_SF(s, gsl_sf_airy_Ai_e, (-4, m, &r), -0.0702655329492897, TEST_TOL0,
GSL_SUCCESS); /* last digit should be 5 instead of 7 */
TEST_SF(s, gsl_sf_airy_Ai_e, (-5, m, &r), 0.3507610090241141, TEST_TOL0,
GSL_SUCCESS); /* last digit should be 3 instead of 1 */
TEST_SF(s, gsl_sf_airy_Ai_e, (-6, m, &r), -0.3291451736298232, TEST_TOL0,
GSL_SUCCESS); /* last digit should be 1 instead of 2 */
TEST_SF(s, gsl_sf_airy_Ai_e, (-7, m, &r), 0.1842808352505061, TEST_TOL0,
GSL_SUCCESS); /* last digit should be 4 instead of 1 */
TEST_SF(s, gsl_sf_airy_Ai_e, (-8, m, &r), -0.0527050503563859, TEST_TOL0,
GSL_SUCCESS); /* last digits should be 62 instead of 59 */
TEST_SF(s, gsl_sf_airy_Ai_e, (-9, m, &r), -0.0221337215473412, TEST_TOL0,
GSL_SUCCESS); /* last digit should be 4 instead of 2 */
TEST_SF(s, gsl_sf_airy_Ai_e, (-10, m, &r), 0.0402412384864441, TEST_TOL0,
GSL_SUCCESS); /* last digits should be 32 instead of 41 */
Together with #52570 and #52359 it appears that the Airy Ai implementation
needs a review.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?66808>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
