diff --git a/notebooks/gto_integrals.ipynb b/notebooks/gto_integrals.ipynb index a624bb8..d533d4d 100644 --- a/notebooks/gto_integrals.ipynb +++ b/notebooks/gto_integrals.ipynb @@ -50,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -59,7 +59,7 @@ "5" ] }, - "execution_count": 1, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -87,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -96,7 +96,7 @@ "15" ] }, - "execution_count": 2, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -472,27 +472,183 @@ "$$\n", "\\tag{23}\n", "(x_c + c_a)^i (x_c + c_b)^j = \n", - "\\sum_{s = 0}^{i+j} x^s \n", + "\\sum_{s = 0}^{i+j} x_c^s \n", "\\sum_{\\substack{t=0 \\\\ s - i \\le t \\le j}}^s \n", "\\binom{i}{s-t} \\binom{j}{t} c_a^{i-(s-t)} c_b^{j-t},\n", "$$\n", "Finally we can write this series as:\n", "$$\n", "\\tag{24}\n", - "(x_c + c_a)^i (x_c + c_b)^j = \\sum_{s = 0}^{i+j} B(i, j, c_a, c_b, s) x^s,\n", + "(x_c + c_a)^i (x_c + c_b)^j = \\sum_{s = 0}^{i+j} B(i, j, c_a, c_b, s) x_c^s,\n", "$$\n", "where we introduce $B(i, j, c_a, c_b, s)$ as the coefficient of $x^s$ in the expansion:\n", "$$\n", "\\tag{25}\n", "B(i, j, c_a, c_b, s) = \\sum_{\\substack{t=0 \\\\ s - i \\le t \\le j}}^s \\binom{i}{s-t} \\binom{j}{t} c_a^{i - (s - t)} c_b^{j-t}\n", "$$\n", - "An evaluation strategy for this variable-sized loop is explored in an accompanying [notebook](./binom_factor_table.ipynb)." + "An evaluation strategy for this variable-sized loop is explored in an accompanying [notebook](./binom_factor_table.ipynb).\n", + "\n", + "Combining this result with the one we derived earlier for the product of two\n", + "Gaussian functions Equation 16 gives us:\n", + "$$\n", + "\\tag{26}\n", + "\\tilde{S}_{\\mu \\nu}^{(x)} = \\int_{-\\infty}^\\infty \n", + "\\left(x_A^{l_\\mu} e^{-\\alpha_\\mu x_A^2} \\right)\n", + "\\left(x_B^{l_\\nu} e^{-\\alpha_\\nu x_B^2} \\right) dx = \\\\\n", + "\\int_{-\\infty}^\\infty \n", + " e^{-\\alpha_\\mu \\alpha_\\nu (X_A - X_B)^2 / \\gamma} e^{-\\gamma x_C^2}\n", + "\\sum_{s=0}^{l_\\mu+ l_\\nu} B(l_\\mu, l_\\nu, C_A, C_B, s) x_C^s dx\n", + "$$\n", + "Swapping the order of integration and the summation we see that we need to evaluate\n", + "integrals of the form:\n", + "$$\n", + "\\int_{-\\infty}^\\infty t^s e^{-a t^2} dt\n", + "$$\n", + "This has a known analytic solution that we can evaluate using SymPy:" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/latex": [ + "$\\displaystyle \\int\\limits_{-\\infty}^{\\infty} t^{s} e^{- a t^{2}}\\, dt$" + ], + "text/plain": [ + "∞ \n", + "⌠ \n", + "⎮ 2 \n", + "⎮ s -a⋅t \n", + "⎮ t ⋅ℯ dt\n", + "⌡ \n", + "-∞ " + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s = symbols(\"s\", nonnegative=True, integer=True)\n", + "a = symbols(\"a\", positive=True, real=True)\n", + "t = symbols(\"t\", real=True)\n", + "\n", + "gint = Integral(t ** s* exp(-a * t**2), (t, -oo, oo))\n", + "gint" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/latex": [ + "$\\displaystyle \\frac{\\left(-1\\right)^{s} a^{- \\frac{s}{2}} \\Gamma\\left(\\frac{s}{2} + \\frac{1}{2}\\right)}{2 \\sqrt{a}} + \\frac{a^{- \\frac{s}{2}} \\Gamma\\left(\\frac{s}{2} + \\frac{1}{2}\\right)}{2 \\sqrt{a}}$" + ], + "text/plain": [ + " -s -s \n", + " ─── ─── \n", + " s 2 ⎛s 1⎞ 2 ⎛s 1⎞\n", + "(-1) ⋅a ⋅Γ⎜─ + ─⎟ a ⋅Γ⎜─ + ─⎟\n", + " ⎝2 2⎠ ⎝2 2⎠\n", + "─────────────────── + ─────────────\n", + " 2⋅√a 2⋅√a " + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expand(gint.doit())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Written this way we can observe that whenever $s$ is odd, the integral will be zero." + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAABJ0AAASdAHeZh94AAABEElEQVR4nJXSsUqcURCG4cfFKosYCKRSECR6BzFgJcLiTdiLQsA6xTCCrYVibiAXkNjapFK8A90Vwc5KVMSUroVn5fjrBp3mg5l5Z4ZzvpF+v++9MdpMZOYENrCET7jAH2REXMFIvSkzp3GIz9jDCb5iAV3MR8Rlc9PPAnyPiJ1q2BbWsYmVVmNLB+fYbQwL3GE5M9utqrBQdD8i7p8REbc4wAd8q6HZor3m45Q4LTpTQ+NFb4ZAg/zH1pCG/0YNDSaNv9ZY5a9rqFt0Zgj0pWivhv4W7WTms7Mzcwzz+Iejp2JEnGEfU1hrbEm08Ssi7pqOWPVoo+3MXMQx5jz+YQ8/aHivnDLppWF/G2bYt8YDKpZR3A7SAGIAAAAASUVORK5CYII=", + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v = symbols(\"v\", nonnegative=True, integer=True, odd=True)\n", + "gint.subs(s, v).doit()" ] }, { "cell_type": "markdown", "metadata": {}, - "source": [] + "source": [ + "when $s$ is even we have:" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/latex": [ + "$\\displaystyle a^{- s - \\frac{1}{2}} \\Gamma\\left(s + \\frac{1}{2}\\right)$" + ], + "text/plain": [ + " -s - 1/2 \n", + "a ⋅Γ(s + 1/2)" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "simplify(gint.subs(s, 2*s).doit())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using this result allows us to write the one-dimensional overlap integral as:\n", + "$$\n", + "\\tilde{S}_{\\mu \\nu}^{(x)} = \n", + "e^{-\\alpha_\\mu \\alpha_\\nu (X_A - X_B)^2 / \\gamma}\n", + "\\sum_{s=0}^{\\lfloor(i+j)/2 \\rfloor} B(l_\\mu, l_\\nu, C_A, C_B, 2s)\n", + "\\int_{-\\infty}^\\infty \n", + "x_C^{2s} e^{-\\gamma x_C^2} dx\n", + "$$" + ] } ], "metadata": {