Lanczos taxminan - Lanczos approximation - Wikipedia

Yilda matematika, Lanczos taxminan hisoblash usulidir gamma funktsiyasi tomonidan nashr etilgan raqamli Kornelius Lancos 1964 yilda. Bu ommabopning amaliy alternativasi Stirlingning taxminiy qiymati gamma funktsiyasini aniq aniqlik bilan hisoblash uchun.

Kirish

Lanczos yaqinlashishi formuladan iborat

gamma funktsiyasi uchun

Bu yerda g a doimiy bu o'zboshimchalik bilan Re (z) > 1/2.[1] Koeffitsientlar pbog'liq bo'lgan g, hisoblash biroz qiyinroq (pastga qarang). Garchi bu erda aytilgan formulalar faqat to'g'ri kompleksdagi argumentlar uchun amal qiladi yarim tekislik, u butunlay kengaytirilishi mumkin murakkab tekislik tomonidan aks ettirish formulasi,

Seriya A bu yaqinlashuvchi va kerakli aniqlik bilan taxminiylikni olish uchun qisqartirilishi mumkin. Tegishli narsani tanlab g (odatda kichik butun son), gamma funktsiyasini tipik bilan hisoblash uchun ketma-ketlikning atigi 5-10 atamasi kerak bitta yoki ikki baravar suzuvchi nuqta aniqlik. Agar sobit bo'lsa g tanlanadi, koeffitsientlarni oldindan hisoblash mumkin va yig'indisi quyidagi shaklda qayta tiklanadi:

Shunday qilib, gamma funktsiyasini hisoblash faqat oz sonini baholash masalasiga aylanadi elementar funktsiyalar va saqlangan doimiylar bilan ko'paytiriladi. Lanczos yaqinlashuvi tomonidan ommalashtirildi Raqamli retseptlar, unga ko'ra gamma funktsiyasini hisoblash "biz qabul qilgan boshqa ichki funktsiyalardan, masalan, gunohdan ancha qiyin bo'lmaydi"x yoki ex". Shuningdek, usul GNU ilmiy kutubxonasi.

Koeffitsientlar

Koeffitsientlar tomonidan berilgan

qayerda ifodalaydi (n, m) ning elementi matritsa uchun koeffitsientlar Chebyshev polinomlari, buni hisoblash mumkin rekursiv ushbu identifikatorlardan:

Godfrey (2001) koeffitsientlarni qanday olishni va shuningdek, qisqartirilgan qatorlarning qiymatini tavsiflaydi A kabi matritsa mahsuloti.[2]

Hosil qilish

Lanczos formulani quyidagidan oldi Leonhard Eyler "s ajralmas

olish uchun asosiy manipulyatsiyalar ketma-ketligini bajarish

va integral uchun qator hosil qilish.

Oddiy dastur

Quyidagi dastur Python dasturlash tili murakkab argumentlar uchun ishlaydi va odatda 15 ta to'g'ri kasrni beradi, shuni yodda tutingki, eng kichik koeffitsientlarni o'tkazib yuborish tezroq, ammo biroz aniqroq bajarilishga olib kelmaydi; kamroq shartlar bilan kengayish uchun koeffitsientlarni noldan hisoblash kerak.

dan matematika Import gunoh, kv, pi, tugatishp = [676.5203681218851    ,-1259.1392167224028    ,771.32342877765313    ,-176.61502916214059    ,12.507343278686905    ,-0.13857109526572012    ,9.9843695780195716e-6    ,1.5056327351493116e-7    ]EPSILON = 1e-07def drop_imag(z):    agar abs(z.tasavvur) <= EPSILON:        z = z.haqiqiy    qaytish zdef gamma(z):    z = murakkab(z)    agar z.haqiqiy < 0.5:        y = pi / (gunoh(pi * z) * gamma(1 - z))  # Ko'zgu formulasi    boshqa:        z -= 1        x = 0.99999999999980993        uchun (men, pval) yilda sanab o'tish(p):            x += pval / (z + men + 1)        t = z + len(p) - 0.5        y = kv(2 * pi) * t ** (z + 0.5) * tugatish(-t) * x    qaytish drop_imag(y)"""Yansıtmanın yuqoridagi foydalanish (shunday qilib if-else tuzilishi) kerak bo'lsa ham g'alati tuyulishi mumkin, chunki u $ z $ qiymatlarini yaqinlashishiga imkon beradi Re (z) <0.5, bu erda Lanczos usuli amal qilmaydi."""chop etish(gamma(1))chop etish(gamma(5))   chop etish(gamma(0.5))

Shuningdek qarang

Adabiyotlar

  1. ^ Pugh, Glendon (2004). Lanczos Gamma taxminiy tahlili (PDF) (Fan nomzodi).
  2. ^ Godfri, Pol (2001). "Gamma funktsiyasini Lanczos tomonidan amalga oshirish". Numerika.