{ "cells": [ { "cell_type": "markdown", "id": "e6eceb79", "metadata": {}, "source": [ "# Attosecond Streaking (Definitions, Z-Gradients and Z-Pseudo-Hessians)" ] }, { "cell_type": "markdown", "id": "7ff00c22", "metadata": {}, "source": [ "## Definitions " ] }, { "cell_type": "markdown", "id": "37d3fb52", "metadata": {}, "source": [ "### Symbols and Indices\n", "\n", "The SFA introduces a momentum axis `k`. In the numerical implementation a conjugate spatial axis `r` is also relevant. \n", "These two axis require new index convetions. \n", "\n", "$\\quad q\\quad\\rightarrow\\quad$ Spatial Domain \n", "$\\quad b\\quad\\rightarrow\\quad$ Momentum Domain \n", "\n", "Its a bit annoying that im already using $k$ and $p$ as indices. If its not an index $k$ refers to the momentum.\n", "\n", "In addition the channel-dependent transition-dipole-matrix-element (DTME or $\\rho^C$) and the channel dependent ionization potential $IP^C$ are introduced. \n", "In Streaking `A` always refers to the vectorpotential of the femtosecond pulse, while `E` refers to the field of the EUV-pulse." ] }, { "cell_type": "markdown", "id": "611c3d1e", "metadata": {}, "source": [ "### Streaking Amplitude (within Strong-Field-Approximation) \n", "\n", "For a single-channel the SFA is implemented as:\n", "\n", "$S_{mb}^C = -i \\cdot \\sum\\limits_k dt\\cdot \\rho_{bk}^C \\cdot E_{mk} \\cdot e^{-i t_k\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)}\\cdot e^{-i\\phi_{bk}}$ \n", "\n", "Where $S_{mb}$ is the streaking amplitude in the momenum domain, it can be fourier transform to the spatial domain to yield $S_{mq}$. The multi-channel SFA is simply a coherent sum over all channels, which translates to all gradients:\n", "\n", "$S_{mb} = \\sum\\limits_C S_{mb}^C$ \n", "\n", "$\\frac{d S_{mb}}{dX} = \\sum\\limits_C \\frac{d S_{mb}^C}{dX}$ \n", "\n", "\n", "The vectorpotential-dependent part of the Volkov-Phase is:\n", "\n", "$\\phi_{bk} = \\sum\\limits_{j'=k}^{k_{\\mathrm{max}}} dt\\cdot \\left(k_b A_{j'} + \\frac{A_{j'}^2}{2}\\right)$ \n", "\n", "The DTME is momentum dependent and thus modulated by the vectorpotential. This can be numerically implemented using the Fourier-shift theorem.\n", "\n", "$\\rho_{bk}^C = \\sum\\limits_q D_{bq} \\rho_q^C \\cdot e^{i\\cdot 2\\pi r_q\\cdot A_k}$ " ] }, { "cell_type": "markdown", "id": "7a6bf04f", "metadata": {}, "source": [ "### Z-Error Definition \n", "\n", "$Z = \\sum\\limits_{mb} |S_{mb}' - S_{mb}|^2$ \n", "\n", "$\\nabla_{n}Z_m = -2\\sum\\limits_b \\Delta S_{mb} \\left(\\frac{d S_{mb}}{d E_n}\\right)^* + \\Delta S_{mb}^*\\frac{d S_{mb}}{d E_n^*}$" ] }, { "cell_type": "markdown", "id": "9b549f82", "metadata": {}, "source": [ "## Z-Gradients" ] }, { "cell_type": "markdown", "id": "79e184c9", "metadata": {}, "source": [ "### With respect to the real-part of vectorpotential in frequency domain ($A_n$) \n", "\n", "Vectorpotential is required to be real for streaking. Writing this out is omitted here for the sake of readability. \n", "\n", "$\\nabla_{n}Z_m = \\mathrm{FT}\\{\\nabla_{j}Z_m\\}$\n", "\n", "$\\nabla_{j}Z_m = -1\\cdot\\sum\\limits_b \\Delta S_{mb} \\left(\\frac{d S_{mb}}{d A_j}\\right)^* + \\Delta S_{mb}^*\\frac{d S_{mb}}{d A_j^*}= -2\\cdot\\Re\\left(\\sum\\limits_{b, C}\\Delta S_{mb}\\left(\\frac{d S_{mb}^C}{d A_j}\\right)^*\\right)$\n", "\n", "\n", "$\\frac{d S_{mb}^C}{d A_j} = -i\\cdot\\sum\\limits_k dt \\cdot E_{mk} \\cdot e^{-i t_k\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bk}}\\cdot\\left(-i\\cdot \\rho_{bk}^C\\cdot \\frac{d \\phi_{bk}}{d A_j} + \\frac{d\\rho_{bk}^C}{d A_j} \\right)$ \n", "\n", "For the derivatives of the inner funcition one gets:\n", "\n", "$\\frac{d \\rho_{bk}^C}{d A_j} = i\\cdot 2\\pi \\cdot \\delta_{kj} \\sum\\limits_q D_{bq}\\rho_q^C\\cdot e^{i\\cdot 2\\pi r_q\\cdot A_k}r_q$ \n", "\n", "The $\\delta_{kj}$ does not appear in the other derivative, a different one with different indices appears and gets rid of a different sum.\n", "\n", "$\\frac{d \\phi_{bk}}{d A_j} = \\begin{cases}\n", "dt \\cdot (k_b + A_j) & \\text{if } k \\le j \\le k_{max} \\\\\n", "0 & \\text{else}\n", "\\end{cases}$ \n", "\n", "Thus the sum over k survives in this term. The entire gradient reads:" ] }, { "cell_type": "markdown", "id": "c8bbdba2", "metadata": {}, "source": [ "$\\frac{d S_{mb}^C}{d A_j} = g_1 + g_2$\n", "\n", "$g_1 = -1\\cdot dt^2 \\cdot \\sum\\limits_k \\begin{cases}\n", "E_{mk} \\cdot e^{-i t_k\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bk}}\\cdot\\rho_{bk}^C\\cdot (k_b + A_j) & \\text{if } k \\le j \\le k_{max} \\\\\n", "0 & \\text{else}\n", "\\end{cases}$ \n", "\n", "$g_2 = 2\\pi dt \\cdot E_{mj} \\cdot e^{-i t_j\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bj}}\\cdot \\left(\\sum\\limits_q D_{bq}\\rho_q^C \\cdot r_q\\cdot e^{i\\cdot 2\\pi r_q\\cdot A_j}\\right)$ \n" ] }, { "cell_type": "markdown", "id": "6816eab2", "metadata": {}, "source": [ "### With respect to the attosecond pulse in frequency domain $\\left(E_n\\right)$ \n", "\n", "$\\nabla_{n}Z_m = -2\\sum\\limits_b \\Delta S_{mb} \\left(\\frac{d S_{mb}}{d E_n}\\right)^* = -2\\sum\\limits_{b,C}\\Delta S_{mb} \\left(\\frac{d S_{mb}^C}{d E_n}\\right)^*$\n", "\n", "$\\frac{d S_{mb}^C}{d E_n} = -i \\cdot dt\\cdot e^{-i\\omega_n\\tau_m}\\cdot \\sum\\limits_k D_{kn}\\cdot \\rho_{bk}^C \\cdot e^{-i t_k\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)}\\cdot e^{-i\\phi_{bk}}$ " ] }, { "cell_type": "markdown", "id": "8245d066", "metadata": {}, "source": [ "### With respect to the dipole transition matrix element in momentum domain ($\\rho_b^C$) \n", "\n", "Here one wants the gradient with respect to the DTME of each channel. \n", "\n", "$\\nabla_{b}Z_m = FFT_{bq} \\left(\\nabla_{q}Z_m\\right)$\n", "\n", "$\\nabla_{q'}^{C'}Z_m = -2\\sum\\limits_{b,C} \\Delta S_{mb} \\left(\\frac{d S_{mb}^C}{d \\rho_{q'}^{C'}}\\right)^*$ \n", "\n", "$\\frac{d S_{mb}^C}{d \\rho_{q'}^{C'}} = -i \\delta_{CC'}\\delta_{qq'}\\cdot dt \\cdot D_{bq}\\cdot \\sum\\limits_k E_{mk} \\cdot e^{-i t_k\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)}\\cdot e^{-i\\phi_{bk}} \\cdot e^{i\\cdot 2\\pi r_q A_k}$ \n", "\n" ] }, { "cell_type": "markdown", "id": "2dd91862", "metadata": {}, "source": [ "## Z-Pseudo-Hessian " ] }, { "cell_type": "markdown", "id": "d5eec26c", "metadata": {}, "source": [ "### With respect to the real-part of vectorpotential in frequency domain ($A_n$) \n", "\n", "$U_{zz} = \\sum\\limits_b \\Re\\left\\{\\left(\\frac{d S_{mb}}{d A_{n'}}\\right)^*\\cdot\\frac{d S_{mb}}{d A_n}\\right\\}$ \n", "\n", "$\\frac{d S_{mb}}{d A_n} = FT_{nj}\\left\\{\\frac{d S_{mb}}{d A_j}\\right\\}$\n", "\n", "$V_{zz} = \\sum\\limits_b \\Re\\left\\{\\frac{d}{d A_n}\\left(\\frac{dS_{mb}}{d A_{n'}}\\right)^*\\cdot \\Delta S_{mb}\\right\\} = \\sum\\limits_b \\Re\\left\\{\\left(\\frac{d}{d A_n}\\frac{dS_{mb}}{d A_{n'}}\\right)^*\\cdot \\Delta S_{mb}\\right\\} = \\sum\\limits_b \\Re\\left\\{\\left( D_{jn} D_{j'n'} \\frac{d}{d A_j}\\frac{dS_{mb}}{d A_{j'}}\\right)^*\\cdot \\Delta S_{mb}\\right\\}$ \n", "\n", "Writing the full hessian out isnt fun. So i wont. \n", "\n", "$\\frac{d S_{mb}}{d A_j} = -i\\cdot dt \\sum\\limits_{Ck} E_{mk}\\cdot e^{-i t_k\\cdot\\left(IP^C+\\frac{k_b^2}{2}\\right)}\\cdot \\frac{d}{dA_j}\\left(\\rho_{bk}^C\\cdot e^{-i\\phi_{bk}}\\right)$ \n", "\n", "$\\frac{d}{dA_j}\\left(\\rho_{bk}^C\\cdot e^{-i\\phi_{bk}}\\right) = e^{-i\\phi_{bk}}\\cdot\\left(-i\\cdot\\rho_{bk}^C\\cdot\\frac{d\\phi_{bk}}{dA_j} + \\frac{d\\rho_{bk}^C}{dA_j}\\right)$ \n", "\n", "$\\frac{d}{dA_{j'}}\\frac{d S_{mb}}{d A_j} = -i\\cdot dt \\sum\\limits_{Ck} E_{mk}\\cdot e^{-i t_k\\cdot\\left(IP^C+\\frac{k_b^2}{2}\\right)}\\cdot \\frac{d}{dA_{j'}}\\frac{d}{dA_j}\\left(\\rho_{bk}^C\\cdot e^{-i\\phi_{bk}}\\right)$ \n", "\n", "Below are the critial derivatives.\n", "\n", "$\\frac{d}{dA_{j'}}\\frac{d}{dA_j}\\left(\\rho_{bk}^C\\cdot e^{-i\\phi_{bk}}\\right) =-i e^{-i\\phi_{bk}}\\cdot\\left(\\rho_{bk}^C\\cdot\\left(\\frac{d}{dA_{j'}}\\frac{d\\phi_{bk}}{dA_j} -i\\frac{d\\phi_{bk}}{dA_{j'}}\\frac{d\\phi_{bk}}{dA_j}\\right) + \\frac{d\\phi_{bk}}{dA_{j'}}\\frac{d\\rho_{bk}^C}{dA_j}+\\frac{d\\rho_{bk}^C}{dA_{j'}}\\frac{d\\phi_{bk}}{dA_j}+i\\frac{d}{dA_{j'}}\\frac{d\\rho_{bk}^C}{dA_j}\\right)$ \n", "\n", "$\\frac{d \\phi_{bk}}{d A_j} = \\begin{cases}\n", "dt \\cdot (k_b + A_j) & \\text{if } k \\le j \\le k_{max} \\\\\n", "0 & \\text{else}\n", "\\end{cases}$ \n", "\n", "$\\frac{d \\rho_{bk}^C}{d A_j} = i\\cdot 2\\pi \\cdot \\delta_{kj} \\sum\\limits_q D_{bq}\\rho_q^C\\cdot e^{i\\cdot 2\\pi r_q\\cdot A_k}r_q$ \n", "\n", "$\\frac{d}{dA_{j'}}\\frac{d \\phi_{bk}}{d A_j} = \\begin{cases}\n", "dt^2\\delta_{jj'} & \\text{if } k \\le j \\le k_{max} \\\\\n", "0 & \\text{else}\n", "\\end{cases}$ \n", "\n", "$\\frac{d}{dA_{j'}}\\frac{d \\rho_{bk}^C}{d A_j} = -1\\cdot 4\\pi^2 \\cdot \\delta_{kj}\\delta_{kj'} \\sum\\limits_q D_{bq}\\rho_q^C\\cdot e^{i\\cdot 2\\pi r_q\\cdot A_k}\\cdot r_q^2$ " ] }, { "cell_type": "markdown", "id": "1271a851", "metadata": {}, "source": [ "### With respect to EUV-Pulse in frequency domain ($E_n$) \n", "\n", "$\\frac{d S_{mb}}{d E_n} = -i\\cdot e^{-i\\tau_m\\omega_n} \\cdot \\sum\\limits_{Ck} D_{kn}\\cdot dt\\cdot \\rho_{bk}^C \\cdot e^{-i t_k\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bk}}$ \n", "\n", "$\\frac{d S_{mb}}{d E_n^*} = 0$ \n", "\n", "$U_{zz} = \\frac{dt^2}{2} \\cdot e^{i\\tau_m\\omega_n}\\cdot e^{-i\\tau_m\\omega_p}\\sum\\limits_b \\left(\\left(\\sum\\limits_{Ck}D_{kn}\\cdot \\rho_{bk}^C \\cdot e^{-i t_k\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bk}}\\right)^*\\cdot\\left(\\sum\\limits_{C'j}D_{jp}\\cdot \\rho_{bj}^{C'} \\cdot e^{-i t_j\\cdot \\left(IP^{C'} + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bj}}\\right)\\right)$\n", "\n", "$V_{zz} = 0$" ] }, { "cell_type": "markdown", "id": "5338f73c", "metadata": {}, "source": [ "### With respect to the dipole transition matrix element in momentum domain ($\\rho_b^C$) \n", "\n", "$a$ is used as an additional index for momentum, because $b$ and $b'$ are also already used here.\n", "\n", "$\\frac{d S_{mb}^C}{d \\rho_{b'}^{C'}} = -i\\cdot dt\\cdot\\sum\\limits_{k} D_{kn}\\cdot E_{mk} \\cdot e^{-i t_k\\cdot \\left(IP^{C} + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bk}} \\cdot \\frac{d\\rho_{bk}^{C}}{d\\rho_{b'}^{C'}}$ \n", "\n", "$\\frac{d\\rho_{bk}^{C}}{d\\rho_{b'}^{C'}} = \\delta_{CC'}\\sum\\limits_q D_{b'q}D_{qb}e^{i\\cdot 2\\pi r_q A_k}$\n", "\n", "$\\frac{d S_{mb}}{d E_n^*} = 0$ \n", "\n", "$U_{zz} = \\frac{dt^2}{2}\\sum\\limits_b \\left(\\left(\\sum\\limits_{k}D_{kn}\\cdot E_{mk} \\cdot e^{-i t_k\\cdot \\left(IP^C + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bk}} \\cdot\\frac{d\\rho_{bk}^{C}}{d\\rho_{b'}^{C}}\\right)^*\\cdot\\left(\\sum\\limits_{j}D_{jp}\\cdot E_{mj} \\cdot e^{-i t_j\\cdot \\left(IP^{C} + \\frac{k_b^2}{2}\\right)} \\cdot e^{-i\\phi_{bj}}\\cdot\\frac{d\\rho_{bj}^{C}}{d\\rho_{a}^{C}}\\right)\\right)$ \n", "\n", "\n", "$V_{zz} = 0$" ] }, { "cell_type": "markdown", "id": "02df70c4", "metadata": {}, "source": [ "## PIE Gradient \n", "\n", "TODO \n", "\n", "One could use a FROG-CRAB approach and decompose the DTME/Vectorpotential part into its components each iteration and update via usage of the SFA." ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 5 }