Gammafunktionen

Från Wikipedia
Hoppa till: navigering, sök
Absolutvärdet av gammafunktionen i det komplexa talplanet.

Gammafunktionen är den matematiska funktion som generaliserar fakulteten n!, det vill säga heltalsprodukten 1 · 2 · 3 · ... · n, till de reella talen och även de komplexa. Den definierades 1729 av Leonhard Euler och betecknas \Gamma(z). Gammafunktionen används inom många områden av matematiken, bland annat för lösningar till integraler och räknas som en av de viktigaste speciella funktionerna.

Bakgrund[redigera | redigera wikitext]

Fakulteten av ett naturligt tal n, betecknad n!, är produkten av alla tal mindre än eller lika med talet självt. Således är

1! = 1,
2! = 1 · 2 = 2,
3! = 1 · 2 · 3 = 6,
4! = 1 · 2 · 3 · 4 = 24 och så vidare.

Om man betraktar grafen av punkterna, verkar det troligt att man skulle kunna rita en mjuk kurva som binder ihop dem. Att bestämma den matematiska funktion som svarar mot en sådan kurva är dock inte helt enkelt. Problemet fick sin lösning först 1729, då den schweiziske matematikern Leonhard Euler i ett brev till Christian Goldbach daterat den 13 oktober beskrev den oändliga produkten

\Gamma(x)\,\! = \lim_{r \to \infty} \frac{r!r^x}{x(1+x)(2+x) \cdots (r+x)}
= \lim_{r \to \infty} \frac{r^x}{x(1+\frac{x}{1})(1+\frac{x}{2}) \cdots (1+\frac{x}{r})}.

Den 8 januari året därpå angav Euler i korrespondens med Goldbach även funktionen i form av den ekvivalenta integralen

\Gamma(z)=\int_0^1 (-\log t)^{z-1} dt, z > 0.

Det kan visas att Eulers funktion uppfyller den rekursiva identiteten

\Gamma(z+1) = z\,\Gamma(z)

för alla z. Eftersom \Gamma(1) = 1 generaliserar gammafunktionen därmed fakulteten. Speciellt gäller att

\Gamma(n+1) = \,n! (n heltal)

Förskjutningen med 1 gentemot fakulteten infördes av Adrien-Marie Legendre, som även introducerade beteckningen \Gamma (gamma) år 1809. En alternativ notation som undviker förskjutningen är i form av Π-funktionen (ej att förväxla med π-funktionen för primtalen) införd av Carl Friedrich Gauss så att

\Pi(x) =\,\! \Gamma(x+1),

och

\Pi(n) =\,\! n!

Både Legendre och Gauss gjorde betydande insatser i studiet av gammafunktionen. Funktionen har även undersökts ingående av bland andra Christoph Gudermann, Joseph Liouville, Karl Weierstrass och Charles Hermite.

Med tanke på gammafunktionens komplicerade definition i jämförelse med fakulteten är en naturlig fråga huruvida det finns någon annan, möjligtvis enklare funktion som generaliserar fakulteten. Enligt Bohr–Mollerups sats (1922) är gammafunktionen dock unik att ha den egenskapen, om man lägger till kravet att den sökta funktionens logaritm ska vara konvex.

Definitioner och egenskaper[redigera | redigera wikitext]

Graf av gammafunktionen längs den reella tallinjen.

Gammafunktionen är transcendent och kan inte uttryckas på sluten form i termer av elementära funktioner. För z med en positiv realdel definieras den i modern litteratur vanligtvis som den generaliserade integralen

\Gamma(z)=\int_0^\infty t^{z-1}e^{-t}dt.

Den här integralen kan med hjälp av variabelsubstitution visas vara identisk med Eulers ursprungliga definition. Att den uppfyller den rekursiva egenskapen kan visas genom partiell integration.

Negativa värden fås genom Eulers reflektionsformel:

\Gamma(1-z) \; \Gamma(z) = {\pi \over \sin \pi z}

Andra viktiga formler är

\Gamma(z) \Gamma\left(z + \tfrac{1}{2}\right) = 2^{1-2z} \; \sqrt{\pi} \; \Gamma(2z).

som är ett specialfall av multiplikationsteoremet

\prod_{k=0}^{m-1}\Gamma\left(z + \frac{k}{m}\right) = (2 \pi)^{\frac{m-1}{2}} \; m^{\frac{1}{2} - mz} \; \Gamma(mz).

En användbar egenskap som lätt kan verifieras genom att använda gränsvärdsdefinitionen är

\overline{\Gamma(z)} = \Gamma(\overline{z}) \; \Rightarrow \; \Gamma(z)\Gamma(\overline{z}) \in \mathbf{R} .

Ett använvart gränsvärde är

\lim_{n\to\infty} \frac{\Gamma(n+\alpha)}{\Gamma(n)n^{\alpha}} = 1, \qquad \alpha\in\mathbf{R}

Gammafunktionen är analytisk i hela det komplexa talplanet, förutom i punkterna {0, −1, −2...} där den har enkla poler. Residyn där är

\operatorname{Res}(\Gamma,-n)=\frac{(-1)^n}{n!}.

Serieutvecklingar[redigera | redigera wikitext]

Gammafunktionen har följande Laurentexpansion vid 1:

\Gamma(z) = 1+\sum_{k=1}^\infty\frac{\Gamma^{(k)}(1)}{k!}(z-1)^{k}

som gäller för |z-1| < 1. De första termerna är

\Gamma(z) = \frac1z-\gamma+\frac16\left(3\gamma^2+\frac {\pi^2}2\right)z+O(z^2)\,.

Några andra serieutvecklingar för gammafunktionen är

\ln \Gamma(z+1)= -\gamma z +\sum_{k=2}^\infty \frac{\zeta(k)}{k} \, (-z)^{k}\qquad \forall\; |z| < 1
\log\Gamma(x) = \left(\tfrac{1}{2}-x\right) \bigl(\gamma + \log(2\pi)\bigr) + \frac{1}{2} \log\frac{\pi}{\sin(\pi x)} + \frac{1}{\pi} \sum_{k=2}^\infty \frac{\log k}{k} \sin(2\pi k x)     då     0 < x < 1,

och

 \log\frac{\Gamma(\tfrac{1}{2}+x)}{\Gamma(\tfrac{1}{2}-x)}
= -2 x\,\bigl(\gamma + \log(2\pi)\bigr) + \frac{2}{\pi} \sum_{k=2}^\infty (-1)^{k} \frac{\log k}{k} \sin(2\pi k x)     då     -\tfrac{1}{2} < x < \tfrac{1}{2}\ .

Specifika värden[redigera | redigera wikitext]

På grund av sambandet med fakulteten antar gammafunktionen heltalsvärden för positiva heltalsargument:

\Gamma(1) = 0! =\,\! 1
\Gamma(2) = 1! =\,\! 1
\Gamma(3) = 2! =\,\! 2
\Gamma(4) = 3! =\,\! 6
\Gamma(5) = 4! =\,\! 24
\Gamma(6) = 5! =\,\! 120
\Gamma(n) = \,\! (n-1)!

Värden av gammafunktionen kan även härledas för vissa rationella argument. För udda n är

\Gamma\left(\frac{n}{2}\right) = \sqrt{\pi} \cdot \frac{(n-2)!!}{2^{(n-1)/2}}

där !! betecknar semifakultet, eller likvärdigt (n > 0)

\Gamma(n-1/2)=\sqrt{\pi}\cdot \prod_{k=0}^{n-2} {2k + 1 \over 2}.

Speciellt gäller

\Gamma(1/2) = \sqrt{\pi}\,
\Gamma(3/2) = \frac {\sqrt{\pi}} {2} \,
\Gamma(5/2) = \frac {3 \sqrt{\pi}} {4} \,
\Gamma(7/2) = \frac {15\sqrt{\pi}} {8}.\,

Slutna formler för andra värden på gammafunktionen är inte kända. Det är dock känt sedan länge att \Gamma(\tfrac14) / \pi^{-1/4} är transcendent. G. V. Chudnovsky har visat att \Gamma(\tfrac13) and \Gamma(\tfrac14) är transcendenta. Yuri Nesterenko bevisade år 1996 att \Gamma(\tfrac14), \pi, och e^{\pi} är algebraiskt oberoende.

Några formler för \Gamma(\tfrac14) är

\Gamma(\tfrac14)=\sqrt\frac{(2 \pi)^{3/2}}{AGM(\sqrt 2, 1)}

samt de oändliga produkterna

\Gamma(\tfrac14) = (2 \pi)^{3/4} \prod_{k=1}^\infty \tanh \left( \frac{\pi k}{2} \right)

och

\Gamma(\tfrac14) = A^3 e^{-G / \pi} \sqrt{\pi} 2^{1/6} \prod_{k=1}^\infty \left(1-\frac{1}{2k}\right)^{k(-1)^k}

där A är Glaisher-Kinkelins konstant och G är Catalans konstant.

Några sanbbt konvergerande oändliga serier av C. H. Brown är

\frac{[\Gamma(\tfrac13)]^6\sqrt{10}}{12\pi^4}=\sum_{k = 0}^{\infty} \frac{(6k)!(-1)^k}{(k!)^{3}(3k)! 3^{k}160^{3k}}

och

\frac{[\Gamma(\tfrac14)]^4}{128\pi^3} = \frac{1}{\sqrt{u}} \sum_{k = 0}^{\infty} \frac{(6k)!(2w)^k}{(k!)^{3}(3k)! 6486^{3k}}

där

\begin{align}
u &= 273+180\sqrt{2}\\
w &= 538359129\sqrt{2}-761354780\\
\end{align}

eller, eftersom 2w/6486^3 är en kub som innehåller u,

\frac{[\Gamma(\tfrac14)]^4}{128\pi^3} = \frac{1}{\sqrt{u}} \sum_{k = 0}^{\infty} \frac{(6k)!}{(k!)^{3}(3k)!} \frac{1}{(u\sqrt{2}(1+\sqrt{2})^2)^{3k}}.

Identiteter för produkter av specifika värden är

 \prod_{r=1}^2 \Gamma(\tfrac{r}{3}) = \frac{2\pi}{\sqrt{3}} \approx 3.6275987284684357012 OEISA186706
 \prod_{r=1}^3 \Gamma(\tfrac{r}{4}) = \sqrt{2\pi^3} \approx 7.8748049728612098721 OEISA220610
 \prod_{r=1}^4 \Gamma(\tfrac{r}{5}) = \frac{4\pi^2}{\sqrt{5}} \approx 17.6552850814935242483
 \prod_{r=1}^5 \Gamma(\tfrac{r}{6}) = 4\sqrt{\frac{\pi^5}{3}} \approx 40.3993191220037900785
 \prod_{r=1}^6 \Gamma(\tfrac{r}{7}) = \frac{8\pi^3}{\sqrt{7}} \approx 93.7541682035825037970
 \prod_{r=1}^7 \Gamma(\tfrac{r}{8}) = 4\sqrt{\pi^7} \approx 219.8287780169572636207
 \frac{\Gamma(\tfrac{1}{5})\Gamma(\tfrac{4}{15})}{\Gamma(\tfrac{1}{3})\Gamma(\tfrac{2}{15})} = \frac{\sqrt{2}\sqrt[20]{3}}{\sqrt[6]{5} \sqrt[4]{5-\frac{7}{\sqrt{5}}+\sqrt{6-\frac{6}{\sqrt{5}}}}}
 \frac{\Gamma(\tfrac{1}{20})\Gamma(\tfrac{9}{20})}{\Gamma(\tfrac{3}{20})\Gamma(\tfrac{7}{20})} = \frac{\sqrt[4]{5}\left(1+\sqrt{5}\right)}{2}.

Relation till andra funktioner[redigera | redigera wikitext]

\Beta(x,y)=\frac{\Gamma(x) \; \Gamma(y)}{\Gamma(x+y)}.
\pi^{-\frac{z}{2}} \; \Gamma\left(\frac{z}{2}\right) \zeta(z) = \pi^{-\frac{1-z}{2}} \; \Gamma\left(\frac{1-z}{2}\right) \; \zeta(1-z).
En annan intressant formel är
\zeta(z) \; \Gamma(z) = \int_{0}^{\infty} \frac{u^{z-1}}{e^u - 1} \; \mathrm{d}u
som gäller för for Re(z) > 1.


Numerisk beräkning[redigera | redigera wikitext]

Eftersom gammafunktionen ofta dyker upp i uttryck som används vid vetenskapliga beräkningar, är det av intresse att kunna beräkna den numeriskt med god precision.

För heltalsargument kan gammafunktionen beräknas exakt utifrån motsvarande fakultet. Även värdet för halvtalsargument kan bestämmas exakt, så när som den irrationella faktorn \sqrt{\pi}. För godtyckliga reella och komplexa argument kan gammafunktionens värde dock endast approximeras. Detta är i sin tur inte enkelt, eftersom exempelvis framställning i form av en Maclaurinserie inte konvergerar. Mer avancerade metoder har dock härletts. En av de mest välkända är Lanczos approximation

\Gamma(z+1) = \sqrt{2\pi} {\left( z + g + \begin{matrix} \frac{1}{2} \end{matrix} \right)}^{z + \frac{1}{2} } e^{-\left(z+g+\frac{1}{2}\right)} A(z),

där konstanten g kan väljas godtyckligt och A(z) är en snabbt konvergerande summa med koefficienter som kan beräknas i förväg. Beroende på valet av g kan godtycklig precision erhållas.

Nackdelen med Lanczos metod är att koefficienterna är tidskrävande att beräkna. Ett alternativ är att använda Spouges approximation, som använder ett liknande grunduttryck men enklare koefficienter för summeringen. Dock konvergerar Spouges approximation långsammare, och eftersom koefficienter som är giltiga för alla z kan beräknas i förväg om en fix precision önskas, är Lanczos metod att föredra. Lanczos approximation, med lagrade koefficienter, rekommenderas av Numerical Recipes och används till exempel av GNU Scientific Library.

Ytterligare en metod är Stirlings approximation. Den lämpar sig särskilt väl för mycket stora argument, men fungerar i gengäld inte alls för mycket små argument.

Oberoende av metod, finns några allmängiltiga anmärkningar för numerisk beräkning av gammafunktionen. Till att börja med, är det ofta mer praktiskt att arbeta med gammafunktionens logaritm, eftersom gammafunktionen växer så snabbt att resultatet kan skapa overflow. En annan är att negativa argument enklast (och i vissa fall endast kan) hanteras via reflektionsformeln. Slutligen räcker det i princip att kunna approximera gammafunktionen på ett intervall, eftersom såväl större som mindre argument tack vare gammafunktionens multiplikativa egenskap kan hanteras genom upprepad multiplikation respektive division över skillnaden mellan det valda intervallet och argumentet (detta är dock inte nödvändigtvis praktiskt).

Exempel på implementation[redigera | redigera wikitext]

Följande enkla implementation av Lanczos metod i Python tar såväl reella som komplexa argument och ger upp till cirka 15 korrekta decimaler:

from cmath import *

# Koefficienter från GNU Scientific Library
g = 7
C = [0.99999999999980993, 676.5203681218851, -1259.1392167224028,
     771.32342877765313, -176.61502916214059, 12.507343278686905,
     -0.13857109526572012, 9.9843695780195716e-6, 1.5056327351493116e-7]

def gamma(z):
    z = complex(z)
    # Reflektionsformeln
    if z.real < 0.5:
        return pi / (sin(pi*z)*gamma(1-z))
    else:
        z -= 1
        x = C[0]
        for i in range(1, g+2):
            x += C[i]/(z+i)
        t = z + g + 0.5
        return sqrt(2*pi) * t**(z+0.5) * exp(-t) * x

Se även[redigera | redigera wikitext]

Källor[redigera | redigera wikitext]

Venn A intersect B.svg Matematikportalen – portalen för matematik på svenskspråkiga Wikipedia.