%22%22%22Quantum%20Mechanics%20with%20Derive%3A%20Harmonic%20Oscillator%20and%20Hydrogen%20Atom%22%22%22%0A%0Aimport%20marimo%0A%0A__generated_with%20%3D%20%220.19.4%22%0Aapp%20%3D%20marimo.App()%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20from%20derive%20import%20(%0A%20%20%20%20%20%20%20%20Symbol%2C%20symbols%2C%20Function%2C%20Matrix%2C%20Rational%2C%20Sqrt%2C%20R%2C%0A%20%20%20%20%20%20%20%20D%2C%20Integrate%2C%20NIntegrate%2C%20Simplify%2C%20Expand%2C%20Exp%2C%20Sin%2C%20Cos%2C%20Pi%2C%20I%2C%0A%20%20%20%20%20%20%20%20HermiteH%2C%20LaguerreL%2C%20AssociatedLaguerreL%2C%20AssociatedLegendreP%2C%0A%20%20%20%20%20%20%20%20SphericalHarmonicY%2C%20Factorial%2C%20Gamma%2C%0A%20%20%20%20%20%20%20%20Series%2C%20Limit%2C%20Eq%2C%20Solve%2C%0A%20%20%20%20%20%20%20%20Eigenvalues%2C%20Eigenvectors%2C%20Det%2C%20Tr%2C%0A%20%20%20%20%20%20%20%20FourierTransform%2C%20InverseFourierTransform%2C%0A%20%20%20%20%20%20%20%20Nest%2C%20NestList%2C%20FixedPoint%2C%20FixedPointList%2C%0A%20%20%20%20%20%20%20%20Table%2C%20Map%2C%20Total%2C%0A%20%20%20%20%20%20%20%20Conjugate%2C%20Abs%2C%0A%20%20%20%20)%0A%20%20%20%20from%20derive.ode%20import%20DSolve%0A%20%20%20%20from%20derive.plotting%20import%20Plot%2C%20ListPlot%2C%20ListLinePlot%0A%20%20%20%20return%20(%0A%20%20%20%20%20%20%20%20AssociatedLaguerreL%2C%0A%20%20%20%20%20%20%20%20D%2C%0A%20%20%20%20%20%20%20%20DSolve%2C%0A%20%20%20%20%20%20%20%20Eigenvalues%2C%0A%20%20%20%20%20%20%20%20Eigenvectors%2C%0A%20%20%20%20%20%20%20%20Eq%2C%0A%20%20%20%20%20%20%20%20Exp%2C%0A%20%20%20%20%20%20%20%20Factorial%2C%0A%20%20%20%20%20%20%20%20FixedPointList%2C%0A%20%20%20%20%20%20%20%20FourierTransform%2C%0A%20%20%20%20%20%20%20%20Function%2C%0A%20%20%20%20%20%20%20%20HermiteH%2C%0A%20%20%20%20%20%20%20%20I%2C%0A%20%20%20%20%20%20%20%20ListLinePlot%2C%0A%20%20%20%20%20%20%20%20Matrix%2C%0A%20%20%20%20%20%20%20%20NestList%2C%0A%20%20%20%20%20%20%20%20Pi%2C%0A%20%20%20%20%20%20%20%20Plot%2C%0A%20%20%20%20%20%20%20%20R%2C%0A%20%20%20%20%20%20%20%20Series%2C%0A%20%20%20%20%20%20%20%20Simplify%2C%0A%20%20%20%20%20%20%20%20SphericalHarmonicY%2C%0A%20%20%20%20%20%20%20%20Sqrt%2C%0A%20%20%20%20%20%20%20%20Symbol%2C%0A%20%20%20%20%20%20%20%20Tr%2C%0A%20%20%20%20%20%20%20%20mo%2C%0A%20%20%20%20)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20Quantum%20Mechanics%20with%20Derive%0A%0A%20%20%20%20This%20notebook%20demonstrates%20symbolic%20quantum%20mechanics%20calculations%20using%20symderive's%0A%20%20%20%20full%20suite%20of%20tools%20for%20calculus%2C%20linear%20algebra%2C%20differential%20equations%2C%20and%20plotting.%0A%0A%20%20%20%20%23%23%20Overview%0A%0A%20%20%20%20We%20showcase%20symderive's%20capabilities%3A%0A%20%20%20%201.%20**DSolve**%3A%20Solve%20the%20time-dependent%20Schr%C3%B6dinger%20equation%0A%20%20%20%202.%20**Eigenvalues%2FEigenvectors**%3A%20Matrix%20quantum%20mechanics%0A%20%20%20%203.%20**Series**%3A%20Perturbation%20theory%20expansions%0A%20%20%20%204.%20**FourierTransform**%3A%20Position%20%E2%86%94%20Momentum%20representation%0A%20%20%20%205.%20**NestList**%3A%20Ladder%20operator%20sequences%0A%20%20%20%206.%20**Plot**%3A%20Visualize%20wavefunctions%20and%20probability%20densities%0A%20%20%20%207.%20**Integrate**%3A%20Normalization%20and%20expectation%20values%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%201.%20The%20Quantum%20Harmonic%20Oscillator%0A%0A%20%20%20%20The%20Hamiltonian%20for%20a%201D%20quantum%20harmonic%20oscillator%20is%3A%0A%0A%20%20%20%20%24%24%5Chat%7BH%7D%20%3D%20-%5Cfrac%7B%5Chbar%5E2%7D%7B2m%7D%5Cfrac%7Bd%5E2%7D%7Bdx%5E2%7D%20%2B%20%5Cfrac%7B1%7D%7B2%7Dm%5Comega%5E2%20x%5E2%24%24%0A%0A%20%20%20%20Energy%20eigenvalues%3A%20%24E_n%20%3D%20%5Chbar%5Comega%5Cleft(n%20%2B%20%5Cfrac%7B1%7D%7B2%7D%5Cright)%24%0A%0A%20%20%20%20Wavefunctions%3A%20%24%5Cpsi_n(x)%20%3D%20%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5En%20n!%7D%7D%5Cleft(%5Cfrac%7Bm%5Comega%7D%7B%5Cpi%5Chbar%7D%5Cright)%5E%7B1%2F4%7D%20e%5E%7B-%5Cfrac%7Bm%5Comega%20x%5E2%7D%7B2%5Chbar%7D%7D%20H_n%5Cleft(%5Csqrt%7B%5Cfrac%7Bm%5Comega%7D%7B%5Chbar%7D%7Dx%5Cright)%24%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Symbol)%3A%0A%20%20%20%20%23%20Define%20symbols%20for%20quantum%20mechanics%0A%20%20%20%20x%20%3D%20Symbol('x'%2C%20real%3DTrue)%0A%20%20%20%20p%20%3D%20Symbol('p'%2C%20real%3DTrue)%20%20%23%20Momentum%0A%20%20%20%20m%20%3D%20Symbol('m'%2C%20positive%3DTrue)%0A%20%20%20%20omega%20%3D%20Symbol('omega'%2C%20positive%3DTrue)%0A%20%20%20%20hbar%20%3D%20Symbol('hbar'%2C%20positive%3DTrue)%0A%20%20%20%20n%20%3D%20Symbol('n'%2C%20integer%3DTrue%2C%20nonnegative%3DTrue)%0A%20%20%20%20return%20hbar%2C%20m%2C%20omega%2C%20x%0A%0A%0A%40app.cell%0Adef%20_(HermiteH%2C%20x)%3A%0A%20%20%20%20%23%20Hermite%20polynomials%20-%20the%20mathematical%20core%20of%20harmonic%20oscillator%0A%20%20%20%20H0%20%3D%20HermiteH(0%2C%20x)%0A%20%20%20%20H1%20%3D%20HermiteH(1%2C%20x)%0A%20%20%20%20H2%20%3D%20HermiteH(2%2C%20x)%0A%20%20%20%20H3%20%3D%20HermiteH(3%2C%20x)%0A%20%20%20%20H4%20%3D%20HermiteH(4%2C%20x)%0A%20%20%20%20(H0%2C%20H1%2C%20H2%2C%20H3%2C%20H4)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Exp%2C%20Factorial%2C%20HermiteH%2C%20Pi%2C%20R%2C%20Simplify%2C%20Sqrt%2C%20hbar%2C%20m%2C%20omega%2C%20x)%3A%0A%20%20%20%20def%20psi_n(n_val%2C%20x_var%2C%20m_val%2C%20omega_val%2C%20hbar_val)%3A%0A%20%20%20%20%20%20%20%20%22%22%22Construct%20the%20n-th%20harmonic%20oscillator%20wavefunction.%22%22%22%0A%20%20%20%20%20%20%20%20xi%20%3D%20Sqrt(m_val%20*%20omega_val%20%2F%20hbar_val)%20*%20x_var%0A%20%20%20%20%20%20%20%20normalization%20%3D%201%20%2F%20Sqrt(2**n_val%20*%20Factorial(n_val))%20*%20(m_val%20*%20omega_val%20%2F%20(Pi%20*%20hbar_val))**R(1%2C%204)%0A%20%20%20%20%20%20%20%20return%20Simplify(normalization%20*%20Exp(-xi**2%20%2F%202)%20*%20HermiteH(n_val%2C%20xi))%0A%0A%20%20%20%20%23%20Ground%20state%20(n%3D0)%0A%20%20%20%20psi_0%20%3D%20psi_n(0%2C%20x%2C%20m%2C%20omega%2C%20hbar)%0A%20%20%20%20psi_0%0A%20%20%20%20return%20(psi_n%2C)%0A%0A%0A%40app.cell%0Adef%20_(hbar%2C%20m%2C%20omega%2C%20psi_n%2C%20x)%3A%0A%20%20%20%20%23%20First%20three%20excited%20states%0A%20%20%20%20psi_1%20%3D%20psi_n(1%2C%20x%2C%20m%2C%20omega%2C%20hbar)%0A%20%20%20%20psi_2%20%3D%20psi_n(2%2C%20x%2C%20m%2C%20omega%2C%20hbar)%0A%20%20%20%20psi_3%20%3D%20psi_n(3%2C%20x%2C%20m%2C%20omega%2C%20hbar)%0A%20%20%20%20(psi_1%2C%20psi_2%2C%20psi_3)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20Plotting%20Wavefunctions%0A%0A%20%20%20%20Let's%20visualize%20the%20wavefunctions%20using%20symderive's%20**Plot**%20function.%0A%20%20%20%20We'll%20use%20dimensionless%20units%20where%20%24%5Cxi%20%3D%20x%5Csqrt%7Bm%5Comega%2F%5Chbar%7D%24.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Exp%2C%20Pi%2C%20Plot%2C%20R%2C%20Sqrt%2C%20Symbol)%3A%0A%20%20%20%20%23%20Dimensionless%20coordinate%20for%20plotting%0A%20%20%20%20xi%20%3D%20Symbol('xi'%2C%20real%3DTrue)%0A%0A%20%20%20%20%23%20Dimensionless%20wavefunctions%20(normalized)%0A%20%20%20%20psi0_plot%20%3D%20(1%2FPi)**R(1%2C4)%20*%20Exp(-xi**2%2F2)%0A%20%20%20%20psi1_plot%20%3D%20(1%2FPi)**R(1%2C4)%20*%20Sqrt(2)%20*%20xi%20*%20Exp(-xi**2%2F2)%0A%20%20%20%20psi2_plot%20%3D%20(1%2FPi)**R(1%2C4)%20*%20(1%2FSqrt(2))%20*%20(2*xi**2%20-%201)%20*%20Exp(-xi**2%2F2)%0A%20%20%20%20psi3_plot%20%3D%20(1%2FPi)**R(1%2C4)%20*%20(1%2FSqrt(3))%20*%20(2*xi**3%20-%203*xi)%20*%20Exp(-xi**2%2F2)%0A%0A%20%20%20%20Plot(%0A%20%20%20%20%20%20%20%20%5Bpsi0_plot%2C%20psi1_plot%2C%20psi2_plot%2C%20psi3_plot%5D%2C%0A%20%20%20%20%20%20%20%20(xi%2C%20-4%2C%204)%2C%0A%20%20%20%20%20%20%20%20PlotLabel%3D%22Harmonic%20Oscillator%20Wavefunctions%22%2C%0A%20%20%20%20%20%20%20%20AxesLabel%3D%5B%22%CE%BE%20%3D%20x%E2%88%9A(m%CF%89%2F%E2%84%8F)%22%2C%20%22%CF%88%E2%82%99(%CE%BE)%22%5D%2C%0A%20%20%20%20%20%20%20%20PlotLegends%3D%5B%22n%3D0%22%2C%20%22n%3D1%22%2C%20%22n%3D2%22%2C%20%22n%3D3%22%5D%2C%0A%20%20%20%20%20%20%20%20GridLines%3DTrue%2C%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Exp%2C%20Pi%2C%20Plot%2C%20R%2C%20Symbol)%3A%0A%20%20%20%20%23%20Probability%20densities%20%7C%CF%88%7C%C2%B2%0A%20%20%20%20xi_prob%20%3D%20Symbol('xi'%2C%20real%3DTrue)%0A%0A%20%20%20%20prob0%20%3D%20(1%2FPi)**R(1%2C2)%20*%20Exp(-xi_prob**2)%0A%20%20%20%20prob1%20%3D%20(1%2FPi)**R(1%2C2)%20*%202%20*%20xi_prob**2%20*%20Exp(-xi_prob**2)%0A%20%20%20%20prob2%20%3D%20(1%2FPi)**R(1%2C2)%20*%20R(1%2C2)%20*%20(2*xi_prob**2%20-%201)**2%20*%20Exp(-xi_prob**2)%0A%0A%20%20%20%20Plot(%0A%20%20%20%20%20%20%20%20%5Bprob0%2C%20prob1%2C%20prob2%5D%2C%0A%20%20%20%20%20%20%20%20(xi_prob%2C%20-4%2C%204)%2C%0A%20%20%20%20%20%20%20%20PlotLabel%3D%22Probability%20Densities%20%7C%CF%88%E2%82%99%7C%C2%B2%22%2C%0A%20%20%20%20%20%20%20%20AxesLabel%3D%5B%22%CE%BE%22%2C%20%22%7C%CF%88%E2%82%99(%CE%BE)%7C%C2%B2%22%5D%2C%0A%20%20%20%20%20%20%20%20PlotLegends%3D%5B%22n%3D0%22%2C%20%22n%3D1%22%2C%20%22n%3D2%22%5D%2C%0A%20%20%20%20%20%20%20%20GridLines%3DTrue%2C%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%202.%20Time%20Evolution%20via%20DSolve%0A%0A%20%20%20%20The%20time-dependent%20Schr%C3%B6dinger%20equation%3A%0A%0A%20%20%20%20%24%24i%5Chbar%5Cfrac%7B%5Cpartial%5Cpsi%7D%7B%5Cpartial%20t%7D%20%3D%20%5Chat%7BH%7D%5Cpsi%24%24%0A%0A%20%20%20%20For%20an%20energy%20eigenstate%3A%20%24%5Cpsi_n(x%2Ct)%20%3D%20%5Cpsi_n(x)%20e%5E%7B-iE_n%20t%2F%5Chbar%7D%24%0A%0A%20%20%20%20Let's%20solve%20the%20time%20evolution%20using%20**DSolve**.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(D%2C%20DSolve%2C%20Eq%2C%20Function%2C%20I%2C%20Symbol)%3A%0A%20%20%20%20%23%20Time%20evolution%20ODE%20for%20coefficient%20c(t)%0A%20%20%20%20t%20%3D%20Symbol('t'%2C%20real%3DTrue)%0A%20%20%20%20E%20%3D%20Symbol('E'%2C%20positive%3DTrue)%20%20%23%20Energy%20eigenvalue%0A%20%20%20%20hbar_t%20%3D%20Symbol('hbar'%2C%20positive%3DTrue)%0A%0A%20%20%20%20c%20%3D%20Function('c')%0A%0A%20%20%20%20%23%20i*hbar%20*%20dc%2Fdt%20%3D%20E%20*%20c%20%20%3D%3E%20%20dc%2Fdt%20%3D%20-i*E*c%2Fhbar%0A%20%20%20%20schrodinger_ode%20%3D%20Eq(D(c(t)%2C%20t)%2C%20-I%20*%20E%20*%20c(t)%20%2F%20hbar_t)%0A%0A%20%20%20%20%23%20Solve%20the%20ODE%0A%20%20%20%20time_evolution%20%3D%20DSolve(schrodinger_ode%2C%20c(t)%2C%20t)%0A%20%20%20%20time_evolution%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20solution%20%24c(t)%20%3D%20C_1%20e%5E%7B-iEt%2F%5Chbar%7D%24%20confirms%20the%20oscillatory%20time%20dependence%0A%20%20%20%20of%20quantum%20states.%20The%20frequency%20is%20%24%5Comega%20%3D%20E%2F%5Chbar%24.%0A%0A%20%20%20%20%23%23%203.%20Matrix%20Quantum%20Mechanics%0A%0A%20%20%20%20Quantum%20mechanics%20can%20be%20formulated%20in%20matrix%20form.%20For%20a%20two-level%20system%0A%20%20%20%20(qubit)%2C%20we%20use%20**Eigenvalues**%20and%20**Eigenvectors**.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Eigenvalues%2C%20Matrix%2C%20Symbol)%3A%0A%20%20%20%20%23%20Two-level%20system%20(spin-1%2F2%20in%20magnetic%20field)%0A%20%20%20%20Delta%20%3D%20Symbol('Delta'%2C%20real%3DTrue)%20%20%23%20Energy%20splitting%0A%20%20%20%20V%20%3D%20Symbol('V'%2C%20real%3DTrue)%20%20%23%20Coupling%0A%0A%20%20%20%20%23%20Hamiltonian%20matrix%0A%20%20%20%20H_2level%20%3D%20Matrix(%5B%0A%20%20%20%20%20%20%20%20%5BDelta%2F2%2C%20V%5D%2C%0A%20%20%20%20%20%20%20%20%5BV%2C%20-Delta%2F2%5D%0A%20%20%20%20%5D)%0A%0A%20%20%20%20%23%20Find%20eigenvalues%20(energy%20levels)%0A%20%20%20%20energies%20%3D%20Eigenvalues(H_2level)%0A%20%20%20%20energies%0A%20%20%20%20return%20(H_2level%2C)%0A%0A%0A%40app.cell%0Adef%20_(Eigenvectors%2C%20H_2level)%3A%0A%20%20%20%20%23%20Find%20eigenvectors%20(stationary%20states)%0A%20%20%20%20states%20%3D%20Eigenvectors(H_2level)%0A%20%20%20%20states%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20eigenvalues%20are%20%24E_%5Cpm%20%3D%20%5Cpm%5Csqrt%7B(%5CDelta%2F2)%5E2%20%2B%20V%5E2%7D%24%2C%20showing%20the%0A%20%20%20%20**avoided%20crossing**%20phenomenon%20in%20quantum%20systems.%0A%0A%20%20%20%20%23%23%23%20Pauli%20Matrices%20and%20Spin%0A%0A%20%20%20%20The%20Pauli%20matrices%20form%20a%20basis%20for%202%C3%972%20Hermitian%20matrices.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(I%2C%20Matrix%2C%20Tr)%3A%0A%20%20%20%20%23%20Pauli%20matrices%0A%20%20%20%20sigma_x%20%3D%20Matrix(%5B%5B0%2C%201%5D%2C%20%5B1%2C%200%5D%5D)%0A%20%20%20%20sigma_y%20%3D%20Matrix(%5B%5B0%2C%20-I%5D%2C%20%5BI%2C%200%5D%5D)%0A%20%20%20%20sigma_z%20%3D%20Matrix(%5B%5B1%2C%200%5D%2C%20%5B0%2C%20-1%5D%5D)%0A%20%20%20%20identity%20%3D%20Matrix(%5B%5B1%2C%200%5D%2C%20%5B0%2C%201%5D%5D)%0A%0A%20%20%20%20%23%20Properties%3A%20Tr(sigma_i)%20%3D%200%2C%20eigenvalues%20%3D%20%C2%B11%0A%20%20%20%20(Tr(sigma_x)%2C%20Tr(sigma_y)%2C%20Tr(sigma_z))%0A%20%20%20%20return%20sigma_x%2C%20sigma_y%2C%20sigma_z%0A%0A%0A%40app.cell%0Adef%20_(Eigenvalues%2C%20sigma_x%2C%20sigma_y%2C%20sigma_z)%3A%0A%20%20%20%20%23%20Eigenvalues%20of%20Pauli%20matrices%20(should%20all%20be%20%7B-1%3A%201%2C%201%3A%201%7D)%0A%20%20%20%20(Eigenvalues(sigma_x)%2C%20Eigenvalues(sigma_y)%2C%20Eigenvalues(sigma_z))%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%204.%20Perturbation%20Theory%20via%20Series%0A%0A%20%20%20%20First-order%20perturbation%20theory%3A%20For%20%24%5Chat%7BH%7D%20%3D%20%5Chat%7BH%7D_0%20%2B%20%5Clambda%20%5Chat%7BH%7D'%24%2C%0A%0A%20%20%20%20%24%24E_n%20%3D%20E_n%5E%7B(0)%7D%20%2B%20%5Clambda%20%5Clangle%20n%20%7C%20%5Chat%7BH%7D'%20%7C%20n%20%5Crangle%20%2B%20O(%5Clambda%5E2)%24%24%0A%0A%20%20%20%20Let's%20use%20**Series**%20to%20expand%20energies%20in%20the%20perturbation%20parameter.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Series%2C%20Sqrt%2C%20Symbol)%3A%0A%20%20%20%20%23%20Perturbed%20two-level%20system%0A%20%20%20%20E0%20%3D%20Symbol('E_0'%2C%20positive%3DTrue)%20%20%23%20Unperturbed%20energy%0A%20%20%20%20lam%20%3D%20Symbol('lambda'%2C%20real%3DTrue)%20%20%23%20Perturbation%20strength%0A%0A%20%20%20%20%23%20Exact%20energy%20with%20perturbation%3A%20E%20%3D%20sqrt(E0%5E2%20%2B%20lambda%5E2)%0A%20%20%20%20E_exact%20%3D%20Sqrt(E0**2%20%2B%20lam**2)%0A%0A%20%20%20%20%23%20Series%20expansion%20in%20lambda%20(perturbation%20theory)%0A%20%20%20%20E_perturbation%20%3D%20Series(E_exact%2C%20(lam%2C%200%2C%204))%0A%20%20%20%20E_perturbation%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20series%20expansion%20shows%3A%0A%20%20%20%20-%20Zeroth%20order%3A%20%24E_0%24%20(unperturbed)%0A%20%20%20%20-%20Second%20order%3A%20%24%5Clambda%5E2%2F(2E_0)%24%20(quadratic%20correction)%0A%20%20%20%20-%20Fourth%20order%3A%20%24-%5Clambda%5E4%2F(8E_0%5E3)%24%20(higher%20correction)%0A%0A%20%20%20%20First%20order%20vanishes%20for%20this%20symmetric%20perturbation.%0A%0A%20%20%20%20%23%23%205.%20Momentum%20Space%20via%20Fourier%20Transform%0A%0A%20%20%20%20The%20momentum-space%20wavefunction%20is%20the%20Fourier%20transform%3A%0A%0A%20%20%20%20%24%24%5Ctilde%7B%5Cpsi%7D(p)%20%3D%20%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%5Chbar%7D%7D%20%5Cint_%7B-%5Cinfty%7D%5E%7B%5Cinfty%7D%20%5Cpsi(x)%20e%5E%7B-ipx%2F%5Chbar%7D%20dx%24%24%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Exp%2C%20FourierTransform%2C%20Pi%2C%20R%2C%20Simplify%2C%20Symbol)%3A%0A%20%20%20%20%23%20Position-space%20Gaussian%20wavefunction%20(ground%20state%20of%20HO)%0A%20%20%20%20x_ft%20%3D%20Symbol('x'%2C%20real%3DTrue)%0A%20%20%20%20p_ft%20%3D%20Symbol('p'%2C%20real%3DTrue)%0A%20%20%20%20sigma_pos%20%3D%20Symbol('sigma'%2C%20positive%3DTrue)%20%20%23%20Position%20width%0A%0A%20%20%20%20%23%20Gaussian%20in%20position%20space%20(normalized)%0A%20%20%20%20psi_x%20%3D%20(1%2F(Pi%20*%20sigma_pos**2))**R(1%2C4)%20*%20Exp(-x_ft**2%20%2F%20(2*sigma_pos**2))%0A%0A%20%20%20%20%23%20Fourier%20transform%20to%20momentum%20space%0A%20%20%20%20psi_p%20%3D%20FourierTransform(psi_x%2C%20x_ft%2C%20p_ft)%0A%20%20%20%20psi_p_simplified%20%3D%20Simplify(psi_p)%0A%0A%20%20%20%20%7B%22position_space%22%3A%20psi_x%2C%20%22momentum_space%22%3A%20psi_p_simplified%7D%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20Fourier%20transform%20of%20a%20Gaussian%20is%20another%20Gaussian!%0A%20%20%20%20Width%20in%20momentum%20space%3A%20%24%5Csigma_p%20%5Cpropto%201%2F%5Csigma_x%24%20-%20this%20demonstrates%0A%20%20%20%20the%20uncertainty%20principle%3A%20%24%5CDelta%20x%20%5Ccdot%20%5CDelta%20p%20%5Cgeq%20%5Chbar%2F2%24.%0A%0A%20%20%20%20%23%23%206.%20Ladder%20Operators%20via%20NestList%0A%0A%20%20%20%20Creation%20(%24%5Chat%7Ba%7D%5E%5Cdagger%24)%20and%20annihilation%20(%24%5Chat%7Ba%7D%24)%20operators%3A%0A%0A%20%20%20%20%24%24%5Chat%7Ba%7D%7Cn%5Crangle%20%3D%20%5Csqrt%7Bn%7D%7Cn-1%5Crangle%2C%20%5Cquad%20%5Chat%7Ba%7D%5E%5Cdagger%7Cn%5Crangle%20%3D%20%5Csqrt%7Bn%2B1%7D%7Cn%2B1%5Crangle%24%24%0A%0A%20%20%20%20We%20can%20use%20**NestList**%20to%20generate%20sequences%20of%20states.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(NestList%2C%20Sqrt)%3A%0A%20%20%20%20%23%20Track%20quantum%20number%20under%20repeated%20creation%20operator%0A%20%20%20%20def%20apply_creation(n_val)%3A%0A%20%20%20%20%20%20%20%20%22%22%22a%5Edagger%20raises%20n%20-%3E%20n%2B1%2C%20with%20coefficient%20sqrt(n%2B1)%22%22%22%0A%20%20%20%20%20%20%20%20return%20(n_val%20%2B%201%2C%20Sqrt(n_val%20%2B%201))%0A%0A%20%20%20%20%23%20Start%20from%20ground%20state%20n%3D0%2C%20apply%20a%5Edagger%205%20times%0A%20%20%20%20%23%20Track%20(n%2C%20cumulative_coefficient)%0A%20%20%20%20def%20creation_sequence(state)%3A%0A%20%20%20%20%20%20%20%20n_val%2C%20coeff%20%3D%20state%0A%20%20%20%20%20%20%20%20new_n%20%3D%20n_val%20%2B%201%0A%20%20%20%20%20%20%20%20new_coeff%20%3D%20coeff%20*%20Sqrt(new_n)%0A%20%20%20%20%20%20%20%20return%20(new_n%2C%20new_coeff)%0A%0A%20%20%20%20%23%20Generate%20sequence%3A%20%7C0%E2%9F%A9%20-%3E%20%7C1%E2%9F%A9%20-%3E%20%7C2%E2%9F%A9%20-%3E%20%7C3%E2%9F%A9%20-%3E%20%7C4%E2%9F%A9%20-%3E%20%7C5%E2%9F%A9%0A%20%20%20%20ladder_sequence%20%3D%20NestList(creation_sequence%2C%20(0%2C%201)%2C%205)%0A%20%20%20%20ladder_sequence%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20The%20sequence%20shows%3A%20%24(a%5E%5Cdagger)%5En%20%7C0%5Crangle%20%3D%20%5Csqrt%7Bn!%7D%20%7Cn%5Crangle%24%0A%0A%20%20%20%20%23%23%207.%20Hydrogen%20Atom%20Radial%20Functions%0A%0A%20%20%20%20The%20hydrogen%20atom%20has%20radial%20wavefunctions%20involving%20associated%20Laguerre%20polynomials.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Symbol)%3A%0A%20%20%20%20%23%20Hydrogen%20atom%20symbols%0A%20%20%20%20r%20%3D%20Symbol('r'%2C%20positive%3DTrue)%0A%20%20%20%20theta%20%3D%20Symbol('theta'%2C%20real%3DTrue)%0A%20%20%20%20phi%20%3D%20Symbol('phi'%2C%20real%3DTrue)%0A%20%20%20%20a0%20%3D%20Symbol('a_0'%2C%20positive%3DTrue)%20%20%23%20Bohr%20radius%0A%20%20%20%20Z%20%3D%20Symbol('Z'%2C%20positive%3DTrue%2C%20integer%3DTrue)%20%20%23%20Atomic%20number%0A%20%20%20%20return%20Z%2C%20a0%2C%20phi%2C%20r%2C%20theta%0A%0A%0A%40app.cell%0Adef%20_(AssociatedLaguerreL%2C%20Exp%2C%20Factorial%2C%20Simplify%2C%20Sqrt%2C%20Z%2C%20a0%2C%20r)%3A%0A%20%20%20%20def%20R_nl(n_val%2C%20l_val%2C%20r_var%2C%20Z_val%2C%20a0_val)%3A%0A%20%20%20%20%20%20%20%20%22%22%22Radial%20wavefunction%20for%20hydrogen-like%20atom.%22%22%22%0A%20%20%20%20%20%20%20%20rho%20%3D%202%20*%20Z_val%20*%20r_var%20%2F%20(n_val%20*%20a0_val)%0A%20%20%20%20%20%20%20%20norm%20%3D%20Sqrt(%0A%20%20%20%20%20%20%20%20%20%20%20%20(2%20*%20Z_val%20%2F%20(n_val%20*%20a0_val))**3%20*%0A%20%20%20%20%20%20%20%20%20%20%20%20Factorial(n_val%20-%20l_val%20-%201)%20%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20(2%20*%20n_val%20*%20Factorial(n_val%20%2B%20l_val)**3)%0A%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20return%20Simplify(norm%20*%20Exp(-rho%20%2F%202)%20*%20rho**l_val%20*%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20AssociatedLaguerreL(n_val%20-%20l_val%20-%201%2C%202*l_val%20%2B%201%2C%20rho))%0A%0A%20%20%20%20%23%201s%20orbital%20(n%3D1%2C%20l%3D0)%0A%20%20%20%20R_10%20%3D%20R_nl(1%2C%200%2C%20r%2C%20Z%2C%20a0)%0A%20%20%20%20R_10%0A%20%20%20%20return%20(R_nl%2C)%0A%0A%0A%40app.cell%0Adef%20_(R_nl%2C%20Simplify%2C%20Z%2C%20a0%2C%20r)%3A%0A%20%20%20%20%23%202s%20and%202p%20orbitals%0A%20%20%20%20R_20%20%3D%20Simplify(R_nl(2%2C%200%2C%20r%2C%20Z%2C%20a0))%0A%20%20%20%20R_21%20%3D%20Simplify(R_nl(2%2C%201%2C%20r%2C%20Z%2C%20a0))%0A%20%20%20%20(R_20%2C%20R_21)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(SphericalHarmonicY%2C%20phi%2C%20theta)%3A%0A%20%20%20%20%23%20Spherical%20harmonics%20for%20angular%20part%0A%20%20%20%20Y_00%20%3D%20SphericalHarmonicY(0%2C%200%2C%20theta%2C%20phi)%20%20%23%20s%20orbital%0A%20%20%20%20Y_10%20%3D%20SphericalHarmonicY(1%2C%200%2C%20theta%2C%20phi)%20%20%23%20p_z%20orbital%0A%20%20%20%20Y_11%20%3D%20SphericalHarmonicY(1%2C%201%2C%20theta%2C%20phi)%20%20%23%20p_x%20%2B%20i*p_y%0A%20%20%20%20(Y_00%2C%20Y_10%2C%20Y_11)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%208.%20Variational%20Method%20via%20FixedPoint%0A%0A%20%20%20%20The%20variational%20principle%3A%20For%20any%20trial%20wavefunction%20%24%5Cpsi_%5Ctext%7Btrial%7D%24%2C%0A%0A%20%20%20%20%24%24E%5B%5Cpsi%5D%20%3D%20%5Cfrac%7B%5Clangle%5Cpsi%7C%5Chat%7BH%7D%7C%5Cpsi%5Crangle%7D%7B%5Clangle%5Cpsi%7C%5Cpsi%5Crangle%7D%20%5Cgeq%20E_0%24%24%0A%0A%20%20%20%20We%20can%20use%20**FixedPoint**%20to%20optimize%20variational%20parameters.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(FixedPointList)%3A%0A%20%20%20%20%23%20Simple%20variational%20optimization%3A%20Newton's%20method%20for%20energy%20minimum%0A%20%20%20%20%23%20E(alpha)%20%3D%20alpha%5E2%2F2%20%2B%201%2F(2*alpha%5E2)%20for%20Gaussian%20trial%20function%0A%20%20%20%20%23%20Minimum%20at%20alpha%20%3D%201%0A%0A%20%20%20%20def%20variational_step(alpha)%3A%0A%20%20%20%20%20%20%20%20%22%22%22One%20step%20of%20gradient%20descent%20for%20E(alpha)%20%3D%20alpha%5E2%2F2%20%2B%201%2F(2*alpha%5E2)%22%22%22%0A%20%20%20%20%20%20%20%20%23%20dE%2Fdalpha%20%3D%20alpha%20-%201%2Falpha%5E3%0A%20%20%20%20%20%20%20%20%23%20Newton%3A%20alpha_new%20%3D%20alpha%20-%20dE%2Fdalpha%20%2F%20d2E%2Fdalpha2%0A%20%20%20%20%20%20%20%20%23%20d2E%2Fdalpha2%20%3D%201%20%2B%203%2Falpha%5E4%0A%20%20%20%20%20%20%20%20gradient%20%3D%20alpha%20-%201%2Falpha**3%0A%20%20%20%20%20%20%20%20hessian%20%3D%201%20%2B%203%2Falpha**4%0A%20%20%20%20%20%20%20%20return%20alpha%20-%20gradient%2Fhessian%0A%0A%20%20%20%20%23%20Start%20from%20alpha%3D2%2C%20converge%20to%20optimal%20alpha%3D1%0A%20%20%20%20alpha_sequence%20%3D%20FixedPointList(variational_step%2C%202.0%2C%20max_iter%3D10%2C%20tol%3D1e-10)%0A%20%20%20%20alpha_sequence%0A%20%20%20%20return%20(alpha_sequence%2C)%0A%0A%0A%40app.cell%0Adef%20_(ListLinePlot%2C%20alpha_sequence)%3A%0A%20%20%20%20%23%20Plot%20convergence%0A%20%20%20%20alpha_data%20%3D%20%5B(i%2C%20a)%20for%20i%2C%20a%20in%20enumerate(alpha_sequence)%5D%0A%0A%20%20%20%20ListLinePlot(%0A%20%20%20%20%20%20%20%20alpha_data%2C%0A%20%20%20%20%20%20%20%20PlotLabel%3D%22Variational%20Parameter%20Convergence%22%2C%0A%20%20%20%20%20%20%20%20AxesLabel%3D%5B%22Iteration%22%2C%20%22%CE%B1%22%5D%2C%0A%20%20%20%20%20%20%20%20PlotStyle%3D%22Blue%22%2C%0A%20%20%20%20%20%20%20%20GridLines%3DTrue%2C%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Summary%0A%0A%20%20%20%20We%20demonstrated%20symderive's%20quantum%20mechanics%20capabilities%3A%0A%0A%20%20%20%20%7C%20Feature%20%7C%20Usage%20%7C%0A%20%20%20%20%7C---------%7C-------%7C%0A%20%20%20%20%7C%20**DSolve**%20%7C%20Time-dependent%20Schr%C3%B6dinger%20equation%20%7C%0A%20%20%20%20%7C%20**Eigenvalues%2FEigenvectors**%20%7C%20Matrix%20quantum%20mechanics%2C%20spin%20systems%20%7C%0A%20%20%20%20%7C%20**Series**%20%7C%20Perturbation%20theory%20expansions%20%7C%0A%20%20%20%20%7C%20**FourierTransform**%20%7C%20Position%20%E2%86%94%20Momentum%20representation%20%7C%0A%20%20%20%20%7C%20**NestList**%20%7C%20Ladder%20operator%20sequences%20%7C%0A%20%20%20%20%7C%20**FixedPoint**%20%7C%20Variational%20optimization%20%7C%0A%20%20%20%20%7C%20**Plot**%20%7C%20Wavefunction%20and%20probability%20visualization%20%7C%0A%20%20%20%20%7C%20**Integrate**%20%7C%20Normalization%20and%20expectation%20values%20%7C%0A%20%20%20%20%7C%20**HermiteH%2C%20LaguerreL%2C%20SphericalHarmonicY**%20%7C%20Special%20functions%20%7C%0A%0A%20%20%20%20Derive%20provides%20comprehensive%20tools%20for%20symbolic%20quantum%20mechanics!%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
cc58c0e3f21f47a2169a693b1e327a12