Gaussian wave packet in position space

Click For Summary
SUMMARY

The discussion centers on the Gaussian wave packet in position space and its numerical evaluation using MATLAB. The wave packet in momentum space is defined as ##\psi(p, 0) = A \exp\left[-(p-p_0)^2/ (2\sigma_p^2)\right]##, with ##A=\sqrt{2\sigma_p/\sqrt{2\pi}}##. Participants noted discrepancies between analytical and numerical results, particularly that the numerical inverse Fourier transformation yielded values around ##10^{-6}##, while the analytical results were expected to normalize to 1. The issue was attributed to potential normalization factors in the FFT and IFFT processes in MATLAB.

PREREQUISITES
  • Understanding of Gaussian wave packets in quantum mechanics
  • Familiarity with Fourier transforms, specifically inverse Fourier transformations
  • Proficiency in MATLAB for numerical simulations
  • Knowledge of normalization techniques in numerical analysis
NEXT STEPS
  • Review MATLAB's FFT and IFFT documentation for normalization factors
  • Learn about the implications of scaling factors in quantum mechanics, particularly ##\hbar##
  • Explore the effects of numerical precision and sampling in MATLAB
  • Investigate alternative methods for visualizing wave packets in position space
USEFUL FOR

Physicists, quantum mechanics students, and MATLAB users engaged in numerical simulations of wave packets will benefit from this discussion.

KFC
Messages
477
Reaction score
4
Hi all,
The Gaussian wave packet is widely discussed in the text. I got the following expression for wave packet in momentum space

##\psi(p, 0) = A \exp\left[-(p-p_0)^2/ (2\sigma_p^2)\right]##
with ##A=\sqrt{2\sigma_p/\sqrt{2\pi}}##

As my understanding, the corresponding wave packet in position space should be inverse Fourier transformation of ##\psi(p, 0)##. I plot the ##\psi(p, 0)## in matlab, I saw the Gaussian profile. But when I take the inverse Fourier transformation ifftshift(ifft(psi)), I saw something of the order ##10^{-6}##. I have no idea why is it.
 
Physics news on Phys.org
KFC said:
I saw something of the order 10−610^{-6}
So long as it's normalized, what's the problem? It depends on how you set the parameter values anyway.
 
The problem is after the numerical transformation, all samples for the packet is about ##10^{-6}## instead of ranged from 0 to ##10^{-6}## that means it is almost zero everywhere. Let me restate my question with some code and data. I think I made an mistake in the first post, here is the Guassian in momentum

##
\psi(p) = \sqrt{\dfrac{1}{\sqrt{2\pi}\sigma_p}}\exp\left[-\dfrac{(p-p_0)^2}{4\sigma_p^2}\right]
##

If you integrate this in mathematica, ##\int_{-\infty}^{+\infty} |\psi(p)|^2dp = 1##. I also tried to find the wave packet in position by inverse Fourier transformation, I got

##
\phi(x) = \sqrt{\dfrac{2\sigma_p}{\sqrt{2\pi}}} \exp\left[-\sigma_p x^2\right]\exp(ip_0x)
##

and ##\int_{-\infty}^{+\infty} |\phi(x)|^2dx = 1##. Plotting those functions with ##p_0=0, \sigma_p=1##, we observe that ##|\psi(p)|^2## with minimum and maximum as 0 and about 0.9; the minimum and maximum for ##|\phi(x)|^2## is about 0 to 1.2

Now doing numerical evaluation by matlab, I try

p0 = 0;
sigma_beta = 1;
psi = sqrt(1/sqrt(2*pi)/sigma_beta);*exp(-((p-p0).^2)/(4*sigma_beta^2));
phi = ifftshift(ifft(psi));

plot(abs(phi).^2);

The range for the plot is about ##10^{-5}## and is we sum over the ##|\phi|^2##, I've got 5.9921e-04 while the sum of ##|\psi|^2## gives 1. See the attachment (don't know why it upload twice and seems I cannot remove one of them)
 

Attachments

  • untitled2.jpg
    untitled2.jpg
    10.3 KB · Views: 499
  • untitled2.jpg
    untitled2.jpg
    10.3 KB · Views: 489
KFC said:
I also tried to find the wave packet in position by inverse Fourier transformation, I got

##
\phi(x) = \sqrt{\dfrac{2\sigma_p}{\sqrt{2\pi}}} \exp\left[-\sigma_p x^2\right]\exp(ip_0x)
##
I haven't checked your calculation, but I just want to confirm, have you considered that ##p=\hbar k##? Forgetting this may also affect the scaling of the wavepacket in position space, and hence the numerical integration.
 
Thanks for your reply. I rescale the system with ##\hbar=1##. Moreover, in both analytical calculation (mathematica) and numerical one (matlab), I have the same scale (##\hbar=1##). so the result should be identical. But they are not. My question is why the numerical one doesn't give the same one from analytical expression.
 
Your analytic formulas seem to be correct, provided that you set ##\hbar=1##. So you have a MATLAB problem, not a physics problem.
 
Last edited:
KFC said:
I've got 5.9921e-04 while the sum of ##|\psi|^2## gives 1. See the attachment (don't know why it upload twice and seems I cannot remove one of them)
Do you simply sum up the components, or do you also multiply by ##dx## or ##dp##?

While ifft(fft(psi)) should recover the original psi, I don't know what normalization of the single action of fft or ifft should be. From what I can gather from the manual, there is a ##1/N## factor in ifft, with nothing for the forward fft, so that might be the origin of the scaling you see.
 
Thanks for reply. Yes, I sum up all components and multiply it with dx or dp to test normalization.
For fft part, yes, it has the 1/N in front of series, I've already taking that factor in consideration, but still no help.
 
KFC said:
it has the 1/N in front of series, I've already taking that factor in consideration, but still no help.
How?

KFC said:
p0 = 0;
sigma_beta = 1;
psi = sqrt(1/sqrt(2*pi)/sigma_beta);*exp(-((p-p0).^2)/(4*sigma_beta^2));
phi = ifftshift(ifft(psi));

plot(abs(phi).^2);
I don't see anything in there that involves N.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 5 ·
Replies
5
Views
1K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 61 ·
3
Replies
61
Views
5K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 32 ·
2
Replies
32
Views
2K