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