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

• To: mathgroup at smc.vnet.net
• Subject: [mg58487] Re: [mg58426] how to find n in expression x^n using a pattern?
• From: Pratik Desai <pdesai1 at umbc.edu>
• Date: Mon, 4 Jul 2005 02:24:08 -0400 (EDT)
• References: <200507020806.EAA01589@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```steve wrote:

>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
>
>
>
Why not do something like this , it sounds quite simplistic but  it works :)
Clear[p]
p[x_] = x ^5(x^3 + 2x^2 + 3x - 13)
sol2 = Solve[p[x] == 0, x]
y = x /. sol2
n = Count[y, 0]

Best regards

--
Pratik Desai