I appreciate that this is likely trivial for mathematicians. For me, I was quite lost. Something I found a bit more obvious was constantly dividing a squares sides into two. When done infinite amount of times, getting the perimeter of the shape would equal 2xpixr
I don't think anyone would call it trivial; it might be that the submitter erroneously translates elementary as trivial. Here elementary means that it doesn't use higher math (calculus, analysis, etc), it doesn't say anything about ease or complication, and indeed the elementary proof of the prime number theorem is hella complicated.
If speed of convergence is what you seek, i've yet to discover a more impressive case than a surprisingly simple method attributed to Gauss using the geometric and arithmetic means of two numbers. Three times around the loop and it's already correct to five decimal places: http://pastebin.com/674YJ9VM
If anyone's curious, that series comes from the equation Arctan(1)=Pi/4 and the Taylor expansion around zero of Arctan(x) = x - x^3/3 + x^5/5 + ... where x=1.
What makes this expansion particularly painful is that usually Taylor expansion is done around a point where x is small, such that the x^n numerators of subsequent terms get progressively smaller. But in this case the numerator is always 1, so the series depends entirely on the denominator for convergence.
Meanwhile, the denominator doesn't grow by the usual increasing factorial terms common to Taylor series, but grows only linearly. So both effects combined cause this expansion to take a very long time to converge.
As others are pointing out: the paper's title is "elementary" (not "trivial" a in the current link title). Both of these have different and accepted meanings in mathematics.
"Elementary" roughly means doesn't bring in results from different fields (such as using calculus to prove a theorem about a sum or product). "Elementary" proofs can be quite difficult, and it can be quite a feat (well worth a publication) to find one for a standard result.
"Trivial" usually means something closer to easy, or means there is some linkage already implying the result (just in disguise).
In fact, there is a negative correlation between a proof being elementary and a proof being trivial. The reason people like abstraction is that it makes difficult proofs trivial. The reason people don't like abstraction is that it makes elementary proofs non-elementary.
Please fix the title change. 'Trivial' and 'elementary' have specific meaning in mathematics and are not interchangeable. Roughly speaking, 'trivial' means easy or obvious, while 'elementary' means a proof that does not use complex analysis or higher techniques. This proof is elementary but definitely not trivial.
A classic, and clear, example of "elementary" meaning something different than "trivial" in math, is Atle Selberg's Annals proof of the Prime Number Theorem. A link to notes on this proof, and some (!?) controversy relating to it, here: https://people.math.osu.edu/nevai.1/AT/ERDOS/ErdosSelbergDis...
In order to appreciate how phenomenally basic this derivation is: here is a derivation using Euler's infinite product expansion of the sin(x) function.
One can actually derive the Euler product for sine perfectly rigorously quite quickly, in just the manner Euler did!
(Euler is often said to have glibly moved from "sin(x)/x has roots at nonzero integer multiples of π" to "sin(x)/x = the product of (1 - x/(kπ)) for each nonzero integer k" in solving the Basel problem, simply ignoring the problem of the fact that many other functions have precisely the same zeros.
But Euler was not, in fact, always so glib in presenting this argument! For example, in Volume 1, Chapter 9 of his Introductio in Analysin Infinitorum (translation by Ian Bruce available at http://www.17centurymaths.com/contents/introductiontoanalysi...), we see that Euler argues for the product formula by noting (what would in modern notation be) that sin(x) = the imaginary part of e^(ix) = the imaginary part of (1 + ix/N)^N for infinitely large N, so that a factorization of sin(x) can be extracted from a factorization of the polynomial Im[(1 + ix/N)^N] for large N.
I'll write out in modern style the extraction of that factorization, but all the ideas are already present in the Euler:)
Let us denote Im[(1 + ix/N)^N] by f_N(x). Note that f_N is a polynomial of degree either N - 1 (if N is even) or N (if N is odd), whose degree 1 term is 1. Furthermore, its roots occur where x/N is the tangent of a multiple of π/N. Putting these together, we get that f_N(x)/x = the product of 1 - x/(N tan(kπ/N)) over the nonzero integers k in (-N/2, N/2).
As N approaches infinity, N tan(kπ/N) approaches kπ. Thus, we have that sin(x)/x = the product of 1 - x/(kπ) over the nonzero integers k.
[This last step is slightly glib, in that we've commuted limits without justification. We can rectify that by bundling together the factors where k differs only in sign, saying f_N(x)/x = the product of 1 - (x/(N tan(kπ/N)))^2 over k in (0, N/2). Now we note that the movement of the factors toward their limit is monotonic in N (considering the k-th factor to be 1 when N/2 <= k), which is sufficient justification for commuting the limits.]
22 comments
[ 3.2 ms ] story [ 68.6 ms ] threadAll I can say is wow, that formula slow to converge on pi. The product after 100 million terms is: 3.141592637878503
You can see that 100M terms only gets you 8 decimals of precision.
https://en.wikipedia.org/wiki/Approximations_of_π#Efficient_...
pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...
What makes this expansion particularly painful is that usually Taylor expansion is done around a point where x is small, such that the x^n numerators of subsequent terms get progressively smaller. But in this case the numerator is always 1, so the series depends entirely on the denominator for convergence.
Meanwhile, the denominator doesn't grow by the usual increasing factorial terms common to Taylor series, but grows only linearly. So both effects combined cause this expansion to take a very long time to converge.
edit: Oh that's interesting. Python 2 gave me 0, Python 3 worked fine.
What is being tested with 100million function calls?
"Elementary" roughly means doesn't bring in results from different fields (such as using calculus to prove a theorem about a sum or product). "Elementary" proofs can be quite difficult, and it can be quite a feat (well worth a publication) to find one for a standard result.
"Trivial" usually means something closer to easy, or means there is some linkage already implying the result (just in disguise).
http://www.jstor.org.sci-hub.cc/stable/10.4169/amer.math.mon...
Then if you want your answer plug in x = π/2 inevitably Wallis formula leads to either Stirling formula or the derivation of ζ(2)=π^2/6.
So for someone to solve it just by drawing some rectangles and finding the area is pretty amazing.
(Euler is often said to have glibly moved from "sin(x)/x has roots at nonzero integer multiples of π" to "sin(x)/x = the product of (1 - x/(kπ)) for each nonzero integer k" in solving the Basel problem, simply ignoring the problem of the fact that many other functions have precisely the same zeros.
But Euler was not, in fact, always so glib in presenting this argument! For example, in Volume 1, Chapter 9 of his Introductio in Analysin Infinitorum (translation by Ian Bruce available at http://www.17centurymaths.com/contents/introductiontoanalysi...), we see that Euler argues for the product formula by noting (what would in modern notation be) that sin(x) = the imaginary part of e^(ix) = the imaginary part of (1 + ix/N)^N for infinitely large N, so that a factorization of sin(x) can be extracted from a factorization of the polynomial Im[(1 + ix/N)^N] for large N.
I'll write out in modern style the extraction of that factorization, but all the ideas are already present in the Euler:)
Let us denote Im[(1 + ix/N)^N] by f_N(x). Note that f_N is a polynomial of degree either N - 1 (if N is even) or N (if N is odd), whose degree 1 term is 1. Furthermore, its roots occur where x/N is the tangent of a multiple of π/N. Putting these together, we get that f_N(x)/x = the product of 1 - x/(N tan(kπ/N)) over the nonzero integers k in (-N/2, N/2).
As N approaches infinity, N tan(kπ/N) approaches kπ. Thus, we have that sin(x)/x = the product of 1 - x/(kπ) over the nonzero integers k.
[This last step is slightly glib, in that we've commuted limits without justification. We can rectify that by bundling together the factors where k differs only in sign, saying f_N(x)/x = the product of 1 - (x/(N tan(kπ/N)))^2 over k in (0, N/2). Now we note that the movement of the factors toward their limit is monotonic in N (considering the k-th factor to be 1 when N/2 <= k), which is sufficient justification for commuting the limits.]