URL: <https://savannah.gnu.org/bugs/?66850>
Summary: Feature: special cases hypergeometric2F1(a+1, b, a, x) and hypergeometric2F1(a, b+1, b, x) Group: GNU Scientific Library Submitter: fermelelundi Submitted: Wed 26 Feb 2025 12:16:00 PM UTC Category: Build Severity: 3 - Normal Operating System: Status: None Assigned to: None Open/Closed: Open Discussion Lock: Any Release: 2.8 _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Wed 26 Feb 2025 12:16:00 PM UTC By: Fermé le Lundi <fermelelundi> Two more special cases for hypergeometric2F1: hypergeometric2F1(a+1, b, a, x) = ((1 - x)^(-b) (-a + a x - b x))/(a (-1 + x)), where a not equal 0 hypergeometric2F1(a, b+1, b, x) = ((1 - x)^(-a) (-b - a x + b x))/(b (-1 + x)), where b not equal 0 Or, simplified and in Latex: _2F_1(a+1, b, a, x) = \frac{1 - (1-\frac{b}{a})x}{(1-x)^{b+1}} \\ _2F_1(a, b+1, b, x) = \frac{1 - (1-\frac{a}{b})x}{(1-x)^{a+1}} The attached diff-file includes these cases and below some test cases for inclusion into specfunc/test_hyperg.c: TEST_SF(s, gsl_sf_hyperg_2F1_e, (2, 1, 1, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (3, 2, 2, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (4, 200, 3, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (4, -500, 3, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (2, 1, 1, 1/2.0, &r), 4, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (4, 1, 3, 1/2.0, &r), (2/3.0)+2, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (5, 1, 4, 1/2.0, &r), 2.5, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (10, 1, 9, 1/2.0, &r), (2/9.0)+2, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (-9, 1, -10, 1/2.0, &r), 9217/5120.0, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (3, -1, 2, -1, &r), 5/2.0, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (-3, -1, -4, -1, &r), 7/4.0, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (2, -1, 1, -1, &r), 3, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (11, -1, 10, -1, &r), 2.1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (0, 1, 2, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (1, 3, 2, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (2, 30, 29, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (200, -1, -2, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (-500, -1, -2, 0, &r), 1, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (1, 5, 4, 1/2.0, &r), 5/2.0, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (1, 15, 14, 1/2.0, &r), 15/7.0, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (1, -2, -3, 1/2.0, &r), 17/12.0, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (1, -12, -13, 1/2.0, &r), 98305/53248.0, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (-1, 5, 4, -1, &r), 9/4.0, TEST_TOL0, GSL_SUCCESS); TEST_SF(s, gsl_sf_hyperg_2F1_e, (-1, 3, 2, -1, &r), 2.5, TEST_TOL0, GSL_SUCCESS); _______________________________________________________ File Attachments: ------------------------------------------------------- Name: specfunc_hyperg_2F1.diff Size: 674B <https://file.savannah.gnu.org/file/specfunc_hyperg_2F1.diff?file_id=56955> AGPL NOTICE These attachments are served by Savane. You can download the corresponding source code of Savane at https://savannah.gnu.org/source/savane-513955078e56c124c506c834d031bbe09cbf4040.tar.gz _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?66850> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature