Natural Logarithm of 2 (Log(2))

5 minute read

The Natural Logarithm of 2 (Log(2))

Please cite:
Kim, S. Normality Analysis of Current World Record Computations for Catalan’s Constant and Arc Length of a Lemniscate with a=1. arXiv Preprint arXiv:1908.08925
if this article or the calculated digits were useful.

This world record computation of 1,200,000,000,100 digits by Seungmin Kim was done from Tue Jul 14 14:02:26 2020 to Wed Jul 29 01:09:58 2020 using the Primary Machin-like Formula (3 terms) algorithm. This time again after most of my computations, I have verified the calculation using the Secondary Machin-like Formula (4 terms) algorithm from Thu Jul 30 16:47:49 2020 to Wed Aug 19 03:00:23 2020.
Validation file generated by y-cruncher v0.7.8 Build 9506 for computation, and y-cruncher v0.7.8 Build 9506 for the verification run:

\[\ln 2 = \sum_{n=1}^\infty \frac{(-1)^{n+1}}{n}=1-\frac12+\frac13-\frac14+\frac15-\frac16+\cdots\]

An identity of \(\ln 2\) called the alternating harmonic series (Wikipedia)

Natural logarithm of 2 is defined as the logarithm function value of 2 where the base is \(e\) (of which the function is also the inverse function of the exponential function). All natural logarithms of any natural number larger than 1 are proved irrational and transcendental with the Lindemann–Weierstrass theorem. It is an important value for radioactive or other decay problems and the rule of 72 for continuous compounding in investment and banking. Many identities for especially Log(2) have been found because of its simplicity compared to other logarithmic values. It also has the BBP-type representation \(\ln 2 = \frac{2}{3} + \frac{1}{2} \sum_{k = 1}^\infty \left(\frac{1}{2k}+\frac{1}{4k+1}+\frac{1}{8k+4}+\frac{1}{16k+12}\right) \frac{1}{16^k}\), which could be useful in verifying future record computations because it does not have to compute all the digits again after the first computation.

The Machin-like formulas are based on the identity of inverse hyperbolic cotangent \(coth^{-1} x = \frac{1}{2}[\ln(1 + \frac{1}{x}) - \ln(1 - \frac{1}{x})]\), as the inverse hyperbolic cotangent has a trivial series expansion formula. This is trivial to induce and is in material discussed in calculus textbooks. If such similar equations are added or subtracted as appropriate to leave only one logarithm value on the right side, that becomes the quickly converging formulas used for computations.

\[\ln 2 = 18 coth^{-1} 26 - 2 coth^{-1} 4801 + 8 coth^{-1} 8749 \\ = 72 coth^{-1} 99 - 18 coth^{-1} 449 + 34 coth^{-1} 4801 - 10 coth^{-1} 8749\]

Primary (3 terms) and secondary (4 terms) Machin-like formulas for \(\ln 2\)

Same as all other mathematical constants, I have used y-cruncher by Mr. Alexander J. Yee for this computation. This program is commonly used for stress testing and benchmarking overclocked PC builds (obviously this program performs a very rigorous computation), along with fellow mathematical computing program Prime95 and linear algebra program Linpack.
The computation was theoretically about twice as intensive as Pi and half as intensive as Apéry’s constant. Unlike other series, the natural logarithms have multiple separate inverse hyperbolic cotangent series to compute the final result so each series are quite less intensive than ordinary but there are multiple series computations and accumulations. The primary formula took less than 3/4 as much time as the secondary formula because of this.

System information:
Operating System: Linux 5.5.6-1.el7.x86_64 x86_64
Name: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
Logical Cores: 72
Physical Cores: 36
Sockets: 2
NUMA Nodes: 2
Base Frequency: 2,299,973,744 Hz

My first computation used two Xeon CPU sockets from the Haswell era (and thus supports AVX2 SIMD vector operations that are used crucially in vector computations like y-cruncher) as I decided the Xeon Scalable Skylake Purley processors that support AVX-512 was overkill since I was gonna confront I/O bottlenecks anyways. The time would not have had much difference from using just one CPU socket. I have optimized I/O throughput further by changing the Bytes/Seek parameter and allocating more I/O Buffer to reach RAID-level performance in my file systems.

Start Date: Tue Jul 14 14:02:26 2020
End Date: Wed Jul 29 01:09:58 2020
Total Computation Time: 1169940.880 seconds
Start-to-End Wall Time: 1249652.423 seconds
CPU Utilization: 907.02 % + 7.10 % kernel overhead
Multi-core Efficiency: 12.60 % + 0.10 % kernel overhead

The multi-core efficiency was similar to Apéry’s constant, and still did not reach the utilization possible by the CPUs (Dr. Ian Cutress’s Lemniscate Constant calculation had a multi-core efficiency of 94.04 % and CPU utilization of 9027.61 %, which means that the CPU was not bottlenecked by other factors). I also used the Cilk Plus Work-Stealing multiprocessing framework along with the dynamic version of y-cruncher.

Working Memory: 685,885,657,856 ( 639 GiB)
Total Memory: 687,194,767,360 ( 640 GiB)
Logical Largest Checkpoint: 2,118,600,314,392 (1.93 TiB)
Logical Peak Disk Usage: 6,578,365,008,416 (5.98 TiB)
Logical Disk Bytes Read: 366,084,546,862,600 ( 333 TiB)
Logical Disk Bytes Written: 320,267,770,209,808 ( 291 TiB)

Disk operation was decreased to less than a half compared to Apéry’s constant because the algorithm is easier and is split to smaller computations, and this contributed to a faster computation along with more RAM.
One caveat is that HDD I/O speeds are again great bottlenecks to virtually any other component, and perhaps having Optane DIMMs or even more normal RAM can help the speed of the computation speed greatly.

System information:
Operating System: Linux 3.10.0-693.21.1.el7.x86_64 x86_64
Name: Intel(R) Xeon(R) Gold 5220 CPU @ 2.20GHz
Logical Cores: 72
Physical Cores: 36
Sockets: 2
NUMA Nodes: 2
Base Frequency: 2,194,720,736 Hz

Start Date: Thu Jul 30 16:47:49 2020
End Date: Wed Aug 19 03:00:23 2020
Total Computation Time: 1636391.663 seconds
Start-to-End Wall Time: 1678354.249 seconds
CPU Utilization: 672.88 % + 34.22 % kernel overhead
Multi-core Efficiency: 9.35 % + 0.48 % kernel overhead

Working Memory: 565,140,748,928 ( 526 GiB)
Total Memory: 566,935,683,072 ( 528 GiB)
Logical Largest Checkpoint: 2,242,654,353,960 (2.04 TiB)
Logical Peak Disk Usage: 6,516,333,392,080 (5.93 TiB)
Logical Disk Bytes Read: 476,756,678,694,304 ( 434 TiB)
Logical Disk Bytes Written: 417,615,844,506,104 ( 380 TiB)

Less RAM and one extra series expansion, plus this build also having a slower filesystem caused the verification computation to take more time even with two Cascade Lake Xeon CPU sockets that support AVX-512. CPU utilization was impacted because of slower disk even when the number of cores increased. Total Computation Time and Disk R/W were over 1/3 more.

I hope computing and sharing the results can result in more insight that can be used by mathematicians for new mathematical knowledge.

If you want to take a look at the digits for the Natural Logarithm of 2 (Log(2)), you can download it from This Link (Almost 2 TB total but don’t worry, it will just redirect to a registry with a link to download).

Note that digits are released as an Attribution-NonCommercial-NoDerivatives 4.0 International License, meaning no commercial purposes and you cannot distribute a remixed, transformed, or built upon version without my consent. You must also give appropriate credit, provide a link to the license, and indicate if changes were made even if it is not a prohibited use case.

Archive for computation results in the y-cruncher website:
Special thanks to Mr. Alexander J. Yee for developing and releasing y-cruncher and providing advice, and the Internet Archive for hosting the computed digits.