Domain: Physics — Quantum Mechanics

Problem:
Compute the nuclear-structure-dependent correction \( \delta_{\mathrm{NS}} \) for the superallowed \( \beta^{+} \) decay \( ^{10}\mathrm{C} \to {}^{10}\mathrm{B}^* \) by constructing a one-dimensional radial grid \( r \in [0,8]~\mathrm{fm} \) with 400 points, starting the grid at \( r = 10^{-6} \) to avoid the divergence of the \( 1/r \) kernels, generating two “projected’’ radial states \( \psi_i(r) \) and \( \psi_f(r) \) by imaginary-time evolution of an initial Gaussian \( \psi(r)=\exp(-r^2/2.8) \) under the radial operator \( H\psi(r) = -\tfrac12\,\psi''(r) + e^{-r/2}\psi(r) \), where all radial derivatives \( \psi'(r) \) and \( \psi''(r) \) are computed numerically using centered finite differences implemented through `np.gradient`, so that \( \psi'(r) = \mathrm{gradient}(\psi,r) \) and \( \psi''(r) = \mathrm{gradient}(\mathrm{gradient}(\psi,r),r) \), and updating the state at every iteration with a fixed imaginary-time step \( \Delta\tau = 0.012 \) according to \( \psi \leftarrow \psi - \Delta\tau\,(H\psi - \langle H\psi\rangle) \), normalizing after each update with the radial weight \( r^2 \), using 240 steps to obtain \( \psi_i \) and 300 steps to obtain \( \psi_f \). Form the transition density \( \rho_{if}(r)=\psi_i(r)\psi_f(r)r^2 / \!\int_0^8 \psi_i(r)\psi_f(r)r^2\,dr \). Define the EFT-like kernels on this grid by \( h_{\text{mag},GT,p}(r)=\frac{g_A}{3m_N}\frac{1+1.793}{r} \), \( h_{\text{mag},GT,n}(r)=\frac{g_A}{3m_N}\frac{-1.913}{r} \), \( h_{\text{mag},T,p}(r)=\tfrac14 h_{\text{mag},GT,p}(r) \), \( h_{\text{mag},T,n}(r)=\tfrac14 h_{\text{mag},GT,n}(r) \), \( h_{\text{CT},GT}(r)=\frac{1}{m_N(2F_\pi)^2}e^{-(r/0.4)^2} \), \( h_{LS,p}(r)=0.05 e^{-r/2} \), \( h_{E,F,p}(r)=-0.03 e^{-r/1.4} \), \( h_{E,F,n}(r)=-0.006 e^{-r/1.4} \), \( h_{F,+,p}(r)= -\frac{\ln(1+r)}{10} \), and \( h_{F,+,n}(r)= -0.1\frac{\ln(1+r)}{10} \). Compute the matrix elements \( M_X = \int_0^8 h_X(r)\rho_{if}(r)\,dr \) numerically. Using the constants \( \alpha=\frac{1}{137.036} \), \( g_V=1.01494 \), \( g_A=1.26 \), \( m_N=938.92~\mathrm{MeV} \), \( F_\pi=92.4~\mathrm{MeV} \), \( m_e=0.511~\mathrm{MeV} \), \( Q_{EC}=1.907994~\mathrm{MeV} \), \( R_A=2.58~\mathrm{fm} \), \( M_F^{(0)}=\sqrt{2} \), and \( E_0 = Q_{EC} - m_e/1000 \), form \( \delta_{\mathrm{NS}}^{(0)} = \frac{2\alpha}{g_V M_F^{(0)}}\bigl(M_{\text{mag},GT,p}+M_{\text{mag},GT,n}+M_{\text{mag},T,p}+M_{\text{mag},T,n}+M_{\text{CT},GT}+M_{LS,p}\bigr) + \frac{2\alpha^2}{g_V M_F^{(0)}}\bigl(M_{F,+,p}+M_{F,+,n}\bigr) \), and \( \delta_{\mathrm{NS}}^{E} = -\frac{2\alpha R_A E_0}{g_V M_F^{(0)}}\bigl[1.105(M_{E,F,p}+M_{E,F,n})\bigr] \). Finally report the single scalar \( \delta_{\mathrm{NS}} = 10^3\bigl(\delta_{\mathrm{NS}}^{(0)}+\delta_{\mathrm{NS}}^{E}\bigr) \), rounded to exactly three decimal places.

Answer: \[
1.099
\]

Solution code:
import numpy as np
from math import sqrt, log

alpha=1.0/137.036
gV=1.01494
gA=1.26
mN=938.92
Fpi=92.4
me=0.511
Q_EC=1.907994
RA=2.58
MF0=sqrt(2.0)
E0=Q_EC-me/1000.0

rmax=8.0
N=400
r=np.linspace(1e-6,rmax,N)

def Hpsi_op(psi,r):
    dpsi=np.gradient(psi,r)
    d2psi=np.gradient(dpsi,r)
    return -0.5*d2psi + np.exp(-r/2)*psi

def project_state(r,steps,dt):
    psi=np.exp(-r**2/2.8)
    for _ in range(steps):
        Hpsi=Hpsi_op(psi,r)
        exp_val=np.trapz(psi*Hpsi*r**2,r)/np.trapz(psi**2*r**2,r)
        psi=psi-dt*(Hpsi-exp_val*psi)
        psi=psi/np.sqrt(np.trapz(psi**2*r**2,r))
    return psi

psi_i=project_state(r,240,0.012)
psi_f=project_state(r,300,0.012)

rho_if=psi_i*psi_f*r**2
rho_if=rho_if/np.trapz(rho_if,r)

def h_mag_GT_p(x): return (gA/(3*mN))*(1+1.793)/x
def h_mag_GT_n(x): return (gA/(3*mN))*(-1.913)/x
def h_mag_T_p(x): return 0.25*h_mag_GT_p(x)
def h_mag_T_n(x): return 0.25*h_mag_GT_n(x)
def h_CT_GT(x):
    c=1.0/(mN*(2*Fpi)**2)
    return c*np.exp(-(x/0.4)**2)
def h_LS_p(x): return 0.05*np.exp(-x/2)
def h_E_F_p(x): return -0.03*np.exp(-x/1.4)
def h_E_F_n(x): return -0.006*np.exp(-x/1.4)
def h_F_plus_p(x): return -np.log(1+x)/10
def h_F_plus_n(x): return -0.1*np.log(1+x)/10

M_mag_GT_p=np.trapz(h_mag_GT_p(r)*rho_if,r)
M_mag_GT_n=np.trapz(h_mag_GT_n(r)*rho_if,r)
M_mag_T_p=np.trapz(h_mag_T_p(r)*rho_if,r)
M_mag_T_n=np.trapz(h_mag_T_n(r)*rho_if,r)
M_CT_GT=np.trapz(h_CT_GT(r)*rho_if,r)
M_LS_p=np.trapz(h_LS_p(r)*rho_if,r)
M_E_F_p=np.trapz(h_E_F_p(r)*rho_if,r)
M_E_F_n=np.trapz(h_E_F_n(r)*rho_if,r)
M_F_plus_p=np.trapz(h_F_plus_p(r)*rho_if,r)
M_F_plus_n=np.trapz(h_F_plus_n(r)*rho_if,r)

term_long=(M_mag_GT_p+M_mag_GT_n+M_mag_T_p+M_mag_T_n+M_CT_GT+M_LS_p)
term_a2=(M_F_plus_p+M_F_plus_n)

delta_NS_0=(2*alpha/(gV*MF0))*term_long + (2*alpha**2/(gV*MF0))*term_a2
delta_NS_E=-(2*alpha*RA*E0/(gV*MF0))*(1.105*(M_E_F_p+M_E_F_n))

delta_NS_total=(delta_NS_0+delta_NS_E)*1e3
print(f"{delta_NS_total:.3f}")