One more pedantic note. There are algebraic formulas for solving polynomials of higher degree than 4. For instance, you can find a formula to solve x^n = 0 for n a positive integer. You can’t find a general, algebraic formula to solve polynomial equations of degree n where n > 4.
for more info see: https://en.wikipedia.org/wiki/Countable_set
Then how is there a difference between books and programs?
Now consider the following program or function:
f_epsilon(x) (return x + epsilon;) where epsilon is a number from a set S.
Then if the set S is considered countable for pragmatic reasons like representing epsilon in the form of bits etc then everyone agrees it is countable in practice.
I.e. aren't there uncountably many functions f(x) above if we allow epsilon to be drawn from an uncountable set?
However, f(x) = x + epsilon is not a computable function when epsilon is not a computable number. So not all of the f_epsilon family of functions is computable.
Let me present a challenge to you: Pick a uniformly random number between 1 and 2. Now tell me what it is.
No 'coincidences', like getting exactly 1.34 or the square root of three. It has to be properly random.
The odds are 100% that you picked a 'normal' number that goes on forever with no pattern. A number that cannot be specified in finite space. In other words, a number that can't be computed.
We can also consider a similar function f_epsilon(x) that returns the sum of x and a uniformly random number between 1 and 2 chosen at compile time, but constant at run time.
I agree it can't be specified in finite space.
The dichotomy is the computational model, from a utilitarian perspective we consider every conceptual computer to be a huge but finite finite-state-machine. One could abstractly (and less down-to-earth usefully) define/conceive of a computer that can store arbitrary variables representing uncountable objects (like real numbers etc)
If it's countable, then your computer can now reflect the previously-computable numbers across these epsilons, and give you new numbers, but you're still only covering 0% of the reals.
If it's uncountable, covering a range, then you just moved the problem back a step. On top of that, such a computer doesn't even have to do real work. You can spend 20 seconds using grade school arithmetic to map the input range to the entire set of reals, 1:1. But mapping a range of reals into a bigger range of reals is a pretty lousy definition of "computable".
This number is not computable; if it were, you could solve the halting problem.
It turns out no algorithm can solve the halting problem for all C programs. The explanation is that, if you had such an algorithm, you could write a C program that applies the algorithm to itself (this is a special quine), and then does the opposite of whatever the halting algorithm says the program would do (if it says the program halts, the program will just enter an infinite loop; if it says it does not halt, the program calls exit).
Now, imagine a list of all valid C programs in alphabetical order, beginning with the empty string (which, oddly enough, is a valid C program). Consider a number where the Nth digit after the decimal point is 0 if the Nth C program halts, and 1 if it does not; for example, the first digit, corresponding to the empty string, is 0, while a few digits later, the digit corresponding to "int main() {main(); return 0;}" will be 1.
Putting it all together, we know there are C programs for which we cannot compute the solution to the halting problem, and we have a number whose digits are determined by the solution to the halting problem for every C program. So that number is not computable (because we cannot compute every digit, so we cannot compute it to arbitrary precision).
> All algebraic numbers and some transcendental numbers are computable. Thus being irrational does not imply not being computable.
Yes, there is a distinction to be made about set computability and element computability. The real numbers (rationals and irrationals) are not computable because they are uncountable. Hence floating point numbers only approximate the reals, but they are not real representations themselves. But individual real numbers are frequently computable in a finite number of steps, including irrationals. For example, any given digit of Pi or the sqrt(2) is computable in a finite number of steps. But Chaitan's constant is an uncomputable real number.
Likewise, transcendental functions - such as logarithms - are not generally computable as a set even though individual instances can be computed. This is why an inequality including an expression with logarithmic exponents might be reducible in Mathematica, but when you set those exponents to be the ceiling or floor functions of those logarithms it suddenly becomes insoluble.
> You can’t find a general, algebraic formula to solve polynomial equations of degree n where n > 4.
Yes, and the terminology for something with no general algebraic formula is that there's no closed form solution for it. Mathematica's documentation specifically states it can solve any expression with exponents of 4 of less, but it cannot do so with exponents of greater than 4.
On the ground below, colors in the phalanx began to shift and move. Complicated and detailed circuit patterns appeared and gradually filled the entire formation. Ten minutes later, the army had made a thirty-six kilometer square computer motherboard…
“This is really interesting,” Qin Shi Huang said, pointing to the spectacular sight. “Each individual’s behavior is so simple, yet together, they can produce such a complex, great whole! Europeans criticize me for my tyrannical rule, claiming that I suppress creativity. But in reality, a large number of men yoked by severe discipline can also produce great wisdom when bound together as one.”
—Cixin Liu, The Three Body Problem (2008)
This isn't just the chinese. The ancient greeks rejected ( or ignored ) irrational numbers too. Also, western math was just as computationally driven. Pretty much all math everywhere developed for practical purposes ( ie to divide land, more accurate calendar, etc ).
> There is a profound difference in philosophy, as evidenced by the title of this entire thread: the Chinese were "solving" 14th degree polynomials
No there isn't. The ancient greeks also "solved" equations, such as for volume of geometrical objects, by approximation. That's why they didn't invent calculus ( though sometimes math historians try to twist the definition and meaning and understanding of calculus to claim ancient greeks did ).
The fundamental difference is that ancient greeks developed explicit axiomatic mathematics while the chinese didn't. But practical computational mathematics is the foundation of all mathematics.
The difference between the Chinese and the Greeks was not just explicitly stating axioms (Chinese math was also a system built from basic principles, they just did not organize things as neatly as the Greeks), but their view of what computation is. The Greeks tried to map all computation onto Euclidean geometry, whereas the Chinese generally viewed computation as symbolic manipulation and tried to map all math (including geometry) into computation problems. I see that as a very big difference that had a big impact on how the two traditions developed.
They didn't rejected it for computational reason. They rejected it because it didn't fit in their framework of how number works.
That's the whole point of the evolution of math that culminated into the subject of real analysis.
If that wasn't the point of why you brought the greek up then it doesn't make sense why you bought it up other than the main topic of the Chinese, computation, etc...
"As far as I understand it" ? RIP if you're not a native speaker.
Anyone want to coin a word (or point one out that we're all apparently unfamiliar with)?
https://trends.google.com/trends/explore?date=all&geo=US&q=a...
AFAIK: 8,600,000 AFAICT: 346,000 AFAIUI: 14,600
Like some other commenters, I skipped right over it rather than try to parse it.
"Instead, the prevailing attitude is chabuduo, or ‘close enough’. It’s a phrase you’ll hear with grating regularity, one that speaks to a job 70 per cent done, a plan sketched out but never completed, a gauge unchecked or a socket put in the wrong size. Chabuduo is the corrosive opposite of the impulse towards craftmanship, the desire, as the sociologist Richard Sennett writes in The Craftsman (2008), ‘to reject muddling through, to reject the job just good enough’. Chabuduo implies that to put any more time or effort into a piece of work would be the act of a fool. China is the land of the cut corner, of ‘good enough for government work’."
(https://aeon.co/essays/what-chinese-corner-cutting-reveals-a...)