[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## [Axiom-developer] [Axiom-mail] coefficients of a polynomial (or expr int

**From**: |
root |

**Subject**: |
[Axiom-developer] [Axiom-mail] coefficients of a polynomial (or expr int) |

**Date**: |
Sun, 18 Sep 2005 21:01:35 -0500 |

Changes http://page.axiom-developer.org/zope/mathaction/AxiomMail/diff
--
So we create a Polynomial(Integer) thus:
m := 3*x^2 + 2*x +6
and we ask for the monomials:
p := monomials(m)
which returns a List(Polynomial(Integer))
We can ask for the length of the list using the # operator
#p
We can ask for an element of the list using the elt operator
elt(p,1)
or just use the notation p.1, p.2, etc
We can ask for the coefficient of a monomial with
coefficient(p.1,x,2)
where x is the variable of interest (it might be multivariate)
and 2 is the power (we could have used the whole polynomial
directly as in
coefficient(m,x,2)
We can generate a list with the notation
[ function for i in a..b]
So we can directly create a list of the coefficients in the
variable 'x' with
[coefficient(elt(p,i),x,#p-i) for i in 1..#p]
Of course, Axiom is strongly typed and cannot guarantee that the
expression #p-i will always be non-negative. It will complain about
this and "step thru" (interpret) the expression. You can cure this
by explicitly telling it that the expression is always a non-negative
integer (NNI) thus:
[coefficient(elt(p,i),x,(#p-i)::NNI) for i in 1..#p]
which will return a list of the coefficients of the monomials.
The same thing will work if you start with an Expression(Integer).
n:EXPR(INT) := 3*x^2 + 2*x +6
p:=monomials(n)
which returns a LIST(POLY(INT)) and you are back to the previous case
Tim
_______________________________________________
Axiom-mail mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/axiom-mail
--
forwarded from http://page.axiom-developer.org/zope/mathaction/address@hidden

[Prev in Thread] |
**Current Thread** |
[Next in Thread] |

**[Axiom-developer] [Axiom-mail] coefficients of a polynomial (or expr int)**,
*root* **<=**