2
$\begingroup$

This is what I want, for an arbitrary function x

enter image description here

This is what I have done:

Wigner[f_[t_]] := Integrate[f[t - τ/2] Simplify[Conjugate[f[t + τ/2]], Assumptions -> {t ∈ Reals && τ ∈ Reals }] Exp[-I 2 Pi τ f], {τ, -∞, ∞}]; 

But this is what I end up getting:

enter image description here

Right now, I just want to get the substitution right.

$\endgroup$
6
  • $\begingroup$ I think you're using f twice in your expression, once for the argument of the Wigner function and once for x. Is f in the argument of Wigner supposed to be x? The problem is that yy[t] evaluates before getting plugged into Wigner. Are you okay with pure functions? And do you really need a value of t in there? Or is it okay if it spits back an expression with t in it symbolically? $\endgroup$ Commented Aug 12, 2015 at 21:54
  • $\begingroup$ You are correct, I made a type rewriting it, but it makes no difference at all. $\endgroup$ Commented Aug 12, 2015 at 22:00
  • $\begingroup$ @march i.imgur.com/4YRHeJr.png $\endgroup$ Commented Aug 12, 2015 at 22:01
  • $\begingroup$ It doesn't make a difference as far as the pattern-matching on the left-hand-side, sure, but it's worth making sure that we have the bigger picture in mind; it makes answering the question easier. $\endgroup$ Commented Aug 12, 2015 at 22:01
  • $\begingroup$ Exp[t] automatically evaluates to Power[E, t], so that wouldn't match the pattern. $\endgroup$ Commented Aug 12, 2015 at 22:02

1 Answer 1

3
$\begingroup$

The solution may be to declare:

Attributes[Wigner] = {HoldFirst} 

The point is to prevent Mathematica from computing the argument before applying the rules for Wigner

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.