Pi calculation world record with over 202T digits
storagereview.com
storagereview.com
In college, he figured out how to write a program to compute an arbitrary number of the digits of Pi. I asked him how did he know it was correct? He said "just look at it. The digits are right!"
We were limited in the use of the campus PDP-10 by a CPU time allotment per semester. He was planning to blow his allotment computing pi, he figured he could compute it to 15,000 digits or so. At the end of the term, he fired it up to run overnight.
The PDP-10 crashed sometime in the early morning, and his allotment was used up and had no results! He just laughed and gave up the quest.
Later on, Caltech lifted the limits on PDP-10 usage. Which was a good thing, because Empire consumed a lot of CPU resources :-/
https://en.wikipedia.org/wiki/Guinness_World_Records#Change_...
https://www.guinnessworldrecords.com/world-records/first-com...
Knowing Caltech, there's a 50:50 chance that PDP is still running somewhere, torturing some poor postdoc in the astrophysics department because no one wants to upgrade it or port some old numerical code to a modern architecture.
It is saying something that this might be the most plausible part of the film.
Now that I am reading Meagher on octrees, I kind of wish I had met him--I think he was there at the time. I did get a tour of the image lab, and remember the colorful monkey on a monitor.
Edit: And yes, over the years I've wasted many many hours on my Atari ST and Macs running Empires.
I should have attended a more geeky high school.
More than good enough for a Star Trek transporter targeting system, provided that sufficient power can reach it and able to compensate for planetary orbital speed, orbital curvature, surface axial rate, as well same value set for its solar system pathway around its galaxy, and its galaxy pathway thru its eyewatery cornucopia of galaxies.
But it may not be good enough for precise calculation of field interaction within a large group of elementary particles of quantum physics. Thanks to Heisenburg’s Indeterminacy Principle (aka Uncertainty Principle).
"For JPL's highest accuracy calculations, which are for interplanetary navigation, we use 3.141592653589793" (15 digits).
How Many Decimals of Pi Do We Really Need? : https://www.jpl.nasa.gov/edu/news/2016/3/16/how-many-decimal...
The precise thing they are good at is dealing with number in a wide range of magnitudes. Where as fixed point numbers can not be used if the magnitudes vary wildly.
You can only use fixed point arithmetic if you know that every intermediate calculation you make will take place in a specific range of precision. E.g. your base precision might be millimeters, so a 32 bit fixed point number is exact up to one millimeter, but can at maximum contain a distance of 2^32-1 millimeters, so around 4.3 billion millimeters. But again you have to keep in mind that this is the maximum value for every intermediate result. E.g. when calculating the distance between two point in 3D space you need a power of 3, so every value you calculate the power of needs to have a value of less than the third root of 4.3 billion.
This makes fixed point arithmetic very hard to correctly implement and requires a very deep analysis of the system, to make sure that that the arithmetic is correct.
I guess the GP comment was discussing that, with this new measurement of pi, we now have enough precision (in pi) to reference a point this small on an object this far away. Once you account for all the other uncertainties in referencing that point, as you mentioned, all that precision in one dimension of the measurement is completely meaningless.
It still feels weird that you'd use an arithmetic with guaranteed imprecision in a field like this, but I can definitely see that, as long as you constrain the scales, it's more than enough.
e.g, with two decimal digits: (2.83 * 0.10) = 0.283, which is stored as 0.28.
You can not in general avoid cancellation, even claiming that is ridiculous. WTF are you even saying.
Or you can just use something like herbie that thinks about it for you: https://herbie.uwplse.org/
Sometimes there are ways to mitigate this, sometimes there aren't. Sometimes you need to precondition, sometimes you need to rearrange, sometimes you need a different algorithm, sometimes you need to normalize, sometimes you need to use a different arithmetic and so on.
For solving linear systems alone, there are definitely thousands of papers dealing with the problems arising from this. For every single algorithm you write and for all data which comes into that algorithm, you need a careful analysis if you want to exclude the potential of significant numerical errors.
Your comment makes it seem like this is a small problem, where you can just look at an algorithm for a time and fix it, this is literally a hundred year research project in numerics.
> For solving linear systems alone, there are definitely thousands of papers dealing with the problems arising from this. For every single algorithm you write and for all data which comes into that algorithm, you need a careful analysis if you want to exclude the potential of significant numerical errors.
It sounds like we agree that cancellation is avoidable with some analysis, and there are hundreds of techniques you can use to deal with it, but mostly it's the ~5 you listed there. And as you suggest, I don't believe this is nearly as significant a problem in the general case as you think it is. A careful error analysis is possible if you care (and if ever you cared, it would be on a spacecraft), and far easier in floating point than in many other number systems, including fixed point number systems.
Numeric systems that truly fix cancellation are incredibly big and heavy, and cannot usually be used for real-time calculations in a generic form. Fixed point certainly doesn't fix cancellation - it introduces precision loss issues on every operation you do that causes a number to go down in magnitude. It is actually harder to design systems in fixed point that avoid massive precision losses than it is in floating point, and the error analysis is much more substantial.
My original comment was about manned space flight in particular. If your application is relatively generic I think it is completely okay, if you are aware of it and mitigate the most pressing issues.
>Numeric systems that truly fix cancellation are incredibly big and heavy, and cannot usually be used for real-time calculations in a generic form.
You can use interval arithmetic, which guarantees that you at least know when cancellation has occurred. Interval arithmetic is fast enough for real time, although it has its own significant drawbacks.
> It is actually harder to design systems in fixed point that avoid massive precision losses than it is in floating point, and the error analysis is much more substantial.
Absolutely. My point was, that a manned space craft, might just be the point to do it.
Everything we have been talking about relates to space flight. In fact, with humans on board, you can afford to be a lot less precise, because they can work around most numerical issues by hand. The Apollo guidance computers, for example, were prone to occasional instances of gimbal lock and numerical instability, and the astronauts just fixed it.
> You can use interval arithmetic, which guarantees that you at least know when cancellation has occurred. Interval arithmetic is fast enough for real time, although it has its own significant drawbacks.
Interval arithmetic does not prevent cancellation. It's just two floating point calculations, both of which are actually less precise than the one you would do otherwise (you don't use default rounding for interval arithmetic, you round the bottom down and the top up). You do know when things have been canceled, but you know that in a floating point calculation anyway if you have done the error analysis.
My overall point here is that NASA isn't missing anything by using floating point instead of using other weird or exotic arithmetic systems. Double-precision floating point combined with a rudimentary error analysis and some algebra is good enough for pretty much everything, and you may not be able to do better at all with fixed point. Designing fixed point algorithms also depends on a very careful analysis of interval ranges and precisions, and often gets you nothing over just using "double", where the error analysis is easier anyway.
If you need to do better than double, there's also double-double arithmetic for your hard parts, which is a similar speed to interval arithmetic and doubles the precision you get beyond double.
There is no general way to mitigate that, you can use numerically superior algorithms or screen your inputs, but these only help in specific cases. There is no general way to avoid this, every algorithm needs to be treated specifically.
You don't. "-" is exact for fixed point unless the operation falls outside the range of valid values.
In floating point, almost every operator (other than subtraction) has precision of the full width of the mantissa minus 0.5 ULPs. All operators are not guaranteed to always be exact, but they are far more precise on average than equivalent operators in fixed point.
Cancellation isn't an issue of exactness, it's an issue of precision.
E.g. (a-b)*c, which is the common example for cancellation, if a and b are very close, can have an unbounded error compared to the result in the real numbers, in floating point. Since all operations besides "/" are exact in fixed point, no error can be introduced by this operation in fixed point (if all operations are representable).
Claiming that fixed and floating point are suffering the same way is just wrong.
For example, suppose your fixed point format is "the integers" and your floating point format has 6 significant digits: if you have real-valued a = 100000.5 and b = 100001.9, both number systems will round a to 100001 and b to 100002. In both cases, (b - a) will be 1 while (b - a) should be 1.4 if done in the reals. That rounding problem exists in fixed point just as much as in floating point. In both systems, the operation that causes the cancellation is itself an exact calculation, but the issue is that it's not precise. Fixed point will just give you 1 in the register while floating point will add a bunch of spurious trailing zeros. Floating point can represent 1.4, though, while fixed point can't. If a and b were represented exactly (a = 100001 and b = 100002 in the reals), there would be no problem in either number system.
The only times that you get better cancellation behavior are when you have more precision to the initial results, which when comparing double precision float to 64-bit fixed point comes when your operands in fixed point have their MSB at the 53rd position or above. That only happens when your dynamic range is so deeply limited that you can't do much math.
When you are thinking about cancellation numerically, exact is a red herring. Precise is what you want to think about.
It depends on how many bits you have. For example compare f128 with Q8.8. Which one do you think would give better astronomical calculation results?
Double-double would be about 31 digits, and quad precision would get you 34.
Single-precision gets you a bit more than 7 digits.
"The 53-bit significand precision gives from 15 to 17 significant decimal digits precision (2−53 ≈ 1.11 × 10−16). If a decimal string with at most 15 significant digits is converted to the IEEE 754 double-precision format, giving a normal number, and then converted back to a decimal string with the same number of digits" (from Wikipedia)
Simulating physical systems to extremely high precision (e.g. more than double precision) in general seems pointless in most situations because of those effects.
By the way, the first Ariane 5 launch blew up because of floating point error, specifically an overflow when converting a 64-bit float to an int. So be careful with floats!
The general rule of thumb in numerical analysis is you need roughly twice the working precision as the output precision. Double-precision floating point has ~16 decimal digits of precision, which means the output should generally be good for ~8 decimal digits; with single-precision, you have ~7 decimal digits of working precision, or about ~3-4 decimal digits of output precision.
In other words, a 32-bit floating-point number doesn't leave with enough useful precision for many cases, whereas a 64-bit floating-point number is good for most use cases.
> That goes back to the Intel 8087 chip, the floating-point coprocessor for the IBM PC. A double-precision real in the 8087 provided ~15 digits of accuracy, because that's the way Berkeley floating-point expert William Kahan designed its number representation. This representation was standardized and became the IEEE 754 floating point standard that almost everyone uses now.
It predates 8087! VAX had 64-bit floats with similar precision to IEEE 754 double precision. There's probably even older uses of 64-ish-bit floating-point types, but my knowledge of computers in the 60's and 70's is pretty poor. I fully expect you'd see similar results on those computers, though: you need enough decimal digits for working precision, and word-sized floating point numbers are just too small to have enough.
The 8087 itself doesn't use double precision types, it uses 80-bit types internally, which have 64 bits of mantissa (or ~19 decimal digits), although the reason for the 80-bit type is primarily to get higher precision for intermediate results on implementing transcendental functions.
I don’t think Kahan had a direct part in the design of the 8087. https://en.wikipedia.org/wiki/Intel_8087#Design_and_developm... agrees, saying “Palmer credited William Kahan's writings on floating point as a significant influence on their design.”
https://ieeemilestones.ethw.org/w/images/7/7f/Wk_an_intervie...
Also see https://math.berkeley.edu/news/congratulations-professor-wil...
And Kahan's Turing award: "During a long and productive relationship with Intel he specified the design for its floating-point arithmetic on several chips starting with the 8087" https://amturing.acm.org/award_winners/kahan_1023746.cfm
IOW, the likely reason for not storing more mantissa bits than that is someone involved in designing the 8087 determined that even NASA doesn't need more precision than that.
“atan(1) * 4”
casts to double?
- I wonder if this cast is always correct in C [ie.: math.h], no matter the datatype and/or the number base?
Floating point arithmetic is deterministic. As long as it is implemented as specified atan(1) has to give the floating point number which is the closest approximation to the real number pi/4 (in the current rounding mode), the multiplication by 4 means that precision can be lost and potentially your result is no longer the closest possible approximation to pi.
What? This is not true at all. The standards specifies adherence to IEEE 754 arithmetic.
You can read the standard here: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
Page 507 for adherence to number formats. Page 517 for atan adhering to IEEE 754 specification for the functions defined therein, which guarantees best possible results for individual operations.
Any C implementation where atan gives a result which is inconsistent with IEEE 754 specification does not adhere to the standard.
> also, no OS provided libm produces correctly rounded results for all inputs.
Every IEEE 754 conforming library does adhere to the best possible rounding guarantee. If you have any evidence to the contrary that would be a disaster and should be reported to the vendor of that library ASAP.
Can you provide some function and some input which violates the IEEE 754 guarantee together with the specific library and version? Or are you just making stuff up?
Even beyond transcendental functions, 754 isn't deterministic in practice because implementations have choices that aren't always equivalent. Using FMA vs separate multiplication and addition leads to different results in real programs, even though both methods are individually deterministic.
But then it doesn't conform to the standard. It is pretty unambiguous on that point.
From Section 9.2:
"A conforming operation shall return results correctly rounded for the applicable rounding direction for all operands in its domain."
I do not see how two conforming implementations can differ in results.
>Using FMA vs separate multiplication and addition leads to different results in real programs, even though both methods are individually deterministic.
Obviously. I never claimed that the arithmetic was invariant under transformations which change floating point operations, but are equivalent for real numbers. That would be ridiculous.
Is there actually an example of two programs performing identical operations under the same environment that give different results where both implementations conform to the standard?
>Even beyond transcendental functions, 754 isn't deterministic in practice because implementations have choices that aren't always equivalent.
Could you give an example? Where are implementations allowed to differ? And are these cases relevant, in the sense that identical operations lead to differing results? Or do they just relate to error handling and signaling.
> 9. Recommended operations
> Clause 5 completely specifies the operations required for all supported arithmetic formats. This clause specifies additional operations, recommended for all supported arithmetic formats.
Hyperbolic tan is in the list of recommended functions, and yet: https://github.com/numpy/numpy/issues/9187
Who cares? The C standard for math.h requires these functions to be present as specified. They are specified to round correctly, the C standard specifies them to be present as specified, therefore the C standard specifies them as present and correctly rounded. I literally quoted the relevant sections, there are no conforming C specification which give different results.
>Hyperbolic tan is in the list of recommended functions, and yet: https://github.com/numpy/numpy/issues/9187
Any evidence whatsoever that this is caused by two differing implementations of tanh, which BOTH conform to the IEEE 754 standard?
Everyone is free to write their own tanh, it is totally irrelevant what numpy gives, unless there are calls to two standard confirming tanh function which for the same datatype produce different results.
Forgive me, but I cannot see that in the document sections you point out. The closest I can see is F.10-3, on page 517, but my reading of that is that it only applies to the Special cases (i.e values in Section 9.2.1), not the full domain.
In fact, my reading of F.10-10 (page 518) suggests that a conforming implementation does not even have to honor the rounding mode.
I'm not aware of any libm implementations that will guarantee correct rounding across all inputs for all types. I'm aware of a few libm's that will guarantee that for floats (e.g. rlibm: https://people.cs.rutgers.edu/~sn349/rlibm/ ), but these are not common.
Genuinely a bit shocked by this.
That's not the current version of C. The best document right now is https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf (which is C23 with one or two editorial fixes).
Note that Annex §F.3¶20 says
> However, correct rounding, which ISO/IEC 60559 specifies for its operations, is not required for the C functions in the table.
which proceeds to list most of the functions in IEEE 754-2008/2019 section 9.2.
A C compiler which claims conformance to IEEE 754 need not correctly round those functions. Most C libraries do not correctly round all of these functions: https://members.loria.fr/PZimmermann/papers/accuracy.pdf
(in summary, llvm-libc correctly rounds all functions, as it's explicitly borrowing from one of the correctly-rounded efforts; of the other implementations, Intel's library usually gets the closest, but not always).
(Insert long rant about icc enabling daz/ftz by default.)
It is a bit shift to the right, so where do the new bits come from? Why would the two new bits be the correct ones?
This is about the approximation to pi not the approximation to float(atan(1))*4, it is exact (but irrelevant) for the later, for the former you loose two bits, so you have a 25% chance of correctly rounding towards pi.
It’s just good science.
40 digits or so will get you that...
Here's the WolframAlpha equation to your assertion of 40-digit ... or so.
https://www.wolframalpha.com/input?i=%28180+x+17+trillion+li...
Also, I err'd. I swapped L and R.
https://www.wolframalpha.com/input?i=%28180+x+1+nanometer%29...
[0] https://www.wolframalpha.com/input?i=93+billion+light+years+...
You're also underestimating the accuracy by the absurd amount of roughly 10^202000000000000 ;)
You need ~ zero of the digits of the calculated pi to do OPs calculation.
[edit] My brains melting, I think I'm wrong and you are underestimating the underestimation of the accuracy by the absurd amount of roughly 10^42000000000000. OP is underestimating by 10^202000000000000.
And boy, that was a shaffing error.
What does this mean?
Imagine there's a circle with radius 1m and you've got a calculated bearing to it calculated using pi = 3 . In the worst case in 2 dimensions for every meter you walked you could be walking off to the side ~0.0225 meters (napkin maths) from where the circle really is, so it would only take the circle being ~45m away for you to walk right by it rather than through it. With pi =3.1 you're diverging ~0.0066m per meter so the circle would need to be ~152m away before there was a chance you'd miss it. 11 digits of pi gets you about 3 light years of walking before you had a chance of missing.
They were discussing (with a large degree of understatement,as discussed by others above) that this value of pi gives great precision in these kinds of calculations.
This applies to every normal, "irrational" number, the name with which I massively agree, because the only way they can be not purely random suggests they are compressible further and so they have to be purely random, and thus... can't be.
It is a completely irrational concept, thinking rationally.
What you are essentially saying is that pi = 3.14....pi...........
If that was the case, wouldn't it mean that the digits of pi are not countably infinite but instead is a continuum. So you wouldn't be able to put the digits of pi in one to one correspondence with natural numbers. But obviously we can so shouldn't our default be to assume our premise was wrong?
> It is a completely irrational concept, thinking rationally.
It is definitely interesting to think about.
Yes. There is an issue with the premise as it leads to a contradiction.
> Like djkorchi mentioned above, if we knew pi = 3.14....pi..., that would mean pi = 3.14... + 10^n pi for some n, meaning (1 - 10^n) pi = 3.14... and pi = (3.14...) / (1 - 10^n), aka a rational number.
Yes. If pi = 3.14...pi ( pi repeats at the end ), then it is rational as the ending pi itself would contain an ending pi and it would repeat forever ( hence a rational number ). I thought the guy was talking about pi contain pi somewhere within itself.
pi = 3.14...pi... ( where the second ... represents an infinite series of numbers ). Then we would never reach the second set of ... and the digits of pi would not be enumerable.
So if pi cannot be contained within ( anywhere in the middle of pi ) and pi cannot be contained at the end, then pi must not contain pi.
No; combining two countably infinite sets doesn't increase the cardinality of the result (because two is finite). Combining one finite set with one countably infinite set won't give you an uncountable result either. The digits would still be countably infinite.
Looking at this from another direction, it is literally true that, when x = 1/7, x = 0.142....x.... , but it is obviously not true that the decimal expansion of 1/7 contains uncountably many digits.
Agreed. But pi = 3.14...pi... isn't combing 2 infinite sets. It 'combining' infinite amounts of infinite sets and not in a linear fashion either.
You have to keep in mind the 2nd pi in the equation can be expanded to 3.14...pi...
pi = 3.14...pi... when expanded is pi = 3.14...(3.14...pi...)...
and you can keep expanding the inner pi forever.
> The digits would still be countably infinite.
How can you ever reach the first number after the inner pi in (pi = 3.14...pi...). Or put another way how do you get to the 4th '.'? You can't.
This is a classical example of countably infinite and a continuum.
A normal number would mean that every finite sequence of digits is contained within the number. It does not follow that the number contains every infinite sequence of digits.
In general, something that holds for all finite x does not necessarily hold for infinite x as well.
Pi is assumed to be infinite, random, and normal. The point here is not these assumptions may be wrong. Underneath them may sit a greater point; that irrationality is defined in a contradictory way - which may be correct, or not, or, both.
Given proof Pi is infinite lay on irrationality, it is rather an important issue. Pi may not be infinite, and a great place to observe that may be Planck.
Is that true? I don't see how that could be true. The sequence 0-9 repeated infinitely is, by definition, a normal number (in that the distribution of digits is uniform)
...and yet nowhere in that sequence does "321" appear ...or "654" ...or "99"
There are an infinite number of combinations of digits that do not appear in that normal number I've just described. So, I don't think your statement is true.
Well, your first problem is that you don't know the definition of a normal number. Your second problem is that this statement is clearly false.
Here's Wolfram Alpha:
> A normal number is an irrational number for which any finite pattern of numbers occurs with the expected limiting frequency in the expansion in a given base (or all bases). For example, for a normal decimal number, each digit 0-9 would be expected to occur 1/10 of the time, each pair of digits 00-99 would be expected to occur 1/100 of the time, etc. A number that is normal in base-b is often called b-normal.
Your "counterexample" is not a normal number in any sense, most obviously because it isn't irrational, but only slightly less obviously because, as you note yourself, the sequences "321", "654", and "99" do not ever appear.
lol. Your counterargument is a tautology because it contains "the sequences "321", "654", and "99" do not ever appear."
It's like if you claim, "A has the property B" then I say, "based on this definition, I don't think A has property B"
Then you say, "if it doesn't have property B, then it's not A"
...okay, but my point is, the definition that I had (from wikipedia) doesn't imply B. So for you to say, "if it doesn't have B, then it's not A" is just circular.
Now, you can point out that the definition I got from wikipedia is different from the one you got from wolfram. That's fine. That's also true. And you can argue that the definition you used does indeed imply B.
But what you cannot do is use B as part of the definition, when that's the thing I'm asking you to demonstrate.
You: all christians are pro-life
Me: I don't see how that's true. Here's the definition of christianity. I don't see how it necessarily implies being against abortion.
You: your """"counterexample"""" (sarcastic quotes to show how smart I am) is obviously wrong because, as you note yourself, that person is pro-choice, therefore, not a christian.
^^^^^ do you see how this exchange inappropriately uses the thing you're being asked to prove, which is that christians are pro-life, as a component of the argument?
Again, it's totally cool if you fine a different definition of christian that explicitly requires they be pro-life. But given that I didn't use that definition, that doesn't make it the slam dunk you imagine.
You might have a better argument if there were more than one relevant definition of a normal number. As you should have read in the other responses to your comment, the definition given on wikipedia does not differ from the one given on Wolfram Alpha.
> And you can argue that the definition you used does indeed imply B.
Given that the implication of "B" is stated directly within the definition ("For example, ..."), this seemed unnecessary.
> but my point is, the definition that I had (from wikipedia) doesn't imply B. So for you to say, "if it doesn't have B, then it's not A" is just circular.
Look at it this way:
1. You provided a completely spurious definition, which you obviously did not get from wikipedia.
2. You provided a number satisfying your spurious definition, which - not being normal - didn't have the properties of a normal number.
3. I responded that you weren't using the definition of a normal number.
4. And I also responded that it's easy to see that the number you provided is not normal, because it doesn't have the properties that a normal number must have.
Try to identify the circular part of the argument.
And, consider whether it's cause for concern that you believe you got a definition of "normal number" from wikipedia when that definition of "normal number" is not available on wikipedia.
I did. Should I repeat it?
What people usually call "normal number" is much stronger: a number is normal if, when you write it in any base b, every n-digit sequence appears with the same probability 1/b^n.
Infinity has entered the chat. 0+0+0+0+…
is still zero.The suspense is killing me.
This is true for normal numbers [1], but is definitely not true for all non-repeating (irrational) numbers. Pi has not been proven to be normal. There are many non-repeating numbers that are not normal, for example 0.101001000100001...
Storing the index into pi for a file would usually take something like as much space as just storing the file, and storing or calculating enough digits to use that index would be impossible with the technology of today (or even probably the next century).
The short version is that the size of the reals is a "bigger infinity" than the size of the rationals, so they effectively have 'zero weight'.
Reference (very technical): https://math.stackexchange.com/questions/508217/showing-that...
The joke lies in the fact that saying "100% of real numbers" isn't *technically* the same thing as saying "all real numbers", because there's not really a good way to define a meaning for "100%" that lets you exclude rational numbers (or any other countable subset of the reals) and get something other than 100%.
Right. I'm pretty sure actually that it was a joke...
may I interest you in the difference between *irrational* numbers and *normal* numbers?
look at https://en.wikipedia.org/wiki/Liouville_number - no repeats, but minuscule "contained information"
It is somewhat shocking that again and again this logical fallacy comes up. Why do people think that this is true? It doesn't even sound true.
It's sort of like the idea that if the universe is infinitely big and mass and energy are randomly distributed throughout the universe, then an exact copy of you on an exact copy of Earth is out there somewhere.
This property of infinity has always fascinated me, so I'm very curious for where the logical fallacy might be.
A number that contains all other numbers infinitely many times (uniformly) would be called normal, but no one has managed to prove this for pi yet. In fact, no one even managed to prove that pi doesn't contain only 0s and 1s like the above after the X-th digit.
No. Example: 0.1011011101111011111... does never repeat, yet there is no 2 in there, neither is there 00 in there.
The question is really 'Does every series of numbers of arbitrary finite length appear in pi?' I can't answer that because I'm not a mathematician, but I also can't dismiss it, because I'm not a mathematician. It sounds like a fair question to me.
So what? Mathematicians can't answer it either. It is an open question and because it is an open question claiming it is or isn't true makes no sense.
>The fact you can't encode arbitrary data in a structured-but-irrational number doesn't mean you can't encode data in a 'random' irrational number.
You can not encode data in a random number. If it is random you can not encode data in it, because it is random. I am not sure what you are saying here.
I demonstrated that numbers where the digits go on forever and never repeat exist, which don't contain every single possible substring of digits. Therefore we know that pi can either be such or a number or it is not, the answer to that is not known. Definitely it is not a property of pi being infinitely long and never repeating.
That's why I put random in quotes. Pi is not a random number. You can encode data in it eg find a place that matches your data and give people the offset. That's not very helpful for most things though.
That obviously applies to 0.00... = 0 as well, it contains 0, then 00, then 000 and so on. So every number and therefore every piece of information is contained in 0 as well, given the right encoding. Obviously if you can choose the encoding after choosing the number all number "contain" all information. That is very uninteresting though and totally misses the point.
Put another way, the program which searches those works of art in the digits of pi will never finish (for a sufficiently complex work of art). And if it never finishes, does it actually exist?
Citation needed.
Believing in real numbers requires you to believe in far more than infinity. How many physicists reject real numbers?
To answer that question, you would have to dismiss with experimental evidence all models people can come up with that try to explain the universe without "infinities". It's neither completely clear what that would mean, nor whether it's even in principle possible to determine experimentally (it's also most likely completely irrelevant to any practical purpose).
feel free to prove me wrong. I never said it's efficient, the point is just that the information is out there. If pi has the following subnumbers 00, 01, 10, 11 in there, we can construct every perceivable data we can encode as binary. Even with 0 and 1. So we can construct a file by pointers to these four numbers. The bigger substrings we can match, the bigger the compression ratio. The set of pointers might even be way bigger than the file itself. It's nowhere near efficient or clever, but just entertaining
I don't think you can argue against IP because the way you arrange the pointers is IP itself, but still a funny thought experiment anyway
I'm not saying, that every piece of information is in there end to end, but that there are parts in there which can be used to construct it. I think I should've made the "encoded" part a bit more transparent haha. But I love the discussion that I kicked off!
you might find this to be pretty cool. It's similar to what you're describing. Whoever made it has an algorithm where you can look up "real" strings of text and it'll show you where in the library it exists. you can also just browse at random, but that doesn't really show you anything interesting (as you would expect given it's all random).
...and can't because there is no original corpus that the locality hashing algorithm can use as a basis
Borges wrote a famous short story, “The Library of Babel,” about a library where:
“... each book contains four hundred ten pages; each page, forty lines; each line, approximately eighty black letters. There are also letters on the front cover of each book; these letters neither indicate nor prefigure what the pages inside will say.
“There are twenty-five orthographic symbols. That discovery enabled mankind, three hundred years ago, to formulate a general theory of the Library and thereby satisfactorily resolve the riddle that no conjecture had been able to divine—the formless and chaotic nature of virtually all books. . .
“Some five hundred years ago, the chief of one of the upper hexagons came across a book as jumbled as all the others, but containing almost two pages of homogeneous lines. He showed his find to a traveling decipherer, who told him the lines were written in Portuguese; others said it was Yiddish. Within the century experts had determined what the language actually was: a Samoyed-Lithuanian dialect of Guaraní, with inflections from classical Arabic. The content was also determined: the rudiments of combinatory analysis, illustrated with examples of endlessly repeating variations. These examples allowed a librarian of genius to discover the fundamental law of the Library. This philosopher observed that all books, however different from one another they might be, consist of identical elements: the space, the period, the comma, and the twenty-two letters of the alphabet. He also posited a fact which all travelers have since confirmed: In all the Library, there are no two identical books. From those incontrovertible premises, the librarian deduced that the Library is “total”—perfect, complete, and whole—and that its bookshelves contain all possible combinations of the twenty-two orthographic symbols (a number which, though unimaginably vast, is not infinite)—that is, all that is able to be expressed, in every language.”
I've done the (simple) math on this -- in fact I'm writing a short book on the philosophy of mathematics where it's of passing importance -- and the library contains some 26^1312000 books, which makes 202T look like a very small number.
So though everything you describe is encoded in Pi (assuming Pi is infinite and normal) we're a long, long way away from having useful things encoded therein...
Also, an infinite and normal Pi absolutely repeats itself, and in fact repeats itself infinitely many times.
- it asked for my birthday (e.g. 25th Feb 1986) using a day / month / year form
- then converted to the m/dd/yy form (i.e. a string 22586),
- found that string in Pi,
- forgot my birthday and messed up displaying that somehow when converting back - saying that it found my birthday of 22 / 5 / 86
I just submitted a sub-page of that site, which has some discussion that touches more on the layout of the library as described by Borges: https://news.ycombinator.com/item?id=40970841
But it's also true that pi may not contain every _possible_ sequence of decimals, no matter what base you pick. Like the Riemann hypothesis, it seems very likely and people have checked a lot of statistics, but nobody has proven it beyond a (mathematical) shadow of doubt.
I don’t know if there would be any logical issue with this approach. The only logistical difficulty I can figure out is computing enough decimals and search the pattern in it, but I guess that such a voluminous pre-computed approximation can greatly help.
Actually any resources related to that point could be fun to explore
https://en.wikipedia.org/wiki/Pigeonhole_principle#Uses_and_...
So that means that if we give a roomful of infinite monkeys an infinite number of hand-cranked calculators and an infinite amount of time, they will, as they calculate an infinite number of digits of pi, also reproduce the complete works of Shakespeare et al.
Wouldn't the encoded information have to have a finite length? For example, pi doesn't contain e, does it?
Assuming we are only interested in base 10 and that pi contains e means that at some point in the sequence of decimal digits of pi (3, 1, 4, 1, 5, 9, 2, ...) there is the sequence of decimal digits of e (2, 7, 1, 8, 2, 8, ...), then I believe that question is currently unanswered.
Pi would contain e if and only if there are positive integers n and m such that 10^n pi - m = e, or equivalently 10^n pi - e = m.
We generally don't know if combinations of e and pi of the form a pi + b e where a and b are algebraic are rational or not.
Even the simple pi + e is beyond current mathematics. All we've got there is that at least one of pi + e and pi e must be irrational. We know that because both pi and e are zeros of the polynomial (x-pi)(x-e) = x^2 - (pi+e)x + pi e. If both pi+e and pi e were rational then that polynomial would have rational coefficients, and the roots of a non-zero polynomial with rational coefficients are algebraic (that is in fact the definition of an algebraic number) and both pi and e are known to not be algebraic.
You reminded me of this Person of Interest clip: https://www.youtube.com/watch?v=fXTRcsxG7IQ
E: As the comments have pointed out, this requires the conjecture that Pi is normal to be true, was has not been proven or disproven yet.
https://en.m.wikipedia.org/wiki/Bailey%E2%80%93Borwein%E2%80...
So, you run your big calculation to get all XXX trillion digits on one machine, and run a completely different calculation to check, say, 1000 of those digits. If all match it's a pretty convincing argument that the calculation is correct.
I've met more than one pi braggart who expected me to marvel at their ability to recite digits, but couldn't answer 'what is pi though? Don't use numbers, use words'. And they just didn't know.
It's one of those weird domains we're people can possess deep knowledge and no understanding.
Here's the whole vod, if curious: https://www.youtube.com/watch?v=TZqTIXCrC3g
My younger brother was competing with me. He knows ~160 digits.
No special memory tricks - just repeatedly reading/reciting until they stuck.
I can understand that they have to mention them, but I think they’re overdoing it.
It'd probably be amusing to ask ChatGPT to rewrite the article so that every sentence contains "StorageReview Lab"...
And prices-per-digit so low we're practically giving them away !
StorageReview's server is a different beast, but it's kind of amazing that it gets similar capacity in only 2U.
So, does anybody know what interesting discoveries have come out of this process, besides a more precise Pi?
The simulation hypothesis is ridiculous in many other ways of course.
The Planck scale is the scale of lengths/times/etc that are around 1 in Planck units. This happens to be the scale roughly around which the quantum effects of gravity become significant. Since we do not have an accepted quantum theory of gravity, it's therefore the scale at which we cease to have an accepted physical theory.
There is no evidence to suggest that space is discrete at that scale. It's just the scale at which we have no accepted theory, and AFAIK no evidence to evaluate such a theory.
Bekenstein bound and "planckian discreteness".
Reality is most likely not composed of a regular tesselation of simple geometric shapes such as a cartesian voxel grid as that would introduce massive anisotropy. But, there is still theoretic evidence suggesting that spacetime is indeed discrete at the lowest level.
That is going to be a though one, at least direct measurements are pretty much ruled out if you consider that the plank length is about a quadrillion (yes, really 10^15) times smaller than the classical electron radius.
So, we will have to settle for indirect evidence and theoretical results.
A discrete space-time would likely mean observable Lorentz-violations.
Before we thought that energy, mass and matter were completely continuous and that turned out to be wrong.
But the way semi-serious people kick the idea around, sure. Pony up. I don't think that my religious beliefs submit to rigor, either. But I'm not here pushing something labeled as "religious beliefs" as a "hypothesis", either.
By the same token, if someone wants to call it the "Simulation Belief" in a religious sense, then I will lay by my dish.
What's the python package to get that ? :-)
That or integers were and we should have an natural number of fingers and toes.
Either just the positives or the positives and zero.