If I want to plot the function

$\qquad \psi(\rho,\theta,\phi)=\frac{1}{8}\left(\frac{1}{\pi}\right)^{1/2}\rho e^{-\rho/2}sin(\theta)e^{-i\phi}$,

for which I wrote the code

ψ[ρ_, θ_, ϕ_] := (E^(-(ρ/2) - i ϕ)  ρ Sin[θ])/(8 Sqrt[π])

How would I go about making a plot? I'm thinking that I could convert these spherical coordinates to cartesian coordinates using a built-in function, but I haven't been able to get that to work.

  • 1
    $\begingroup$ Try SphericalPlot3D $\endgroup$
    – ZaMoC
    Oct 15, 2018 at 21:56
  • $\begingroup$ I only get graphic results using SphericalPlot3D only if I remove "i" (which by the way is "I" in Mathematica) ρ = 1; SphericalPlot3D[(E^(-(ρ/2) - [Phi]) ρ Sin[θ])/(8 Sqrt[Pi]), {θ, 0, 2 Pi}, {[Phi], 0, 2 Pi}] $\endgroup$
    – ZaMoC
    Oct 15, 2018 at 22:17
  • 1
    $\begingroup$ (1) The function is a scalar field and SphericalPlot3D won't plot a field. (2) It's a complex field, and only real fields can be plotted, so you have to choose Re, Im, Abs, and/or Arg. (3) ContourPlot3D is one way to plot scalar fields. See also TransformedField for converting from spherical to cartesian for ContourPlot3D. $\endgroup$
    – Michael E2
    Oct 16, 2018 at 2:12
  • $\begingroup$ i in your function definition should be I. $\endgroup$
    – m_goldberg
    Oct 16, 2018 at 5:12

2 Answers 2


You likely need to take the modulus-squared of the wave function first:

ψ[ρ_, θ_, ϕ_] := (E^(-(ρ/2) - I ϕ) ρ Sin[θ])/(8 Sqrt[π]);
Abs[ψ[ρ, θ, ϕ]]^2 // ComplexExpand
(* (E^-ρ ρ^2 Sin[θ]^2)/(64 π) *)

Then plot a slice of the function radially:

Plot[Abs[ψ[ρ, π/2, 0]]^2 // ComplexExpand, {ρ, 0, 10}]

enter image description here

Then plot the angular part at fixed radius (which is typically done for hydrogen-like wave functions like this):

SphericalPlot3D[Abs[ψ[1, θ, ϕ]]^2 // ComplexExpand, {θ, 0, π}, {ϕ, 0, 2 π}]

enter image description here


As you have it right now, the function itself cannot be plotted for a variable radius. That being said, you can just specify it. Also, the expression is complex, and thus will not output anything when plotted. So we can take the real and imaginary parts, and plot those.

 {Re, Im}[
   (Exp[-(\[Rho]/2) - I \[Phi]] \[Rho] Sin[\[Theta]])/(8 Sqrt[\[Pi]]) /. \[Rho] -> 1,
   TargetFunctions -> {Re, Im}
 ] // Through // Simplify[#, {\[Theta], \[Phi]} \[Element] Reals] & // Evaluate,
 \[Theta], \[Phi],
 PlotStyle -> {{Opacity[.4], Red (*Real*)}, {Opacity[.4], Blue (*Imaginary*)}},
 PlotPoints -> 100

enter image description here

We can make the surfaces a little translucent and see that the real and imaginary parts overlap a little bit near the origin.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.