Loading AI tools
en matematisk funktion som generaliserar fakulteten n! till de komplexa talen Från Wikipedia, den fria encyklopedin
Gammafunktionen är en matematisk 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 . 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.
Fakulteten av ett naturligt tal n, betecknad n!, är produkten av alla tal mindre än eller lika med talet självt. Således är
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
Den 8 januari året därpå angav Euler i korrespondens med Goldbach även funktionen i form av den ekvivalenta integralen
Det kan visas att Eulers funktion uppfyller den rekursiva identiteten
för alla z. Eftersom generaliserar gammafunktionen därmed fakulteten. Speciellt gäller att
Förskjutningen med 1 gentemot fakulteten infördes av Adrien-Marie Legendre, som även introducerade beteckningen (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
och
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.
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
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:
Andra viktiga formler är
som är ett specialfall av multiplikationsteoremet
En användbar egenskap som lätt kan verifieras genom att använda gränsvärdsdefinitionen är
Ett användbart gränsvärde ä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
Gammafunktionen har följande Laurentexpansion vid 1:
som gäller för |z-1| < 1. De första termerna är
Några andra serieutvecklingar för gammafunktionen är
och
På grund av sambandet med fakulteten antar gammafunktionen heltalsvärden för positiva heltalsargument:
Värden av gammafunktionen kan även härledas för vissa rationella argument. För udda n är
där !! betecknar semifakultet, eller likvärdigt ()
I fallet n=1 löper k i produktsymbolen från 0 till -1, alltså baklänges, och dess produkt tilldelas då standardvärdet 1 eftersom den består av noll faktorer.
Speciellt gäller
Slutna formler för andra värden på gammafunktionen är inte kända. Det är dock känt sedan länge att är transcendent. G. V. Chudnovsky har visat att och är transcendenta. Yuri Nesterenko bevisade år 1996 att , , och är algebraiskt oberoende.
Några formler för är
samt de oändliga produkterna
och
där A är Glaisher–Kinkelins konstant och G är Catalans konstant.
Några snabbt konvergerande oändliga serier av C. H. Brown är
och
där
eller, eftersom är en kub som innehåller ,
Identiteter för produkter av specifika värden är
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 . 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
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).
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
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.