Ask Your Question

# Revision history [back]

### Polynomials with multiple variables and abstract coefficients

Hey there,

I need to create a polynomials (say P1, P2) that will have a number of variables (ca. 5) and abstract coefficients (ca. 9) (but I can assume that coefficients are variables carrying integer values). Then I would like to multiply P1, P2 and collect variables and extract coefficients standing next to them, e.g

from XA * XB + XA^2 + 2 * A * XA + 4*XB / XC + 5 I should be able to get 2*A*XA + XA^2 + XA*XB + 4*XB/XC + 5 and from this a list of coefficients like [2A, 1, 1, 4, 5] (with zeros in proper places eg. coefficient for XAXBXC)

Browsing the net I have found sth like: B.<x,y,z> = QQ[]; A.<x,y,z>=B[]; ex = (1-a^2)*x*y^2+(a-b^2+c)*x*y*z+(b^2-c^2-a)*x^2*z; ex.coefficients(); ex.monomials()

And my questions are: (1.) how can I pass a list of variables to define a ring, I am interested in sth like B.list = QQ[]; A.list2 = B[] (2.) As you run the code above you can easily note that the output is: [-x*y^2, x^2*z - x*y*z, -x^2*z, -x^2*z + x*y*z, x*y*z, x*y^2]; [a^2, b^2, c^2, a, c, 1] As you can see the list from ex.coefficients() contains multiply entries for xy^2 and -xy^2 separately. And this is no go. Any ideas how can I fix it?

Thanks for any suggestions! Bests Michal