2015年3月6日星期五

Gamma function

Permutation是一個計算排列次序的方法,假設有一個element A,

(A)

它的排列次序只有一種。那麼假如有兩個element A和B,

(A, B)
(B, A)

這裡就有兩個排列次序。那麼三個呢,

(A, B, C)
(A, C, B)
(B, A, C)
(B, C, A)
(C, A, B)
(C, B, A)

總共有六種。如果有n個element,那麼有多少個不同的排列次序呢?

第一個element,有n個選擇,第二個element,有n - 1個選擇,第三個element,有n - 2個選擇,到最後第n個element,只得一個選擇。所以permutation就有n × (n - 1) × (n - 2) × ... × 1。這個數以n!表示,稱為n的factorial。

如果n是0呢,即是

()

這都一個排列方式,所以0! = 1。

以下是 y = x!的graph:
import matplotlib.pyplot as plt
import math
plt.scatter(range(10), [math.factorial(i) for i in range(10)])


當看見這張圖,就會好自然問,有冇function係可以將這些點連成一條curve的呢?即是這個function f(x),當x是positive integer,就計算x!,當x是real number的時候也有相應的數,這就是Gamma function Γ(t)。

Γ(t) = ∫xt - 1e-xdx

不知道這function如何得來,但可以証明這function的確是factorial的延伸。利用Integration by parts

∫udv = uv - ∫vdu

u(x) = xt - 1
u'(x) = (t - 1)xt - 2
v'(x) = e-x
v(x) = -e-x
Γ(t) = -e-xxt - 1 + ∫(t - 1)xt - 2e-xdx
Γ(t) = (t - 1)Γ(t - 2)

所以,如果t是positive integer,Γ(t) = (t - 1)!。詳情如下:
 

沒有留言:

發佈留言