Giả thuyết Riemann - Một vài note cho bài toán thiên niên kỷ
Hàm Zeta Riemann là gì?
Hàm Zeta Riemann, ký hiệu \(\zeta(s)\), được nhà toán học người Đức Bernhard Riemann định nghĩa vào năm 1859, dựa trên công trình trước đó của Leonhard Euler. Với \(s\) là một số phức, hàm Zeta được biểu diễn dưới dạng:
$$\boxed { \zeta(s) = \sum_{n=1}^{\infty} \frac 1 {n^s} = \frac 1 {1^s} + \frac 1 {2^s} + \frac 1 {3^2} + \dots}$$
Khi \(s > 1\), hàm hội tụ:
Bài toán Basel \(\displaystyle \zeta(2) = \frac 1 {1^2} + \frac 1 {2^2} + \frac 1 {3^2} + \dots \ = \frac {\pi^2} 6\)
Hoặc \(\displaystyle \zeta(4) = \frac {\pi^4} {90}\)
Hàm Zeta có mối liên hệ chặt chẽ với các số nguyên tố. Theo định lý Euler, \(\zeta(s)\) có thể viết lại thành:
$$\zeta(s) = \prod_{p \text{ primes}} \left ( 1 - \frac 1 {p^s} \right )^{-1}$$
Công thức này cho thấy các số nguyên tố \( (2, 3, 5, 7, \dots)\) đóng vai trò nền tảng trong cấu trúc của hàm Zeta.
Nghiệm của hàm Zeta
Để mở rộng \(\zeta(s)\) sáng mặt phẳng phức, Riemann đã sử dụng biểu thức hàm (functional equation), liên kết \(\zeta(s)\) với \(\zeta(1-s)\) để đưa ra công thức:
$$\boxed{ \zeta(s) = 2^2\pi^{s-1} \sin(\frac {\pi s} 2)\Gamma(1-s)\zeta(1-s)}$$
Với \(\Gamma(s)\) là một hàm Gamma, một mở rộng của giai thừa sang số phức, được xác định thông qua một tích phân suy rộng hội tụ \(\displaystyle \Gamma(s) = \int_0^{\infty}x^{s-1}e^{-x}dx\). Ta có \(\Gamma(n) = (n-1)!\). Từ đó ta có thể tính \(\zeta(s)\) ở các giá trị không hội tụ \(s<1\).
- Nghiệm tầm thường
Khi \(s=-2n\) với \(n=1,2,3,\dots\), lúc đó:
\(\sin(\frac {\pi(-2n)}{2}) = 0\)
\(\Gamma(1-(-2n) = \Gamma(1+2n) > 0\)
Do đó \(\zeta(-2n) = 0\), và \(s=-2n\) với \(n=1,2,3,\dots\) được gọi là các nghiệm tầm thường
- Nghiệm không tầm thường
Các nghiệm không tâm thường nằm trong dải tới hạn (critical strip) \(0 \lt \text{Re}(s) \lt 1\), vì nếu \(s>1\), tổng này sẽ hội tụ như đã đề cập ở trên. Trong khoảng này vì \(\Gamma(1-s)\) không có nghiệm nên không thể đặt biểu thức bằng \(0\). Thay vào đó, ta cần phần tích \(\zeta(s)\) trực tiếp hoặc thông qua các phương pháp số học.
Giả thuyết Riemann
Giả thuyết Riemann phát biểu rằng tất cả cách nghiệm không tầm thường (non trivial zeroes) của \(\zeta(s)\) đều có phần thực là \(1/2\), nghĩa là tất cả chúng đều nằm trên một đường tới hạn (critical line). Hay nói cách khác, tất cả các nghiệm này đều có dạng \(s=\frac 1 2 + it.\) Cho đến nay, máy tính đã kiểm trả và chứng thực được điều này đã chính xác đến \(250\times 10^9\) nghiệm.
Nghiệm không tầm thường có vai trò quan trọng trong việc mô tả sự phân bố của số nguyên tố. Điều này xuất phát từ công thức của hàm đếm số nguyên tố \(\pi(x)\) - số lượng số nguyên tố nhỏ hơn hoặc bằng \(x\). Định lý Bertrand đã đưa ra một xấp xỉ \(\displaystyle \pi(x) \sim \frac x {\ln x}\), từ đây, Riemann đã đưa ra công thức tính \(\pi(x)\) thông qua hàm Mobius, gọi là explicit formula như sau:
$$\pi(x) \approx Li(x) + \text{ oscillations from non-trial zeros of } \zeta(s)$$
Với \(\displaystyle Li(x) = \int_2^x \frac {dt} {\ln t}\), đây là phần xấp xỉ chính
Các dao động (oscillations) phụ thuộc vào vị trí của các nghiệm không tâm thường trong dài tới hạn \(0 \lt \text{Re}(s) \lt 1\)
Nếu giả thuyết đúng, các dao động trong công thức \(\pi(x)\) sẽ được kiểm soát chặt chẽ, với sai số tối đa là \(O(\sqrt{x} \ln x)\), từ đó cho phép dự đoán chính xác hơn vị trí và khoảng cách giữa các số nguyên tố. Ví dụ: Khi \(x=1,000,000\) thì \(\pi(x) = 78,498\) trong khhi đó \(Li(x) \approx 78,628\), các dao động từ nghiệm không tầm thường sẽ điều chỉnh sai số này và giả thuyết Riemann đảm bảo sai số nhỏ nhất.
Một cách nôm na, nếu giả thuyết trên đúng thì chúng ta sẽ có thể dự báo chính xác có bao nhiêu số nguyên tố nhỏ hơn một giá trị \(x\) cho trước, hay nói cách khác là chúng ta có thể tính chính xác \(\pi(x)\). Cho đến này chưa ai có thể chứng minh được giả thuyết này, mình xin quote lại vài quote của các nhà toán học nổi tiếng để bạn có thể hình dung ra độ khó của nó
Demo
Trong demo này, mục tiêu của mình là thể hiện quỹ đạo của giá trị \(\zeta(s)\) khi giá trị phần ảo \(t\) của \(s=\frac 1 2 + it\) thay đổi.
Mình chỉ có thể tính gần đúng hàm \(\zeta(s)\) bằng cách tính xấp xỉ lấy từ \(50\) số hạng đầu
$$\zeta(s) = \sum_{n=1}^{50} \frac 1 {n^s}$$
Để tính lũy thừa cho một số phức, mình áp dụng công thức:
$$z^w = e^{w \ln z}$$
Lại tiếp tục áp dụng công thức Euler để tính \(e\) lũy thừa số phức:
$$e^{x+yi} = e^x(\cos y + \sin y)$$
Okay, có vậy thôi, giờ thì mời bạn xem demo