[Date Index]
[Thread Index]
[Author Index]
Re: Pattern matching problem
*To*: mathgroup at smc.vnet.net
*Subject*: [mg88548] Re: Pattern matching problem
*From*: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
*Date*: Thu, 8 May 2008 04:13:08 -0400 (EDT)
*Organization*: Uni Leipzig
*References*: <fvs2kf$eo4$1@smc.vnet.net>
*Reply-to*: kuska at informatik.uni-leipzig.de
Hi,
*when* you implement it, using pattern matching than there
is no Sum[] and no Count[] but patterns instead, i.e.,
myCount[u_[x_], u_, x_] := 0
myCount[Derivative[n_][u_][x_], u_, x_] := n
myCount[expr_, _, x_] /; FreeQ[expr, x] := 0
myCount[expr_Plus, u_, x_] := myCount[#, u, x] & /@ expr
myCount[expr_Times, u_, x_] := myCount[#, u, x] & /@ (Plus @@ expr)
myCount[Power[expr_, i_Integer], u_, x_] := i*myCount[expr, u, x]
and
myCount[1 + u[x] + D[u[x], {x, 2}]*D[u[x], {x, 3}]^2, u, x]
gives 8 as you expect.
Regards
Jens
Charlie Brummitt wrote:
> Hi all,
> Here is my problem: Given a polynomial in the variables u[x,t] and its
> spatial derivatives (for example, the polynomial could be 1 + u +
> u_xx*u_xxx^2), count the number of spatial derivatives with multiplicity.
> That is, after writing the above polynomial as
>
>
> 1 + u + u_xx * u_xxx * u_xxx
>
> the output should be 2 + 3 + 3 (basically, you count the number of x's).
>
> I have tried implementing this using a pattern matching approach. Here is
> what I tried:
>
> f[equation_ ] := Sum[ k * j * Count[ equation , D[ u[x, t], {x, j} ] ^ k ,
> {0, \infinity} ], {j, 1, 50}, {k, 1, 50}]
>
> This fails to work on, for example, the input u_xx^2, because it outputs 6
> when it should output 4. This is because the u_xx is counted (+2 to the
> sum), and the u_xx^2 is counted (+4 to the sum). This is because the u_xx is
> nested inside the Power[ , 2] in its representation in Mathematica and so
> it gets counted too many times in my formula. I can't seem to figure out a
> way to use the "provided that" operator /; to make this formula work.
>
> I've also tried doing some replacement methods, but to no success.
>
> Thanks for any help you may be able to provide.
>
> -Charlie
>
>
Prev by Date:
**Re: Pattern matching problem**
Next by Date:
**Re: Stop cell tags propagating to generated cells**
Previous by thread:
**Re: Pattern matching problem**
Next by thread:
**Re: Pattern matching problem**
| |