MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Split Polynom into Sum of Monomials

  • To: mathgroup at smc.vnet.net
  • Subject: [mg34084] Re: [mg34072] Split Polynom into Sum of Monomials
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Thu, 2 May 2002 03:49:25 -0400 (EDT)
  • References: <200205011200.IAA14744@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Detlef Mueller wrote:
> 
> Hello,
> 
> I have the following Problem:
> 
> Given a Set of Variables, i.e.
> L = {x,n},
> 
> I want transform a given expression, polynomial
> in theese variables, say
> f = (a+b+n+x)*n
> 
> into Monomials in the given Variables, here
> 
> f = (a+b+n+x)*n -> (a+b) n + n^2 + x n
> 
> is desired.
> 
> The Problem is, that
> Expand[f, x_ /; MemberQ[L, x]] yields
> 
> a n + b n + n^2 + n x
> 
> which is "too expanded", while
> 
> Collect[f, x_ /; MemberQ[L, x]] yields
> 
> n\^2 + n(a + b + x)
> 
> But this is "not expanded enough", because
> collect works recursively. So I didn't find
> an implemented Command doing the thing.
> 
> (The whole thing is a bit timecritical, large
>  polynomials may appear, and the Command will
>  be used frequently).
> 
> Any Ideas?
> 
> Greetings
>   Detlef

Resorting to some undocumented functionality:

In[15]:= InputForm[Internal`FromDistributedTermsList[
         Internal`DistributedTermsList[f, {n,x}]]]

Out[15]//InputForm= (a + b)*n + n^2 + n*x


Daniel Lichtblau
Wolfram Research


  • Prev by Date: Re: Urgent Plot Problem
  • Next by Date: RE: Question about pattern matching
  • Previous by thread: Split Polynom into Sum of Monomials
  • Next by thread: Re: Split Polynom into Sum of Monomials