Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> This kid walked straight up to the board and explained how you can design a computer program to factor any polynomial equation string input to it, and in fact had implemented a polynomial equation factoring program while the teacher explained how to factor simple quadratic equations.

I find this difficult to square with the well-known theorem that there is no closed-form solution to polynomials of degree five or more. (Where a "solution" and a "factoring" are, for polynomials, the same thing.)



And how does "no closed form solution" imply "no solution"?


No closed form solution means you cannot write a program that will, given an arbitrary polynomial, tell you the solution. Which is what was claimed above. Obviously the solution exists, but there is no single algorithm that can tell you what it is.


No closed form solution means we can't write out the solution cleanly using standard algebraic operations. You can still write iterative algorithms that converge on the solution, such as by solving for the eigenvalues of a matrix.


Those won't tell you the solution; they'll tell you a number that is near the solution.

When the solution is irrational, as is common for polynomials, it might be difficult to guess what it is based on knowing an approximation of it.


When using 64 bit floating point numbers with 54 bits of precision, (or likely in this case, complex values consisting of two 64 bit floats) and you use an algorithm which you can guarantee converges to within 55 bits of precision in X steps, you have found the closest representable solution. Yes, you don't know whether it's 1 + sqrt(17) or 0.9 + Sqrt[17.84...], but you know to a degree of precision that 95% of use cases need what the value is. I do understand what you are saying, but the parent comment was referring to a student factoring polynomials. You doubted what he did based on the fact that he couldn't exactly specify what the roots were. I just assumed that he likely found the roots to a reasonable accuracy and then factored with these approximated values. The parent never specified, but given doubting the authenticity of the comment or celebrating youthful ingenuity, I choose the latter. I understand what you are saying. Yes, you can not find the EXACT values of the roots, but within the context of this comment chain, I don't think that matters.


On the contrary, when the problem posed is "find the roots of this polynomial", it's very common to accept approximate values.

When the problem posed is "factor this polynomial", it's unheard of. This is the conceptual difference between "needing a number to work with" and "studying math".


Must have been for degree 4 or below.


Or maybe it assumes rational roots.


Which would be useless in context because even for quadratic polynomial problems in middle school, very often the solutions are irrational.


In which case it could say "no rational solutions found"


Yeah, I could also write a program that checks if all solutions are 0 and output the factorization, otherwise say "there are non-zero solutions". That's far from "a program that factors polynomials".

If you brag about how "you can design a computer program to factor any polynomial equation string input to it" in a class about quadratic equations and your code can't factor x^2 - 2, that's just not very impressive, regardless of your age.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: