Công cụ này làm gì
Công cụ này lập bảng giá trị và đồ thị đường cho hàm gamma nghịch đảo, \(1/\Gamma(a)\), trên một dãy giá trị của biến số a. Bạn chỉ cần chọn điểm bắt đầu của dãy, độ lớn mỗi bước nhảy và số lượng điểm (số dòng) cần tính. Kết quả là một bảng hai cột gọn gàng gồm a và \(1/\Gamma(a)\), kèm theo đường cong được vẽ sẵn. Đây là toán học thuần túy nên cho kết quả giống hệt nhau ở mọi nơi.
Cách sử dụng
Nhập giá trị ban đầu của a (đối số đầu tiên), bước nhảy (increment) cộng thêm vào a ở mỗi dòng kế tiếp, và số lần lặp (số dòng cần tạo ra). Công thức là:
$$f(a_k) = \frac{1}{\Gamma(a_k)}, \quad a_k = \text{Start } a + k \cdot \text{Step}, \quad k = 0,1,\dots,\text{Rows}-1$$Ví dụ, với điểm đầu = -3, bước nhảy = 0,1 và 101 dòng, ta thu được dãy \(a = -3, -2{,}9, -2{,}8, \dots\), cho đến \(a = 7{,}0\).
Giải thích công thức
Hàm gamma là sự tổng quát hóa của giai thừa: \(\Gamma(n+1) = n!\) và \(\Gamma(1/2) = \sqrt{\pi}\). Với \(\operatorname{Re}(a) > 0\), nó được định nghĩa bằng tích phân $$\Gamma(a) = \int_{0}^{\infty} t^{a-1}e^{-t}\, dt,$$ và được mở rộng cho các giá trị khác nhờ công thức truy hồi \(\Gamma(a) = \Gamma(a+1)/a\) cùng công thức phản xạ \(\Gamma(a)\Gamma(1-a) = \pi/\sin(\pi a)\). Chúng tôi tính \(\Gamma(a)\) bằng xấp xỉ Lanczos (\(g = 7\)) và dùng công thức phản xạ khi \(a < 0{,}5\). Kết quả đầu ra đơn giản là \(1/\Gamma(a)\). Khác với chính bản thân \(\Gamma(a)\), giá trị nghịch đảo \(1/\Gamma(a)\) là một hàm nguyên (entire) không có cực điểm nào: tại những nơi \(\Gamma\) tiến ra vô cực (tức \(a = 0, -1, -2, \dots\)), nghịch đảo của nó bằng đúng 0.
Ví dụ minh họa
Với các thiết lập mặc định, một vài dòng sẽ là: \(a = -3\) cho \(1/\Gamma(-3) = 0\) (số nguyên không dương, một cực điểm của \(\Gamma\)); \(a = -2{,}5\) cho khoảng \(-1{,}0579\); \(a = 0{,}5\) cho \(1/\sqrt{\pi} \approx 0{,}5642\); \(a = 1\) và \(a = 2\) đều cho 1; \(a = 5\) cho \(1/24 \approx 0{,}04167\); và \(a = 7\) cho \(1/720 \approx 0{,}001389\). Đường cong đạt đỉnh quanh \(a \approx 1{,}46\), nơi \(\Gamma(a)\) đạt giá trị nhỏ nhất (\(\approx 0{,}8856\)), tương ứng với giá trị lớn nhất của \(1/\Gamma \approx 1{,}129\).
Câu hỏi thường gặp
Tại sao \(1/\Gamma(a)\) bằng 0 tại 0 và các số nguyên âm? Vì \(\Gamma(a)\) có các cực điểm đơn (simple poles) tại đó, nên nghịch đảo của nó triệt tiêu. Công cụ tự động nhận diện các số nguyên không dương và trả về đúng giá trị 0.
Còn khi a rất lớn thì sao? \(\Gamma(a)\) tăng cực kỳ nhanh và gây tràn số; khi đó chúng tôi trả về \(1/\Gamma = 0\) thay vì NaN.
Độ chính xác ra sao? Xấp xỉ Lanczos \(g=7\) chính xác đến khoảng 15 chữ số có nghĩa trên toàn bộ trục số thực, dư sức đáp ứng cho việc lập bảng và vẽ đồ thị.