From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 96737 invoked by alias); 24 Mar 2016 18:22:21 -0000 Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org Received: (qmail 96728 invoked by uid 89); 24 Mar 2016 18:22:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: Yes, score=5.8 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=no version=3.3.2 spammy=gsl-discuss, gsldiscuss, H*r:sk:mail-bl, H*r:sk:na01-bl X-HELO: na01-bl2-obe.outbound.protection.outlook.com Received: from mail-bl2on0111.outbound.protection.outlook.com (HELO na01-bl2-obe.outbound.protection.outlook.com) (65.55.169.111) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Thu, 24 Mar 2016 18:22:10 +0000 Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=colorado.edu; Received: from [192.168.0.226] (67.6.166.44) by BY1PR0301MB0904.namprd03.prod.outlook.com (10.160.195.143) with Microsoft SMTP Server (TLS) id 15.1.434.16; Thu, 24 Mar 2016 18:22:07 +0000 Subject: GSL K0/K1 References: <56F42FED.8060500@colorado.edu> To: "gsl-discuss@sourceware.org" From: Patrick Alken X-Forwarded-Message-Id: <56F42FED.8060500@colorado.edu> Message-ID: <56F4304C.3000907@colorado.edu> Date: Thu, 24 Mar 2016 18:22:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56F42FED.8060500@colorado.edu> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DM3PR18CA0027.namprd18.prod.outlook.com (25.164.243.37) To BY1PR0301MB0904.namprd03.prod.outlook.com (25.160.195.143) X-MS-Office365-Filtering-Correlation-Id: 14e2f34f-0661-476e-fb4b-08d35411354c X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB0904;2:VJnit7fXq9ry+lWgF91j1NnMuVPN7brqpnMgwiXTop6cBo4w78Dv9PExc32CSOnxmC6oDN1BM2GGt9trRgDJG4eTyxJORD+wZENKlZ3Ue0uQVrUbpOJ1vpB+oNFx5bgnvSD6whZ/q5rq61vD8XHrG2CXFy01OHQd7bLzqONeD8gjaHQlSZ2zDV+oIyaoC6/0;3:eGS46g55AbODJ98gXRSqKuowoYSkFfGvLgNxW6ImbqByxbmdZ3hg9AnGd5CnTzSMPw6+6ozDeDCuOeXxD70JS1ME3X97IgGH1uSNR1+3S+WFz04puwSz54Xlh+hOzp2p;25:fe1hk5MnrG7SZoSzzwsfRP9u7+DDHzP/vF5oF/P1xIJrLK/M5jtl1Ld4+r9k3eIs5XpFnvMQBxCUtDWkH6RpWt1n0atI6qCUhk/SSrlRwCKM8NEEDoFRXdpYvxvyta664/EBIgfi9x+sLBOpPvOcKBKKXK7TFM6ZsFlRK2hiMTtRht5BxdA83jzlGlHHBWAy0ZHE3Ubw+qKh4qRs8RLg+gqHi2P3IsBpVXXhzmhfM33N0FHTnMgiIf1ZogGZWd3qomtswd63X7fOe4yNDguuQ52p1MGRkuuALG3Z7TNMMtUTW2jifmHMFaRbdwU7ClUfPUwx0G38h5QS8PUfMpECONS5Kaz0DRrur/Oqj+PUYTzYf9r4tPIwKu4/qKUXWMxG7DOz4ugc574fevFtKK4eJuzSmTD9+IYRuuVT6QwGgxCq6uscmHAqerTeGqEMi80n6yFGldFT+DNhkEY7x7IjUbGWQ1P8wORO+ZhQpkISIARhi2UljYnXAmKRo3274Sj/hd9JceisJVqC2xwDQnmoCnVplsMNg0KZn27ZpvAzP/W35/EWYyAyHASjNhLbaJEA X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB0904; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:BY1PR0301MB0904;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB0904; X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB0904;4:R2DRER1Dv/P53UJIPkQuTInuLQW4nnbGei3xrkARZ32qwro0ikHXWjGFZX/miH3bjodqejk+LaCWEBq+4Y+0CJoc006nOjmOC8tUrHx65kLmd30jaKYtFACntltbOe6UU9kT/vCe/5b9RkU5RiuFMdkMihgop+vL19bVVsCq6uCD8C5WEswmY+SXDdtH09u+lgMmd4BXi2+KubKm9nesEZZwDG9/gZYddbRbJVrDPsa0hSv360k3oXbKHRG7EaM1IaCoAsiAvB8BpOdAp35xnBGUVw8anv/h+svQn6HvbQptEa/AR49L2+tTMB+I6aL47p668X7N0oaA+Z5v5wGdCIIlo9jRkVXXE6Olu1fX6cklQ7zSWlfaoi+ObHsX3h0b X-Forefront-PRVS: 0891BC3F3D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(23676002)(2906002)(117156001)(586003)(5008740100001)(50986999)(189998001)(2351001)(229853001)(3846002)(1096002)(4001350100001)(6116002)(50466002)(88552002)(450100001)(47776003)(90282001)(83506001)(5004730100002)(230700001)(36756003)(87266999)(107886002)(110136002)(75432002)(54356999)(76176999)(65816999)(2501003)(92566002)(59896002)(5640700001)(77096005)(42186005)(65806001)(66066001)(89122001)(2950100001)(33656002)(65956001)(64126003);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR0301MB0904;H:[192.168.0.226];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzMDFNQjA5MDQ7MjM6enhyZHdQNjdHYWtiUklvU29OdmRIMEFK?= =?utf-8?B?YnlEWU1jYm1pejJ0MFpqSWp4N3VNMnI2WUNIZjlZa09uZk5pbFA3bm44MmxD?= =?utf-8?B?dDRTWjN0MWJObzBHWjNaVDluSnd5WWI4c203MzZJN05vS1JoOUdXL3VqYUJi?= =?utf-8?B?Y2tsSndOSUorK1JzOUp3SWJNSnFuWnQ3V0E1NXhpSVRKdDh6RGZpeVNsVi9r?= =?utf-8?B?OWVYVjJRc3FpbW5pVVRTNklwd3ZpMWY0UnB2enVoNGVPZXJjNThtNGE3R2dV?= =?utf-8?B?R2Rjd2NGSlI2L2pIcGhjNGNHc2ZvWjJZc2FOK2l0aGdPdmt1dDJhREhyenBR?= =?utf-8?B?OWIwaGZrMW5MbTY0K3FYZE1jcU13VHlhK0JaSzhSYm9mcUpDNy9RTUxVT1Nm?= =?utf-8?B?RVVuelcwTWdqTFJ3WHIxVlhOY1hYVjNVaGRTMytTVDhTczlJMUQrS1ZIZWN6?= =?utf-8?B?OXBxeDNVVXZZbExrY04xdWVZTFhYZTNIbjYyVHlQa3VJaFRuU1lYT0Y4cENS?= =?utf-8?B?Wlk4UjduZThmNVFEQkZZNFVoYkdzV3UzWWU0c2F1SjRzSkVpNERjdXpVY0dF?= =?utf-8?B?N0d6d01VWFpQQndWZU5YQ2EvUmdaKzB4RW52djc5UHlrUVh6K0Q1RFo0Y3Fv?= =?utf-8?B?TkVTbUcxS1J3R0lKdUFCS0NOVmpqd3NNV2dLaFpNbHZOK0hScnM3RGp1eCsv?= =?utf-8?B?Q1RrUW9WbzNjVGlOeHdxOG5iR0VHK1R4MmhsZ0ptaDhrSWdXWStyYSs5bGxD?= =?utf-8?B?bTdlMDhEWURlYU8reUJZUmZzeE9RdDlQL3FseGUwZk5LV1dsRDQwby9wWHp1?= =?utf-8?B?ck55N1NpTFBGcjFrWkZ3dXdHMXBiSzYwdlRnMFBPeUFqUERyT0E4UUhwUzJC?= =?utf-8?B?dmtvcnBSblJkd25KaW1CYWFXN1Fnd2c0eVB2eDFJdzMwNVZqWE8ycjJNQ09r?= =?utf-8?B?VW93T3JUUnpBaXNFRnNCSVk1QVFIY2JScFRjaER6dTR4Yno2ZzVZSTIrZVAx?= =?utf-8?B?L3UxY1I0bjcvQ1FPSWtSalJHcnc0TWREL2xIZjUweUpjTm1GeHl5RmllbGFr?= =?utf-8?B?N0MvRjhRN3JYejBScUdUbm9KWVhmUFAwNTdRL1RybkhsZmlxZ2dVc1JwNzJm?= =?utf-8?B?SHBHalA2MjRKQ0JoK0NCU2VudTRmelhZTHBzejEvbEIyYU5zeE1OVG52QjB0?= =?utf-8?B?WkR6K1hCRmFlRzJnMkU3NnAxb2t3N0R4MlpFOEh0b00ySU8rMnMxMnE1Kzh2?= =?utf-8?B?TXBJS3gzWDZPQjlINlN5Vlc3elNCME1IcHZxaWF3c3hUbHI5SWREMzBiQzBr?= =?utf-8?B?K1JWOFFiWjBxTFZzM3ZDR3MvbXI0OHZUWUFFYzhZNlZLYzFHREJIRjRCck9O?= =?utf-8?B?TlNXQmlEUHlFTXVCYUVkRCtTOUZ0L01SSlAvN0plYjdnS21acU9LaUNiZ3M3?= =?utf-8?B?ZGQzU24weTVmeU9sK0dXY05lTEFLMU0vM09IcGMzM0xXaUlSakdveWcrb1dE?= =?utf-8?B?Y0pQZmpuTlhzRmV6RVZYZEFXY2Z4cEIvai9oL1lQY1JFbDRWUjN3RU9saGY2?= =?utf-8?B?MzVZOFRHdlJ1enI4cDFrM0xORGtzd3F0QT09?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB0904;5:w95nTMDqBZ+5bAYEOpo3NcsF1VVhZwKcHlmrSw0xldwKFkiyQjF7y8U2HGBgq+CdK4q6NpXnUlsve+F7QP5Nc8KzvYEsgudqigKLb0VJ12BYaO/s2tG9/36VesOIl/NYgrreAvuUr9odTpj8Fi9fEA==;24:4/f+7euHuAT2O+HJw/mSPHIO1iNRZZY5JuDINYLG1qDqrfLCYVbewWAuXFejAWOBbCpgAqWNIA6Mb9m9J/xu4P/oGMQ+WybqotAhOTfxGNw= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: colorado.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2016 18:22:07.1349 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0301MB0904 X-SW-Source: 2016-q1/txt/msg00025.txt.bz2 Pavel, The Bessel function results look good. If everything is tested you can merge it all into the master branch. I'm cc'ing gsl-discuss so that this discussion will start to be archived. Regarding the error estimates, an attempt was made early on in GSL to provide error estimates for all the special functions. From section 7.2 of the manual: ---- The field val contains the value and the field err contains an estimate of the absolute error in the value. ---- I confess I don't fully understand all the error estimation, or even how accurate the estimates are. I don't know if any studies were done to verify the accuracy of these error estimates. One of the original GSL developers (Gerard Jungman) wrote a lot of this code (I've cc'd him on this email) - maybe he can help shed light on this. Since you've already done exhaustive comparisons of your new Bessel functions against arbitrary precision libraries, maybe you could simply change the error estimate to be: err = factor * GSL_DBL_EPSILON where factor are the numbers you've found in your error analysis. This way the calculation would be very fast (and probably more accurate than the current error estimation). We can wait and see if Gerard has any suggestions on this too. Gerard - since you haven't been following this email chain, Pavel has found more accurate Chebyshev expansions for the Bessel K0/K1 functions which have lower errors than the original GSL implementations when compared with arbitrary precision libraries. Through lots of random testing he has found upper limits on the errors of each function given by some positive constant times GSL_DBL_EPSILON. We are wondering if its safe to change the error estimation of these functions (I don't know the origin of the current calculations for these error estimates). Patrick