Comment by mg
1 month ago
Three surprising facts about transcendental numbers:
1: Almost all numbers are transcendental.
2: If you could pick a real number at random, the probability of it being transcendental is 1.
3: Finding new transcendental numbers is trivial. Just add 1 to any other transcendental number and you have a new transcendental number.
Most of our lives we deal with non-transcendental numbers, even though those are infinitely rare.
> 1: Almost all numbers are transcendental.
Even crazier than that: almost all numbers cannot be defined with any finite expression.
This is not necessarily true. It is possible for all real numbers (and indeed all mathematical objects) to be definable under ZFC. It is also possible for that not to be the case. ZFC is mum on the issue.
I've commented on this several times. Here's the most recent one: https://news.ycombinator.com/item?id=44366342
Basically you can't do a standard countability argument because you can't enumerate definable objects because you can't uniformly define "definability." The naive definition falls prey to Liar's Paradox type problems.
I think you're overthinking it. Define a "number definition system" to be any (maybe partial) mapping from finite-length strings on a finite alphabet to numbers. The string that maps to a number is the number's definition in the system. Then for any number definition system, almost all real numbers have no definition.
9 replies →
Maybe it would be better to say almost all numbers are not computable.
Chaitin's constant is definable but not computable.
Leads to really fun statements like "there exists a proof that all reals are equal to themselves" and "there does not exist a proof for every real number that it is equal to itself" (because `x=x`, for most real numbers, can't even be written down, there are more numbers than proofs).
Really? Which number can't be defined with a finite expression?
Any HN comment is a finite expression, so it's impossible for me to specify a particular one. But the number of finite expressions is countable, and the number of reals is vastly more than a countable number, so most reals cannot be described in any human sense.
6 replies →
Most of them. The reals are uncountable. The set of finite expressions is countable.
By common definition of "almost all", 1 == 2
how can i pick a real number at random though?
i tried Math.random(), but that gave a rational number. i'm very lucky i guess?
You can't actually pick real numbers at random. You especially can't do it on a computer, since all numbers representable in a finite number of digits or bits are rational.
Careful -- that statement is half true.
It's true that no matter what symbolic representation format you choose (binary or otherwise) it will never be able to encode all irrational numbers, because there are uncountably many of them.
But it's certainly false that computers can only represent rational numbers. Sure, there are certain conventional formats that can only represent rational numbers (e.g. IEEE-754 floating point) but it's easy to come up with other formats that can represent irrationals as well. For instance, the Unicode string "√5" is representable as 4 UTF-8 bytes and unambiguously denotes a particular irrational.
8 replies →
Pick a digit, repeat, don't stop.
Exactly right. You can pick and use real numbers, as long as they are only queried to finite precision. There are lots of super cool algorithms for doing this!
4 replies →
At no point will your number be transcendental (or even irrational).
5 replies →
And don’t die.
How did you test the output of Math.random() for transcendence?
When you apply the same test to the output of Math.PI, does it pass?
All floating point numbers are rational.
6 replies →
Use an analog computer. Sample a voltage. Congrats.
Sample it with what? An infinite precision ADC?
This is how old temperature-noise based TRNGs can be attacked (modern ones use a different technique, usually a ring-oscillater with whitening... although i have heard noise-based is coming back but i've been out of the loop for a while)
2 replies →
Use an analog computer how, to do what? An analog computer can do analog operations on analog signals, but you can't get an irrational number out of it ... this can be viewed as a sort of monad.