Ask Your Question

# Factoring a polynomial over algebraic numbers?

Actually, what I want is to be able to factor a polynomial over the quadratic closure of the rationals, so that I could factor x^2-3 say, as (x+sqrt(3)*(x-sqrt(3)). I don't know enough about factoring algorithms to know whether this is easy or not, but is this at all possible in Sage?

I know I can build an extension field of the rationals by the use of an irreducible quadratic, but that just gives me access to one square root. So if I added sqrt(3) then I could factorize the example above, but not x^2-5. Is it possible to include all square roots - in other words, can Sage work with the the field of constructible numbers?

edit retag close merge delete

## 1 Answer

Sort by » oldest newest most voted

Though it is not exactly what you are looking for, an approach may be to work in the so-called Algebraic Real Field which contains the constructible numbers:

sage: AA
Algebraic Real Field
sage: R.<x> = AA[]
sage: p = x^2-3
sage: p.factor()
(x - 1.732050807568878?) * (x + 1.732050807568878?)
sage: q = x^2-5
sage: q.factor()
(x - 2.236067977499790?) * (x + 2.236067977499790?)


Note that even though the printed values contain a limited number of digits, they are internally exactly represented (the ? indicates this fact), and you can for instance compute radical expressions for them like this:

sage: f0 = p.factor().constant_coefficient()
sage: f0
-1.732050807568878?
sage: f0.radical_expression()
-sqrt(3)


I do not know if it is possible to obtain directly the factorization of p with coefficients expressed as a list of radicals, but you can construct such a representation quite easily (by hand).

more

## Comments

As it is explicitely mentioned, the OP wants to work with the set of constructible numbers which is much smaller than the set of algebraic numbers.

Right, I edited my answer. Hope it helps the OP anyway ;-)

## Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

## Stats

Asked: 2016-01-21 11:12:09 +0200

Seen: 340 times

Last updated: Jan 22 '16