.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/semiclassical/wkb/plot_einstein_torus_quantization.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_api_gallery_semiclassical_wkb_plot_einstein_torus_quantization.py: Einstein's torus quantization: the circular billiard ======================================================= Sommerfeld quantized each separated coordinate on its own, :math:`\oint p_i\,dq_i = n_i h`. Einstein (1917) pointed out that this depends on the choice of coordinates, and gave the invariant form: an integrable motion with :math:`f` degrees of freedom winds around an :math:`f`-dimensional torus in phase space, and the quantization rule is one condition per independent closed loop :math:`\gamma_i` on that torus, .. math:: I_i = \frac{1}{2\pi}\oint_{\gamma_i}\mathbf p\cdot d\mathbf q = \hbar\,(n_i + \alpha_i). The loop integrals do not change when a loop is deformed on the torus, so the rule needs no special coordinates. Einstein also noted that a chaotic orbit, which fills a region instead of a torus, admits no such rule. The offsets :math:`\alpha_i` were added by Keller in 1958. The circular billiard of radius :math:`R` shows the torus directly. An orbit with angular momentum :math:`\hbar m` never comes closer to the centre than the caustic :math:`r_c = m/k`, and fills the annulus :math:`r_c 16 print(f"mean |error| for kR < 8: {np.mean(np.abs(k_ebk - k_ex)[low]):.4f}; for kR > 16: {np.mean(np.abs(k_ebk - k_ex)[high]):.4f}") plt.show() .. image-sg:: /api/gallery/semiclassical/wkb/images/sphx_glr_plot_einstein_torus_quantization_002.png :alt: Error of the torus rule :srcset: /api/gallery/semiclassical/wkb/images/sphx_glr_plot_einstein_torus_quantization_002.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none m s torus kR exact kR 0 1 2.35619 2.40483 0 2 5.49779 5.52008 0 3 8.63938 8.65373 1 1 3.79444 3.83171 1 2 6.99700 7.01559 1 3 10.16093 10.17347 2 1 5.10039 5.13562 2 2 8.40014 8.41724 2 3 11.60825 11.61984 mean |error| for kR < 8: 0.0332; for kR > 16: 0.0099 .. GENERATED FROM PYTHON SOURCE LINES 123-127 Check ----- Einstein-Brillouin-Keller on the disk's invariant tori reproduces the zeros of J_m, and the error falls as k grows. .. GENERATED FROM PYTHON SOURCE LINES 127-129 .. code-block:: Python assert np.max(np.abs(k_ebk - k_ex)) < 0.06 assert np.mean(np.abs(k_ebk - k_ex)[high]) < 0.5 * np.mean(np.abs(k_ebk - k_ex)[low]) .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.108 seconds) .. _sphx_glr_download_api_gallery_semiclassical_wkb_plot_einstein_torus_quantization.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_einstein_torus_quantization.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_einstein_torus_quantization.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_einstein_torus_quantization.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_