Chapter 90 - 87: Remnant Manuscript on Calculating the Non-trivial Zeros of the Zeta Function
Seeing the notification in the group, Li Dong immediately opened the member list, searching for Riemann’s avatar.
Sure enough, it was just as he had expected.
Although Bernhard Riemann had joined the group, his avatar, just like Gauss’s, was gray.
Li Dong let out a long sigh of relief.
’It seems these two gods of mathematics are still restricted by the group’s rules...’
’Gauss mentioned needing to upgrade his permissions...’
Thinking of permissions, he immediately clicked the functions button in the group settings.
On the interface, his title was still [Group Leader (Intern)].
But the count for [Invite Group Members] had now changed to [10]!
’Ten invitation slots all at once? Is this a reward for bearing Riemann’s computational power?’
However, the [Upload File] and [Data Migration] icons next to it were still unavailable.
’I’ve still got a long way to go.’
Li Dong shook his head and turned his attention back to the *Fragmentary Manuscript on the Calculation of the Non-Trivial Zeros of the Riemann Zeta Function*—the key to upgrading his permissions.
His attributes had all reached 0.3, equivalent to one-third of a Newton. (Newton: ??? Heh.)
As he looked at this manuscript again, he finally understood what Riemann had truly been doing in his final days.
Riemann wasn’t calculating those zeros just to prove the Riemann Hypothesis. What he pursued his entire life was the distribution pattern of prime numbers!
Prime numbers are like ghosts in the world of numbers.
To catch these ghosts, Riemann wrote an explicit formula to precisely calculate π(x), the number of primes less than a given number x.
And in this formula, the non-trivial zeros of the Zeta function act like the frequencies controlling the fluctuations in the prime distribution.
Calculate these zeros, and you can completely unravel the secrets of the primes.
’Well, since everything’s been handed to me on a silver platter, I might as well give it a try...’
Feeling inspired, Li Dong pulled a stack of fresh scratch paper from his drawer....
’To find the zeros, I need to find the sign changes on the line where the real part of the Zeta function is 1/2...’
He wrote down Hardy’s Z-function, Z(t), on the paper, preparing to brute-force the calculation of the first non-trivial zero by hand.
Li Dong had just gotten fired up and written three lines of the derivation when he stopped his pen.
’This very first step requires calculating the gamma function Γ(1/4 + it/2), which involves a complex variable?’
’How the hell are you supposed to calculate this thing by hand?’
Refusing to admit defeat, Li Dong frantically analyzed the problem in his head.
’I’d have to use Stirling’s formula for an asymptotic expansion, then separate the real and imaginary parts. After that, I’d need to calculate high-precision values for the transcendental number π and the natural logarithm ln. Finally, I’d have to perform a Taylor series expansion of the trigonometric functions.’
’And that’s just to calculate a single point!’
’To catch the exact moment the sign changes, I’d have to densely sample points between t=14 and t=15.’
’And for every single sample point, I’d have to repeat that whole, long, incredibly tedious chain of basic arithmetic...’
’If I make a single mistake carrying over a decimal, all that previous effort goes down the drain!’
And just like that, the unconvinced Li Dong was convinced.
But he was the Group Leader, after all. He could be pretty shameless...
’Wait, why am I wrestling with this by hand?’
’This is the 21st century! I have a computer! Forcing a human brain to do the work of a calculator, isn’t that just completely brain-dead?’
He immediately opened his Lenovo laptop and pulled up the PyCharm interface for Python.
Using the basic programming knowledge he had, he directly translated the most fundamental Euler-Maclaurin summation formula into code.
To ensure precision, he imported Python’s high-precision decimal library and forced it to retain 25 significant figures. He then began a brute-force scan, densely sampling points for t to find the zeros.
’Run!’
The values of the zeros began to scroll across the screen: 100... 500... 1,000...
But Li Dong soon ran into a problem.
The laptop’s cooling fan began to spin frantically, and the keyboard began to feel hot to the touch.
The code’s execution on the screen gradually slowed.
The code he’d written had zero memory optimization. All the intermediate variables and historical data points from each calculation were just shoved into a list, with no mechanism to release them.
The massive number of temporary objects from the high-precision operations piled up like crazy. In the Windows Task Manager, the Python process’s memory usage shot up from 4GB to 14GB!
By the time the calculation reached the 4,120th zero, the screen froze completely.
The mouse cursor turned into the spinning circle, and it was completely unresponsive to his clicks.
Then, the screen turned blue.
[STOP CODE: MEMORY_MANAGEMENT]
Li Dong stared blankly at the screen.
’Goddamn Lenovo,’ he cursed to himself.
Completely forgetting that his own code was also hot garbage.
But this only served to deepen Li Dong’s shock.
’Even if my computer sucks and my code needs to be optimized, this is still a silicon-based product made over 150 years after Riemann’s time.’
’How on earth did Riemann painstakingly calculate the first 1,104 zeros by hand?’
’That just doesn’t make any sense...’
Li Dong immediately closed his eyes, pushed his terrifying 0.3 attribute to the max, and once again delved into that *Riemann’s Last Words* manuscript.
He no longer looked at the basic derivations at the beginning, but instead at the latter half of the manuscript—at what looked like messy scribbles of algebraic substitutions, saddle-point method approximations, and shifts in integration paths.
He stared at it for a full twenty minutes before opening his eyes.
’So that’s how he did it...’
Li Dong was ecstatic.
’This isn’t an ordinary mathematical derivation. It’s... algorithmic dimensionality reduction.’
He finally understood! Over a hundred years ago, to overcome the computational limits of the human body, Riemann had painstakingly invented a novel simplification algorithm.
Riemann hadn’t foolishly brute-forced every term of the infinite series like Li Dong’s Python code did.
He used the method of steepest descent (the saddle-point method) for an asymptotic expansion of the ζ-function’s integral expression. By folding the symmetric terms of the main sum and the remainder, he single-handedly reduced the computational complexity from a linear growth of O(t) with the imaginary part t, straight down to O(√t)!
This was the true secret that allowed Riemann to calculate 1,104 zeros with just pen and paper! And this algorithm, with Riemann’s untimely death and the loss of his manuscript, was completely buried in the dust of history.
No one else had it. But he, Li Dong, did!
’If I can implement this algorithm from Riemann’s Manuscript in modern computer code...’
Li Dong excitedly licked his lips.
However, after the initial excitement, he calmed down.
He only knew the bare basics of Python.
But to perfectly translate Riemann’s mathematical optimization mindset into the low-level code architecture of a modern computer would require an incredibly deep foundation in computer science.
Data structures, memory pointer management, space-for-time algorithm optimization, and even lower-level languages like C/C++.
He didn’t know any of it.
’Looks like I’ll have to really buckle down and grind through some computer algorithms!’
If he could reintroduce Riemann’s algorithm to the world by implementing it in code, it would absolutely send shockwaves through the fields of mathematics and computer science!