Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ Some comparisons to old versions of pairinteraction, ARC and NIST data.
examples/comparisons/compare_z_min_cutoff.ipynb
examples/comparisons/compare_nist_energy_levels_data.ipynb
examples/comparisons/compare_nist_matrix_elements.ipynb
examples/comparisons/compare_udel_portal_matrix_elements.ipynb
examples/comparisons/compare_model_potentials.ipynb
examples/comparisons/compare_whittaker.ipynb

Expand Down
76 changes: 72 additions & 4 deletions docs/examples/comparisons/compare_nist_matrix_elements.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,74 @@
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Independent check: $5p_j \\rightarrow 6d_{j'}$\n",
"\n",
"The cutoff $r_c$ was fitted to the principal series $5s_{1/2} \\rightarrow np_j$ only,\n",
"so transitions between two *excited* states are an independent test of the dressed operator.\n",
"NIST ASD lists three E1 lines connecting the $4p^6\\,5p$ and $4p^6\\,6d$ configurations."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" transition bare dressed NIST (|<5p_j||d||6d_j'>| in e a0)\n",
" 5p_1/2 -> 6d_3/2 1.0322 1.0830 1.1798 (ratios to NIST: 0.875 / 0.918)\n",
" 5p_3/2 -> 6d_5/2 1.4684 1.5332 1.6580 (ratios to NIST: 0.886 / 0.925)\n",
" 5p_3/2 -> 6d_3/2 0.4920 0.5135 0.5577 (ratios to NIST: 0.882 / 0.921)\n"
]
}
],
"source": [
"# {((n, j) lower, (n, j) upper): S in (e a0)^2}\n",
"# from https://physics.nist.gov/PhysRefData/ASD/lines_form.html (retrieved 2026-07-28)\n",
"nist_s_5p_6d = {\n",
" ((5, 0.5), (6, 1.5)): 1.392, # 620.63092 nm\n",
" ((5, 1.5), (6, 2.5)): 2.749, # 629.83252 nm\n",
" ((5, 1.5), (6, 1.5)): 3.11e-1, # 629.92245 nm\n",
"}\n",
"\n",
"print(f\"{'transition':>18} {'bare':>10} {'dressed':>10} {'NIST':>10} (|<5p_j||d||6d_j'>| in e a0)\")\n",
"for ((n_low, j_low), (n_up, j_up)), line_strength in nist_s_5p_6d.items():\n",
" lower = rydstate.RydbergStateSQDTAlkali(\"Rb\", n_low, l=1, j=j_low)\n",
" upper = rydstate.RydbergStateSQDTAlkali(\"Rb\", n_up, l=2, j=j_up)\n",
" bare = upper.calc_reduced_matrix_element(lower, \"electric_dipole_rydberg\", unit=\"e a0\")\n",
" dressed = upper.calc_reduced_matrix_element(lower, \"electric_dipole\", unit=\"e a0\")\n",
" nist = np.sqrt(line_strength)\n",
" transition = f\"{n_low}p_{2 * j_low:1.0f}/2 -> {n_up}d_{2 * j_up:1.0f}/2\"\n",
" print(\n",
" f\"{transition:>18} {abs(bare):10.4f} {abs(dressed):10.4f} {nist:10.4f}\"\n",
" f\" (ratios to NIST: {abs(bare) / nist:.3f} / {abs(dressed) / nist:.3f})\"\n",
" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Unlike for the principal series, the shielding correction *increases* these matrix elements, by $4-5\\%$.\n",
"The $-\\alpha_c/r^2 (1 - e^{-(r/r_c)^3})$ term contributes only at small $r$ (a few $r_c$), so its sign relative to\n",
"the bare integral decides whether it shields or enhances: the $5s \\rightarrow np$ integrals are dominated by a\n",
"single sign and are shielded, whereas the $5p \\rightarrow 6d$ integrals suffer a strong cancellation between an\n",
"inner positive and an outer negative lobe, and the small-$r$ correction adds to the surviving remainder --- the\n",
"same enhancement already seen for the $np \\rightarrow 4d, 5d$ channels above.\n",
"\n",
"The correction moves all three lines towards NIST, but a deficit of $\\approx 8\\%$ remains.\n",
"That deficit is a property of the *reference*, not of the operator: the NIST ASD line strengths for these three\n",
"lines are about 10% larger than the high-precision values tabulated by the UD atomic data portal,\n",
"far outside the portal's stated uncertainty. Measured against the portal, the dressed operator agrees to\n",
"$\\approx 1.5\\%$ --- see the direct comparison in [compare_udel_portal_matrix_elements.ipynb](compare_udel_portal_matrix_elements.ipynb)."
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand All @@ -255,7 +323,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 6,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -306,7 +374,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 7,
"metadata": {
"execution": {
"iopub.execute_input": "2026-07-27T11:05:51.131147Z",
Expand Down Expand Up @@ -373,7 +441,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
Expand All @@ -400,7 +468,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 9,
"metadata": {},
"outputs": [
{
Expand Down
426 changes: 426 additions & 0 deletions docs/examples/comparisons/compare_udel_portal_matrix_elements.ipynb

Large diffs are not rendered by default.

Loading
Loading