From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19115 invoked by alias); 25 Jun 2013 22:34:31 -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 19095 invoked by uid 89); 25 Jun 2013 22:34:28 -0000 X-Spam-SWARE-Status: No, score=-6.0 required=5.0 tests=AWL,BAYES_50,KHOP_THREADED,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.1 Received: from proofpoint3.lanl.gov (HELO proofpoint3.lanl.gov) (204.121.3.28) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 25 Jun 2013 22:34:25 +0000 Received: from mailrelay1.lanl.gov (mailrelay1.lanl.gov [128.165.4.101]) by proofpoint3 (8.14.4/8.14.4) with ESMTP id r5PMXv5j024919; Tue, 25 Jun 2013 16:34:01 -0600 Received: from localhost (localhost.localdomain [127.0.0.1]) by mailrelay1.lanl.gov (Postfix) with ESMTP id 1BF0F14150A5; Tue, 25 Jun 2013 16:33:57 -0600 (MDT) X-NIE-2-Virus-Scanner: amavisd-new at mailrelay1.lanl.gov Received: from manticore.lanl.gov (manticore.lanl.gov [130.55.124.157]) by mailrelay1.lanl.gov (Postfix) with ESMTP id 02E2814150A3; Tue, 25 Jun 2013 16:33:57 -0600 (MDT) Message-ID: <51CA1AC9.6040709@lanl.gov> Date: Tue, 25 Jun 2013 22:34:00 -0000 From: Gerard Jungman User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6 MIME-Version: 1.0 To: mendl@ma.tum.de, gsl-discuss@sourceware.org, help-gsl@gnu.org Subject: Re: reference for Fermi-Dirac integral implementation References: <9d811eafdfc1fe9a3f2d9718ff9b3222.squirrel@wml.ma.tum.de> In-Reply-To: <9d811eafdfc1fe9a3f2d9718ff9b3222.squirrel@wml.ma.tum.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.10.8794,1.0.431,0.0.0000 definitions=2013-06-25_08:2013-06-25,2013-06-25,1970-01-01 signatures=0 X-SW-Source: 2013-q2/txt/msg00018.txt.bz2 On 06/21/2013 04:17 AM, mendl@ma.tum.de wrote: > Dear Gerard Jungman, > > could you provide me with a reference (i.e., published paper) for your > implementation of the Fermi-Dirac integral function for the GNU Scientific > Library? > > I'm currently working on a re-implementation for CUDA, and am thus curious > to learn about your work. For my case, only single precision accuracy is > needed, but the CUDA version should run fast since it has to be executed > many times. > > Thanks a lot! > > Christian Mendl > http://christian.mendl.net Hi. Thanks for the question. I have included the GSL mailing list in my reply, so that the answer can be archived. The fixed index functions are Chebyshev fits. I may have computed those myself. If you happen to only need fixed index functions, the best thing would be to recompute the fits at the fixed precision that you need. But I assume you are actually asking about the variable index "F_j(x)". The reference to "Goano" in fermi_dirac.c was unfortunately never spelled out there. This reference should have been given as follows: M. Goano, ACM Trans. Math. Soft. 21 (1995) 221. "Algorithm 745: Computation of the Complete and Incomplete Fermi-Dirac Integral" Looking at the code, I see that some of the branches depend on other GSL functions, including the hypergeometric functions. This is a can of worms, since the hypergeometric implementations are the most complicated in the library. Eventually, there must be a better way to do this, but it would require some original research. -- G. Jungman