# Non-complex wave function

I am taking an introductory course on QM. I came across the following question:

A particle is described by the wave function $$\psi(x) = Ae^{-ax^2}$$ where $A$ and $a$ are positive, real constants. If the value of $a$ is increased what effect does this have on the particle's uncertainty in position and particle's uncertainty in momentum.

I thought that the wave function must be a complex and include imaginary variables, but this wave function is not. Also I don't understand how I can relate $a$ to uncertainty.

• The uncertainty is related to how 'spread out' the wavefunction is. So how does changing $a$ affect the spread of the wavefunction in terms of position (try plotting a graph). For the momentum, do you know how to take a Fourier transform? You can then see how $a$ affects how spread out the wavefunction is in momentum. Commented Apr 10, 2017 at 23:48
• The reals are a subset of complex numbers. Commented Apr 11, 2017 at 1:56
• "the wave function must be a complex" - true "and include imaginary variables" - false. Commented Apr 11, 2017 at 4:04
• The Fourier transform of Gaussian function is also a Gaussian function Commented Sep 12, 2023 at 6:15

You are looking at a solution of the time-independent Schrodinger equation as your $\psi(x)$ does not have any time dependence, and the basic solutions of the time-independent equation can often be real. Linear combinations of these basic solutions can be complex.

The solutions to the time-dependent Schrodinger equation are always linear combinations of the form $$\Psi(x,t)=\sum_n c_n e^{-iE_nt/\hbar} \psi_n(x)$$ and will be complex even if the time-independent functions $\psi_n(x)$ are real.

To relate $a$ to the uncertainty relation you would need to compute $\Delta x^2$ and $\Delta p^2$ using your $\psi(x)$ (which you will have to normalize) and to find how $a$ enters into the product $\Delta x\Delta p$.

To give you a hint I'm including the plot of $\psi(x)^2$ for $a=1$ (black), $a=2$ (blue) and $a=1/2$ (red).

Wavefunctions are in general complex, but there is nothing preventing a specific wavefunction from being real. In fact, there are certain cases for which you can show that there is always a real wavefunction that describes the system (it's called a Schmidt decomposition, and applies when your system is made up of an even number of subsystems).

You are right, the "real" wave function for a particle is a complex function $\Psi(\vec{x}, t)$, which follows the time-dependent Schrödinger equation: $$i\hbar\frac{\partial\Psi(\vec{x}, t)}{\partial t} = \hat{H}\Psi(\vec{x}, t)$$ Where $\hat{H}$ is the hamiltonian operator which gives the total energy of the system, consisting of the kinetic energy and the potential energy, which is given by the potential energy function $V(\vec{x}, t)$: $$\hat{H}\Psi(\vec{x}, t) := -\frac{\hbar^2}{2m}\nabla^2\Psi(\vec{x}, t) + V(\vec{x}, t)\Psi(\vec{x}, t)$$ If the potential energy function is truly a function of time as well as position, this equation becomes very difficult to solve. Luckily, however, the potential energy is almost always only dependent on the position and therefore becomes a simpler function $V(\vec{x})$. In that case, the Schrödinger equation can be solved by assuming the wave function $\Psi(\vec{x}, t)$ to be a simple product of a function $\psi(\vec{x})$ solely dependent on the position and a function $f(t)$ that only depends on the time: $$\Psi(\vec{x}, t) = \psi(\vec{x})f(t)$$ Then we are able to seperate the position and time dependent parts of the equation and from that find that $f(t)$ has to be equal to $e^{-iEt/\hbar}$, where $E$ is some real constant (which can be proven to be the energy of the particle). Furthermore, $\psi(\vec{x})$ must follow the so-called time-independent Schrödinger equation: $$E\psi(\vec{x}) = \hat{H}\psi(\vec{x})$$ where $E$ is the same constant. It can be proven that $\psi(\vec{x})$ can always taken to be a real function (That is, if you do have a solution to the time-independent Schrödinger equation that isn't always realy, you can always express it as a linear combination of ones that are. It does not mean that every solution necessarily has to be real.). Then we have: $$\Psi(\vec{x}, t) = \psi(\vec{x})e^{-iEt/\hbar}$$ Remember, that this is only under the assumption, that $\Psi(\vec{x}, t)$ CAN be written as such a product. However, all the other solutions, can then be expressed as linear combinations of these simple time-independent solutions, as Zero already pointed out.

Your question supposes a time-independent wave function that is equal to $$\psi(x) = Ae^{-\alpha x^2}$$ (This is a one-dimensional function, so I'm leaving the arrow off) Therefore, the time-dependent wave-function you know would be $$\Psi(x, t) = Ae^{-\alpha x^2}e^{-iEt/\hbar}$$ To find $E$, you can apply the Schrödinger equation: $$EAe^{-\alpha x^2} = \hat{H}(Ae^{-\alpha x^2})$$ (However, you would need to know the potential energy function you used to derive that wave function)

As a beginner being interested in wave nature of QM for years, I aim to provide some intuitive coding visualization for upcoming QM beginners. This effort is intended to supplement the excellent explanations already shared by Zero and other experts, including:

• Relate α, shown in below, to uncertainty relations of Δ𝑥 and Δ𝑝
• Visualize the uncertainty relations of Δ𝑥 and Δ𝑝
• Calling for new models to manifest further wave nature of particles

A. Relate 𝑎 to the uncertainty relations of Δ𝑥 and Δ𝑝 (ref. ZeroTheHero, Apr 11, 2017):

1. Position Uncertainty (Δx): The position uncertainty is given by expectation value of Δ𝑥^2 = (⟨𝑥^2⟩ - ⟨𝑥⟩^2)
• Given a particle wave function 𝜓(𝑥) = A*(−α𝑥^2) and |𝜓(𝑥)^2| = 1, I derived the normalization factor A = (2α/π)^(1/4), ⟨𝑥^2⟩, ⟨k^2⟩ and others by computing a few closed-form solutions. If preferred, you can achieve the same result more easily by using the standard form of the normal probability density as provided on Wikipedia.
• ⟨𝑥⟩ = ∫ 𝑥 | 𝜓(𝑥)|^2 𝑑𝑥 = 0 (1st moment = 0 for a symmetric wave function)
• ⟨𝑥^2⟩ = ∫ 𝑥^2 | 𝜓(𝑥)|^2 𝑑𝑥 (2nd moment expectation is non-zero) Having calculated the Gaussian integrals provided on Math Stack Exchange with some efforts, I get:
• ⟨𝑥^2⟩ = (1/4α) or
• Δx = √( ⟨x^2⟩ ) = 1/(2√α), noted ~ 1/√α
1. Momentum Uncertainty (Δp): The momentum uncertainty is given by the expectation value of Δp^2 = ( ⟨𝑝^2⟩ - ⟨𝑝⟩^2 ) where Δp = h * Δk by definition.
• Given FFT Integral of 𝜓(k) = ∫ 𝜓(𝑥) * e^(-i2πk) dx, recognizing a Gaussian integral ∫ e^(-αx^2) dx = √(π/α). The integral evaluates to: √(π/α). Then, it resolves 𝜓(k) well:
• 𝜓(k) = (2π/α)^(1/4) * e^(- (πk)^2/α) ) and ⟨k⟩ = ∫ k |ψ(k)|^2 dk. Given ⟨k⟩ is symmetric, its 1st moment integral evaluates to zero: ⟨k⟩ = 0
• ⟨k^2⟩ = ∫ k^2 | 𝜓(k)|^2 dk (2nd moment expectation is non-zero) Having calculated the Gaussian type integrals with some efforts, achieved:
• ⟨k^2⟩ = α / 4π^2
• Δk = √(⟨k^2⟩ - ⟨k⟩^2). Given that ⟨k⟩ = 0,
• Δk = √α / (2π) , noted ~ √α and Δk has the same value as the Gaussian width (or sigma) of e^( - 2 * (πk)^2/α). This is due to the prefactor of √(2π/α) of |ψ(k)^2| can be weighted out by all means. I achieved: (2π)⋅Δx⋅Δk >= (1/2).
1. Verifying of Heisenberg Uncertainty Principle (Δx⋅Δp ≥ ℏ/2):
• Given that QM has p = h * k and Δp/ ℏ = 2πΔk, where ℏ is reduced Planck constant. Once reformatted Uncertainty formula “Δx⋅Δp >= ℏ/2”, it comes to “Δx⋅Δp/ ℏ” = (2π)⋅Δx⋅Δk >= (1/2). For ψ(𝑥) with varying α, this verified that “Δx⋅Δp/ ℏ” is a constant (1/2) in value and complied with Heisenberg Uncertainty Principle (Δx⋅Δp ≥ ℏ/2). You can find more of Uncertainty principle provided on Wikipedia.
1. Summary: The visualization plots in Figs. 1 to 4 demonstrate that for the given wave function 𝜓(𝑥) = (−α𝑥^2), its position uncertainty (Δx) is not zero and decreases as α increases. This trend is depicted using different color codes for α = [0.5, 1.0, 2.0] in Fig. 1. Meanwhile, Fig. 2 illustrates that the spread of its momentum uncertainty Δk (Δp) in the momentum space 𝜓(k) is getting greater as expected, which is consistent with the Heisenberg Uncertainty Principle (Δx⋅Δp ≥ ℏ/2). Additionally, Fig. 3 depicts the variance and uncertainty of 𝜓(k), namely Δx^2 and Δx. Similarly, Fig. 4 shows the variance and uncertainty of 𝜓(k), specifically Δx⋅Δp/ℏ, Δk^2 and Δk, for further reference (asked Apr 10, 2017 by user63248).

B. Visualize the uncertainty relations of Δ𝑥 and Δp : Included here are Python codes and plots, along with most of the self-explanatory comments provided by the ‘# texts’ included:

#!/usr/bin/python
import numpy as np
import matplotlib.pyplot as plt
from scipy.fftpack import fft, fftshift, fftfreq
from scipy.integrate import simps

def Norm_factor(span, psi):  # calculate Normalization 'N_factor'
mod_psi = simps(np.abs(psi)**2, span)
N_factor = np.sqrt(mod_psi)
return N_factor

# Given parameters, Looping through different α-values
αx = αk = [0.5, 1.0, 2.0]  # define looping ranges
x = np.linspace(-10, 10, 500+1)  # using odd-no. to include '0' grid
k = fftshift(fftfreq(len(x), x[1]-x[0]))

# Define 'α' a place-holder, it is used for creating other expressions
pi1 = np.pi
α = 2.0  # is a place-holder

# Given closed-form psix(x, α) in x-space, closed-form psik(k, α) in k-space both are normalized w. |modulus| = 1
A = (2*α/pi1)**(1/4)
B = (2*pi1/α)**(1/4)
psix = A * np.exp(-α * x**2)
psik = B * np.exp(-(2*pi1*k)**2 / (4 * α))  # dimension prefactor (2*pi) which comes from spatial frequency 'unit' or 'dimension' being used

# Numerical FFT solution will be comparing to closed-form psik(k, α)
FT_psi = fftshift(fft(psix))  # relates computed FFT of psix to 'α'

## Normalize the 'func_N' by computing 'func' / Norm_factor()
mod_psix = simps(np.abs(psix)**2, x)  # psix 0th-moment= |Norm| or |mod|
mod_psik = simps(np.abs(psik)**2, k)  # psik 0th-moment= |Norm|
mod_FT_psi = simps(np.abs(FT_psi)**2, k)  # check FT_psi's |Norm|=?

FT_psi_N = FT_psi / Norm_factor(k, FT_psi)  # 'FT_psi' is normalized
mod_FT_psi_N = simps(np.abs(FT_psi_N)**2, k)  # check its |Norm| again

# Checking FT_psi_N differ from closed-form psik
residuals = np.abs(FT_psi_N) - np.abs(psik)
rms_samplig = np.sqrt(np.mean(residuals**2))

# Print out key results for user's references
print("Modulus of  psix(x, α)  = ", mod_psix)
print("Modulus of  psik(k, α)  = ", mod_psik, "\n")

print("Norm_factor of (psix)   = ", Norm_factor(x, psix))
print("Norm_factor of (psik)   = ", Norm_factor(k, psik), "\n")

print("Modulus of  FT_psi(k,α) = ", mod_FT_psi)
print("Norm_factor of (FT_psi) = ", Norm_factor(k, FT_psi))
print("Normalized Mod (FT_psi) = ", mod_FT_psi_N, "\n")

print("Numerical solution (FT_psi) differs from closed-form (psik):")
print("Average RMS sampling error = ", rms_samplig, "\n")

# Create 2x2 subplots for this analysis to verify Uncertainty Principle
my_fig1, axes = plt.subplots(2, 2, figsize=(8, 6))

for i, αx1 in enumerate(αx):  # αx = [0.5, 1.0, 2.0]
A = (2*αx1/pi1)**(1/4)
psix = A * np.exp(-αx1 * x**2)  # its |modulus| = normalized

ax = axes[0, 0]
ax.plot(x, psix, label=f"α = {αx1}", lw=1.5)
ax.set_title("Fig.1 psi(x)")
ax.set_xlabel("x(α)")
ax.legend()

for i, αx1 in enumerate(αk):  # αk = [0.5, 1.0, 2.0]
B = (2*pi1/αx1)**(1/4)
psik = B * np.exp(-(2*pi1*k)**2 / (4 * αx1))  # dimension prefactor (2*pi) which comes with spatial frequency 'unit' or 'dimension'
ax = axes[1, 0]  # FFT_psik vs Closed-form psi(k)
ax.plot(k, psik, label=f"α_fft = {αx1}", lw=1.)
ax.set_title("Fig.2 FFT vs Closed-form psi(k)")
ax.set_xlabel("k(α) zoom-in 4x")
ax.set_xlim(k.min()/4, k.max()/4)
ax.legend()

# Overlay and compare numerical FFT solution w. closed-form psik(k, α)
ax = axes[1, 0]
ax.plot(k, np.abs(FT_psi_N), linestyle='--', label=f"α_psik= {α}", lw=1.5)  # zoom-in and scale up x-axis by 'ωx = 2π * fx' in k-space
ax.legend()

# Create longer arrays to scatter plot <x^2> & <k^2> as f(α), etc.
nn = 20
αx2 = αk2 = np.linspace(10/nn, 10, nn)  # αx2 = '0' is a singular spot w/o physical meaning

# redefine place holder 'α' for creating new scatter plots
α = αx2
psix_variance = 1 / (4*α)  # psix is normalized in x-space
psik_variance = α / (2 * pi1)**2  # psik is normalized in k-space

# Create uncertainties of (dx*dk) and (dx*dp) as function of 'α', verifying “dx⋅dp/ ℏ” is a constant in value and complied with Heisenberg Uncertainty Principle (Δx⋅Δp ≥ ℏ/2).
# Given that QM has p = h * k and Δp/ ℏ = 2πΔk, where ℏ is reduced Planck constant. Once reformatted Uncertainty formula “dx⋅dp >= ℏ/2”, it comes to “dx⋅dp/ ℏ” = (2π)⋅dx⋅dk >= (1/2).

dx = psix_variance_sqrt = np.sqrt(1 / (4*α))
dk = psik_variance_sqrt = np.sqrt(α / (2 * pi1)**2)
dk0 = (2*pi1) * dk
dx_dk0 = dx * dk * (2*pi1)  # verify if dx*dk0 >= 1/2 independent of 'α'

ax = axes[0, 1]  # scatter plot to draw <dx>, <dx^2> & <dx.dk> etc.
ax.plot(α, dx, label="<dx>", lw=1.0)  # x-uncertainty
ax.plot(α, psix_variance, label="<dx^2>", lw=1.0)  # variance <x^2>
ax.set_title("Fig.3 <dx> & <dx^2>")
ax.set_xlabel("α parameter")
ax.legend()

ax = axes[1, 1]  # scatter plot to draw <dk>, <dk^2>
ax.plot(αk2, dk, label="<dk>")  # k-uncertainty
ax.plot(αk2, psik_variance, label="<dk^2>", lw=1.0)  # variance <k^2>
ax.plot(α, dx_dk0, linestyle='--', label="<dx.dp/ħ>= constant", lw=1.0)  # verifying dx_dk0 line for meeting Uncertainty Principle
ax.set_title("Fig.4 <dx.dp/ħ>,<dk> & <dk^2>")
ax.set_xlabel("α parameter")
ax.legend()

# Display the plots
plt.show()
### End of StackEx answer codings


The actual Figures and calculation outputs in my Python environment are as follows:

### The actual outputs in my Python environment are as follows:
Modulus of  psix(x, α)  =  1.0000000000000002
Modulus of  psik(k, α)  =  1.0

Norm_factor of (psik)   =  1.0
Norm_factor of (psik)   =  1.0

Modulus of  FT_psi(k,α) =  625.0000000000136
Norm_factor of (FT_psi) =  25.000000000000274
Normalized Mod (FT_psi) =  1.0

Numerical solution (FT_psi) differs from closed-form (psik):
Average RMS sampling error =  3.005141859318719e-15


The plots displayed in Fig. 1 to 4 visualized fundamental relationships between a particle's wave function in spatial space (e.g., a free particle in front of a single slit) and its Fourier Transform (FT) spectrum in frequency space (e.g. the single slit diffraction fringes on the screen, which corresponds to the particle's FT spectrum in frequency space, see more diffraction on Wikipedia. This relationship can be formalized by the uncertainty principle. This analysis suggested that a particle, being a local-realism wavy matter, can be described by functions act as conjugate variables in both spatial and FT frequency domains, if wanted may refer more on Fourier Transform on Wikipedia.

C. Calling for new models to manifest further wave nature of particles

The strong alignment between particle spatial wave functions and FT frequency spectra has inspired me to propose new models in below and more experiments later on. This will provide further evidence for the local-realism wavy nature of particles, which has been reported by other scientists in recent years; see more on Is This What Quantum Mechanics Looks Like? Among these proposed models are:

• A particle has a finite size and is not a point-like matter. It is essentially a spinning mass-equivalent energy wave, revealing given wave-particle duality behaviors in our space-time.
• The spinning of the wavy mass-equivalent energy (e.g., displayed matter wave or gravitational wave emitted from spinning mass or energy) imparts a slight angular momentum, adhering to the same plurality of conservation principles as macroscopic spinning tops.

This postulated model adeptly encompasses numerous quantum phenomena, including the uncertainty principle, and can explain with daily observations of both fermions and photons in the space-time of our Universe. As far as my knowledge extends, I hope this explanation assists those newcomers to QM who approach the subject with enthusiasm, passion, and dedication, much like Robert Einstein. What's even more astonishing for members of the Stack Exchange community is that while many scientists worldwide have given up on seeking better model having a more comprehensive explanation for QM, both you and I will continue exploring the question, 'Is QM complete?'.