HP Forums

Full Version: Recover polynomial from 1 root
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I were reading Mathematical Universe, by William Dunham

On page 210, he showed how an algebraic number must be a root of a specific polynomial (with integer coefficient)

A hard example, r = sqrt(6) / (5^(1/3) + sqrt(3)), is a solution of ...

4 x^12 - 49248 x^10 - 37260 x^8 - 127440 x^6 + 174960 x^4 - 139968 x^2 + 46656 = 0

How does he do that ?
What is the trick to recover polynomial from a single root ?

BTW, anyone who has HP Prime, can you confirm r really is a root of that polynomial ?
.
Hi, Albert Chan:
(09-21-2018 01:17 PM)Albert Chan Wrote: [ -> ]I were reading Mathematical Universe, by William Dunham

Excellent book, which I bought many years ago (both in Spanish ["El Universo Matemático"] and English. Recommended.

Quote:On page 210, he showed how an algebraic number must be a root of a specific polynomial (with integer coefficient). A hard example, r = sqrt(6) / (5^(1/3) + sqrt(3)), is a solution of ...

4 x^12 - 49248 x^10 - 37260 x^8 - 127440 x^6 + 174960 x^4 - 139968 x^2 + 46656 = 0

How does he do that ? What is the trick to recover polynomial from a single root ?

Any given algebraic number such as your r is the root of an infinite number of polynomials, so the one you quoted is usually the minimal polynomial (which is unique) for that algebraic number.

The minimal polynomial can be found with most advanced software (the function is usually called something like "minpol") which do use lattice reduction algorithms such as LLL, or in more recent times, PSLQ. [Of course it can also be done manually by performing some very tedious but purely algebraic manipulations (raising x-r to suitable powers and isolating radicals at one side, rinse and repeat, until you get rid of all radicals).]

I did include a minpol functionality in version 2.0 of my IDENTIFY program for the HP-71B which does just that, find the minimal polynomial for any given input. If the number is indeed algebraic, the polynomial will have it as one of its roots, else the root will be an approximation to the non-algebraic number given (say Pi).

Quote:BTW, anyone who has HP Prime, can you confirm r really is a root of that polynomial ?

You don't need a Prime for that, an HP-71B will do as well, as will many other advanced HP models.

Regards.
V.
.
Thanks, Valentin Albillo

I had noticed the polynomial is not fully reduced (top coefficient of 4 can be removed).
Seems Dunham uses software to get the polynomial too Smile
FYI, this is what manual "rinse and repeat" method look like:

x = r = sqrt(6) / (5^(1/3) + sqrt(3))

3*sqrt(2) x + 5400^(1/6) x = 6 <-- multiply 6/r, both side
5400^(1/6) x = 6 - 3*sqrt(2) x
5400 x^6 = (6 - 3*sqrt(2) x)^6 <-- only square root remains ...

Expand above, and group sqrt(2) terms, we get

sqrt(2) * (81 x^5 + 540 x^3 + 324 x) = x^6 + 405 x^4 + 810 x^2 + 108

Square both side, all radicals are gone. We get the polynomial:

x^12 - 12312 x^10 - 9315 x^8 - 31860 x^6 + 43740 x^4 - 34992 x^2 + 11664 = 0
(09-21-2018 01:17 PM)Albert Chan Wrote: [ -> ]BTW, anyone who has HP Prime, can you confirm r really is a root of that polynomial ?

I used the HP-15C's solve feature to find one of the roots to be 0.7116416918, confirming that r is a root of that polynomial.
Using XCas simplify on root r, I were expecting little or no effect, but I get this:

r := sqrt(6) / (5^(1/3) + sqrt(3))
simplify(r)

=> rootof( [3018245, 37511698, ... (Total 12 numbers) ], [1, 0, -54, -20 ... (Total 13 numbers)]])

Does above have any relation to the polynomial that have r as a root ?
(10-09-2018 12:37 PM)Albert Chan Wrote: [ -> ]Using XCas simplify on root r, I were expecting little or no effect, but I get this:

r := sqrt(6) / (5^(1/3) + sqrt(3))
simplify(r)

=> rootof( [3018245, 37511698, ... (Total 12 numbers) ], [1, 0, -54, -20 ... (Total 13 numbers)]])

Does above have any relation to the polynomial that have r as a root ?

And hence you've discovered why we, after much persuasion, convinced Dr Parisse to turn "rootof" off in Prime. Nobody can understand WTH it is supposed to be describing or is useful for. Despite having heard the explanation many times it still is a mystery... Smile
(10-12-2018 07:34 AM)Tim Wessman Wrote: [ -> ]
(10-09-2018 12:37 PM)Albert Chan Wrote: [ -> ]Using XCas simplify on root r, I were expecting little or no effect, but I get this:

r := sqrt(6) / (5^(1/3) + sqrt(3))
simplify(r)

=> rootof( [3018245, 37511698, ... (Total 12 numbers) ], [1, 0, -54, -20 ... (Total 13 numbers)]])

Does above have any relation to the polynomial that have r as a root ?

And hence you've discovered why we, after much persuasion, convinced Dr Parisse to turn "rootof" off in Prime. Nobody can understand WTH it is supposed to be describing or is useful for. Despite having heard the explanation many times it still is a mystery... Smile

Indeed. I do understand what it does but, frankly, it's next to useless in most cases and the result is highly unfathomable as Albert Chan has experienced first hand.

I would suggest renaming this existing functionality to something that best describes what it does (if at all possible) and using instead the name "rootof" to return the minimum polynomial which has the input as a root (i.e.: the well-known minpol functionality).

That would be much more generally useful, IMHO.

V.
.
I have a 2020 updated version of my HP Prime and I still see rootof() when doing an integral like 1/(x^3-2). I read in the replies here it was supposed to be turned off, but I don’t think this is the case as all my students who have the HP Prime had no idea what this meant when seeing the result.
Reference URL's