Khám phá Toán học: Tỷ lệ giữa Phân vùng và Hoán vị trong Chuỗi Lũy thừa
Bài viết đi sâu vào chuỗi lũy thừa của hàm mũ kép, nơi hệ số tại vị trí n là tỷ lệ giữa số Bell (số cách phân vùng) và n! (số cách hoán vị). Tác giả cũng sử dụng thư viện SymPy trong Python để tính toán chính xác các giá trị này và phân tích tốc độ tăng trưởng của chúng. Đây là một chủ đề thú vị nằm ở giao điểm của toán học tổ hợp và lập trình.

Gần đây, khi suy nghĩ sâu hơn về phép xấp xỉ cosin cho hàm Gaussian, tôi nhận thấy hai biểu thức này khá gần nhau trên trục thực nhưng lại khác biệt hoàn toàn trên trục ảo. Cụ thể, nếu z = iy, vế phải tăng trưởng nhanh hơn nhiều so với vế trái, hoạt động giống như hàm mũ kép exp(exp(y)).
Sự tò mò này đã dẫn tôi đến việc tìm hiểu chuỗi lũy thừa của hàm mũ kép exp(exp(y)). Đây là một chuỗi toán học thú vị vì hệ số của $x^n$ được xác định bởi công thức:
$$e B_n / n!$$
Trong đó, $B_n$ là số Bell thứ n, bằng với số cách để phân vùng một tập hợp gồm n phần tử được gắn nhãn. Và tất nhiên, $n!$ là số cách để hoán vị một tập hợp gồm n phần tử được gắn nhãn.
Do đó, hệ số thứ n trong chuỗi lũy thừa của hàm mũ kép thực chất là tỷ lệ giữa số lượng phân vùng và hoán vị của một tập hợp n phần tử, nhân với hằng số e.
Số cách phân vùng một tập hợp n phần tử tăng trưởng rất nhanh khi n tăng, gần bằng tốc độ tăng của số hoán vị. Vì vậy, chuỗi của hàm mũ kép hội tụ rất chậm.
Tính toán với SymPy
SymPy, một thư viện toán học biểu tượng phổ biến trong Python, cung cấp hàm bell để tính toán các số Bell. Bạn có thể dễ dàng tính toán tỷ lệ giữa phân vùng và hoán vị như sau:
from sympy import bell, factorial
f = lambda n: bell(n)/factorial(n)
Hàm này sẽ trả về một giá trị thuộc kiểu sympy.core.numbers.Rational, đảm bảo kết quả chính xác tuyệt đối. Để thuận tiện hơn cho việc hiển thị hoặc xử lý tiếp, bạn có thể chuyển đổi kết quả sang kiểu float.
Phân tích tính chất tiệm cận
Nếu chúng ta chỉ xem xét các hạng tử trong chuỗi tiệm cận của $\log B_n$ và $\log n!$ tăng theo n, ta có:
$\log B_n \sim n \log n - n \log \log n$
$\log n! \sim n \log n - \frac{1}{2} \log n$
Từ đó, ta suy ra:
$\log( B_n / n! ) \sim \frac{1}{2} \log n - n \log \log n$
Ngoài ra, còn có một chuỗi tiệm cận khác cho $\log( B_n / n! )$ liên quan đến hàm Lambert W:
$\log( B_n / n! ) \sim n/r - 1 - n \log r$
Trong đó, $r = W(n)$.
Việc hiểu rõ các mối quan hệ toán học này không chỉ có giá trị lý thuyết mà còn có ý nghĩa trong việc phân tích độ phức tạp thuật toán và tối ưu hóa tính toán trong các ứng dụng khoa học dữ liệu.
