MathGroup Archive 2005

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

Search the Archive

how to find n in expression x^n using a pattern?


I am learning patterns in Mathemtica, and I thought this will be easy.

suppose you are given a factored expression, such as x^n(x^2+2)(x^3+4)
where 'n' above can be any number, including zero (i.e. there is no
(x) as a separate factor). I need to find 'n', which can be
0,1,2,3,..etc..

i.e I need to find the power of the factor x by itself if it exist in
the expression. not (x^n+anything), just (x^n) byitself.

For example

p= x (x^2+2)  ---> here n=1

I tried this

p /. x^n_(any_) -> n

This did not work since x^1 does not match pattern x^n_.  I would have
worked if I had x^2 (x^3+2) for example.

I know that I need to use something like  x^_:1  to make it match x,
which
is really x^1, but I do not know how to use it in a replacement rule,
becuase
when I write

p /. (x^n_:1)(any_) -> n

it is an error.

If I write

p /. (x^_:1)(any_) -> _

I do not get back anything.

Next I tried the Cases command, and again had no luck.

The main problem is that Mathematica makes a difference between
x, x^1, and x^2, etc... when it comes to matching with pattern x^n_

any idea how to do this?
thanks,
steve


  • Prev by Date: Re: Can't assign value to symbols
  • Next by Date: Re: a question about the UnitStep function
  • Previous by thread: Re: How build a function repeating the same pattern?
  • Next by thread: Re: how to find n in expression x^n using a pattern?