Roots of Polynomials

"Gernot Hueber" <[email protected]>
Newsgroups gmane.comp.mathematics.axiom.user
Message-ID <[email protected]>
Hi, 

I would like to calculate the roots of polynomials with unknown or partly
unknown coefficients. For some rare cases there are solutions known e.g.
Cardans formulas for cubic polynomials, and low order reciprocal polynomials
can be solved.
However I don't know how to achieve this with Axiom.
See some trials below.
However, I guess I should be possible to get more than shown below, but I am
sorry I have no idea how. 

Thanks 

Gernot 

1) Second order polynomial 

(5) -> p1 := x**2 + a*x + b
(5) ->
      2
(5)  x  + a x + b
                                                  Type: Polynomial Integer
                                                               Time: 0 sec
(6) -> zerosOf(p1, x)
(6) ->
       +---------+        +---------+
       |        2         |        2
      \|- 4b + a   - a - \|- 4b + a   - a
(6)  [----------------,------------------]
              2                 2
                                             Type: List Expression Integer 

2) Cubic polynomial 

(9) -> p2 := x**3 + a*x**2 + b*x + c
(9) ->
      3      2
(9)  x  + a x  + b x + c
                                                  Type: Polynomial Integer
                                                  Time: 0.01(O) = 0.02 sec
(10) -> zerosOf(p2, x)
(10) ->
(10)
       +--------------------------+
       |      2                  2
      \|- 3%x9  - 2a %x9 - 4b + a   - %x9 - a
[%x9, ---------------------------------------,
                         2
    +--------------------------+
    |      2                  2
 - \|- 3%x9  - 2a %x9 - 4b + a   - %x9 - a
 -----------------------------------------]
                     2
                                             Type: List Expression Integer
                                                  Time: 0.02(E) = 0.02 sec
(11) -> definingPolynomial %x9
(11) ->
                     2       3
(11)  c + %x9 b + %x9 a + %x9
                                                  Type: Expression Integer
                                                               Time: 0 sec 

3) Simple reciprocal polynomial 

(12) -> p3 := x**3 + a*x**2 + a*x + 1
(12) ->
       3      2
(12)  x  + a x  + a x + 1
                                                  Type: Polynomial Integer
                                                               Time: 0 sec
(13) -> zerosOf(p3, x)
(13) ->
(13)
        +----------------------------+
        |       2              2
       \|- 3%x12  - 2a %x12 + a  - 4a  - %x12 - a
[%x12, ------------------------------------------,
                            2
    +----------------------------+
    |       2              2
 - \|- 3%x12  - 2a %x12 + a  - 4a  - %x12 - a
 --------------------------------------------]
                       2
                                             Type: List Expression Integer
                                                  Time: 0.01(O) = 0.02 sec
(14) -> definingPolynomial %x12
(14) ->
           2                3
(14)  (%x12  + %x12)a + %x12  + 1
                                                  Type: Expression Integer
                                                               Time: 0 sec
(15) -> rootsOf(p3, x)
(15) ->
(15)  [%x15,%x16,- %x16 - %x15 - a]
                                             Type: List Expression Integer
                                                  Time: 0.01(O) = 0.02 sec
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.