RFC: extracting coefficients of a multivariate polynomial
Subject: RFC: extracting coefficients of a multivariate polynomial
From: andre maute
Date: Thu, 24 Apr 2008 19:28:49 +0200
Hi all,
I have to extract the coefficients of a multivariate polynomial.
The monomials appearing in the multivariate polynomial are given.
For now I'm using the following function,
which is also the bottleneck of my application.
---------------------------------------------------------------
display2d : false;
v : [x,y];
exps : [[0,2], [0,0], [1,1], [0,1], [1,0], [2,0]];
poly : a00 + a10*x + a01*y + a20*x^2 + a11*x*y + a02*y^2;
my_coeff(v,exps,poly) := block(
[c,k,l,h],
c : [],
for k : 1 thru length(exps) do block(
h : poly,
for l : 1 thru length(v) do block(
if exps[k][l] # 0 then block(
h : coeff(h,v[l],exps[k][l])
)
),
for l : 1 thru length(v) do block(
h : subst(0,v[l],h)
),
h : ratsimp(h),
c : append(c,[h])
),
return(c)
)$
my_coeff(v,exps,poly);
---------------------------------------------------------------------
Does someone know,
if Maxima does have such a function, a potentially faster one?
The documentation of Maxima revealed nothing for me :-(
Kind Regards,
Andre