[Date Index]
[Thread Index]
[Author Index]
Re: Patterns_ to define linear operators?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg71407] Re: Patterns_ to define linear operators?
*From*: "dimitris" <dimmechan at yahoo.com>
*Date*: Fri, 17 Nov 2006 04:30:30 -0500 (EST)
*References*: <ejgvpf$8tm$1@smc.vnet.net>
Something like?
myruleoflin = FourierTransform[(a_.)*(f_), x_, s_] :>
a*FourierTransform[f, x, s] /; FreeQ[a, x]
FourierTransform[(a_.)*(f_), x_, s_] :> a*FourierTransform[f, x, s] /;
FreeQ[a, x]
FourierTransform[a*f[x], x, s] /. myruleoflin
a*FourierTransform[f[x], x, s]
FourierTransform[f[x], x, s] /. myruleoflin
FourierTransform[f[x],x,s]
FourierTransform[a x f[x], x, s] /. myruleoflin
a FourierTransform[x f[x],x,s]
Keep in mind that the rule is implemented in Mathematica. E.g.
FourierTransform[a*(1/x)*Sin[x], x, s]
(1/2)*a*Sqrt[Pi/2]*(Sign[1 - s] + Sign[1 + s])
Regards
Dimitris
W. Craig Carter wrote:
> Hello,
> I'd like to implement a rule that will factor out constants from
> linear operators such as FourierTransform; i.e.,
> FourierTransform[a*f[x], x, k] to a*FourierTransform[f[x],x,k]
>
> Here is a method that seems sensible at first, but is potentially
> dangerous:
>
> MyRule1 =
> FourierTransform[a_ f_[y_], x_, k_] :-> a FourierTransform[f[y],x,k]
> (which would fail if a was not free of x)
>
> An improvement is:
>
> MyRule2 =
> FourierTransform[a_?(FreeQ[#,x]&), f_[y_], x_, k_] :-> a FourierTransform[f[y],x,k]
> (which would fail if a were a product, say b x)
>
> Does anybody have advice on a robust way to implement this rule?
>
> Thanks, Craig Carter
Prev by Date:
**Wolfram Workbench 1.0 now available**
Next by Date:
**mathematica & fortran ??**
Previous by thread:
**Patterns_ to define linear operators?**
Next by thread:
**RE: Patterns_ to define linear operators?**
| |