       Re: Constant term in polynomial?

• Subject: [mg3333] Re: Constant term in polynomial?
• From: bruck at pacificnet.net (Ronald Bruck)
• Date: 28 Feb 1996 10:12:10 -0600
• Approved: usenet@wri.com
• Distribution: local
• Newsgroups: wri.mathgroup
• Organization: University of Southern California
• Sender: daemon at wri.com

```In article <4gmhdc\$gmv at dragonfly.wolfram.com>, bruck at mtha.usc.edu (Ronald
Bruck) wrote:

:Arrgh, I feel stupid asking this question, but I can't think how to do it:
:how do I find the constant term in a polynomial in several variables in
:Mathematica?  For example, the "7" in 7 + 3 x y + y^2 ?

...

:First[7 + 3 x y + y^2] will work for this one, since the 7 is present and
:appears first in the FullForm representation.  But it won't work in
:First[3 x y + y^2], which returns 3 x y.
:
:OK, so I can build a command which computes Variables[First[expr]], and
:if that's empty, returns 0; otherwise returns First[expr].  Also clunky
:IMHO, but it seems the most workable--unless there's some trap I'm missing?

Yep, there's a trap -- First[3 x y] returns 3!  So I ended up implementing
it as follows:

ConstantCoefficient[poly_] := Module[{c},
c = First[poly];
If[Variables[c] == {}, Return[c], Return],
(* else head != plus *)
If[Variables[poly] == {}, Return[poly], Return]
]
]

This won't recognize E + x as having constant term E, but fortunately my
polynomials all have rational coefficients.

It does seem there ought to be a built-in function to do this.

Someone e-mailed me a suggestion to use  poly /. x_^e_ -> 0.  This almost
works (it doesn't recognize the x in  7 + x  as a power of x); it does
seem rather dangerous to apply the rule x_ -> 0!

The suggestion reminds me of another problem:  suppose I want to work with
multivariable polynomials up through a certain degree p.  So when, e.g., I
multiply two such polys, I need to get rid of terms like x^p y.  This can
be done by applying rules like

(x^m_ y^n_ /; Positive[m+n-p]) -> 0

(although on one machine I have to use

(q__ x^m_ y^n_ /; Positive[m+n-p]) -> 0,

don't ask me why), with the annoyance that we also have to build rules for
x^m_ y -> 0 and x y^m_ -> 0 and x^m_ -> 0 and y^n_ -> 0!  Is there some
more elegant way to do this--as well as faster--preferably one which works
for general variables, not just x and y?  This came up when I was solving
an integral equation for a function of two variables, and used
undetermined coefficients.

--Ron Bruck
Now 100% ISDN from this address

```

• Prev by Date: Re: Constant term in polynomial?
• Next by Date: Re: Problem reading binary files - news26.txt [1/1]
• Previous by thread: Re: Constant term in polynomial?
• Next by thread: Re: Constant term in polynomial?