Ek bilgi olarak bu mesajın bu başlıkta bulunmasının bir sakıncası yoktur umarım.
Gamma fonksiyonunun formülü normalde şu şekildedir:
Ancak Daniel Bernoulli tarafından türetilen, pozitif kısmı gerçek olan karmaşık sayılar için, gama fonksiyonu yakınsak bir uyumsuz integral ile tanımlanır:
Kaynak: https://en.wikipedia.org/wiki/Gamma_function
Normalde Python’ın standart math
modülü içinde integral almak için bir fonksiyon yok. Ama scipy
modülü sayesinde integral hesaplamaları yapmak mümkün.
Örneğin:
from math import inf, e, gamma
from scipy.integrate import quad
f = lambda z: int(quad(lambda x: (x ** (z - 1)) * (e ** (-x)), 0, inf)[0])
print(f(6) == gamma(6))
İntegral işlemi ile ilgili başka bir örnek yapalım. Fonksiyonumuz f(x) = ax² + bx + c
yapısında olsun.
f(x) = 3x² + 8x + 2
fonksiyonunun 0 ve 4 aralığındaki integralini bulmaya çalışalım.
Yukarıdaki integral problemi kodlara şu şekilde dönüştürülür:
from scipy.integrate import quad
integrand = lambda a, b, c, x: a * (x ** 2) + b * x + c
f = lambda a, b, c: quad(func=integrand, a=0, b=4, args=(a, b, c))[0]
print(f(3, 8, 2))
# Sonuç = 88
Daha fazla bilgi için scipy modülünün dökümantasyonunu inceleyebilirsiniz.