Кіріспе
Математикада Ланчос жуықтауы – Корнелиус Ланчос 1964 жылы жариялаған гамма функциясын сандық түрде есептеу әдісі. Бұл гамма функциясын белгілі бір дәлдікпен есептеу үшін, көбірек танымал Стирлинг жуықтауына қарағанда тиімді балама болып табылады.
Кіріспе
Ланчос жуықтауы гамма-функциясының формуласынан тұрады, мұнда g – нақты тұрақты, оны Re(z+g) > 0 шектеуіне сәйкес кез келген түрде таңдауға болады. g-ге тәуелді p коэффициенттерін есептеу сәл қиынырақ (төменде қараңыз). Бұл жерде келтірілген формула тек оң жақ күрделі жарты жазықтықтағы аргументтер үшін ғана жарамды болса да, оны керіту формуласы арқылы бүкіл күрделі жазықтыққа кеңейтуге болады. A қатары жинақты, және қажетті дәлдікке жуықтау үшін оны қысқартуға болады. Тиісті g-ні (әдетте кішкентай бүтін сан) таңдау арқылы, гамма-функциясын стандартты бір немесе екі еселі қалқыма нүктелік дәлдікпен есептеу үшін шамамен 5–10 мүшесі ғана қажет. Егер g тұрақты болса, коэффициенттерді алдын ала есептеуге болады және бөлшектерге жіктеудің арқасында, қосынды келесі түрге түседі: Осылайша гамма-функциясын есептеу – тек бірнеше элементарлық функцияларды бағалау және сақталған тұрақтыларға көбейту мәселесіне айналады. Ланчос жуықтауын «Сандық рецепттер» танымал етті, оған сәйкес гамма-функциясын есептеу «sin x немесе e^x сияқты біз әдеттегідей қабылдайтын басқа функцияларды есептеуден көп қиын емес». Бұл әдіс GNU ғылыми кітапханасы, Boost, CPython және musl жүйелерінде де қолданылады.
for the gamma function, with
Here g is a real constant that may be chosen arbitrarily subject to the restriction that Re(z+g+) > 0. The coefficients p, which depend on g, are slightly more difficult to calculate (see below). Although the formula as stated here is only valid for arguments in the right complex half plane, it can be extended to the entire complex plane by the reflection formula,
The series A is convergent, and may be truncated to obtain an approximation with the desired precision. By choosing an appropriate g (typically a small integer), only some 5–10 terms of the series are needed to compute the gamma function with typical single or double floating point precision. If a fixed g is chosen, the coefficients can be calculated in advance and, thanks to partial fraction decomposition, the sum is recast into the following form:
Thus computing the gamma function becomes a matter of evaluating only a small number of elementary functions and multiplying by stored constants. The Lanczos approximation was popularized by Numerical Recipes, according to which computing the gamma function becomes "not much more difficult than other built in functions that we take for granted, such as sin x or ex." The method is also implemented in the GNU Scientific Library, Boost, CPython and musl.