{ "metadata": { "name": "Spectral Weight Gaussian Oscillator" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Spectral Weight of a Gaussian oscillator" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given a Gaussian oscillator of the form:\n", "\n", "$$\\epsilon_2 = A\\left[e^{-4\\ln(2)\\left(\\frac{\\omega-\\omega_0}{\\sigma}\\right)^2} - e^{-4\\ln(2)\\left(\\frac{\\omega+\\omega_0}{\\sigma}\\right)^2}\\right]$$\n", "\n", "as defined in [1] so that $\\epsilon(\\omega)$ is Kramers-Kronig consistent by calculating $\\epsilon_1$ with a KK analysis, we want to obtain the spectral weight of such an oscillator. The spectral weight is given by\n", "\n", "$$SW_{G} = \\int\\limits_0^{\\infty}\\sigma_1(\\omega) d\\omega = \\int\\limits_0^{\\infty}\\omega\\epsilon_0\\epsilon_2(\\omega) d\\omega $$ where $\\sigma_1$ is the real part of the optical conductivity and $\\epsilon_2$ is the imaginary part of the dielectric function." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Preliminaries" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Computational Preliminaries" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sympy import *\n", "init_printing()\n", "omega = symbols('omega')\n", "A, sigma, omega_0 = symbols('A sigma omega_0', real = True, positive = True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Calculus Preliminaries" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, to get familiar with the integrals, the strategy will be to calculate $\\int\\limits_0^{\\infty}Ae^{-C\\left(\\frac{\\omega\\mp\\omega_0}{\\sigma}\\right)^2}$ with $C = 4\\ln(2)$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "C = symbols('C', real = True, positive = True)\n", "I_m = Integral(A*exp(-C*((omega-omega_0)/sigma)**2), (omega, 0, oo))\n", "I_p = Integral(A*exp(-C*((omega+omega_0)/sigma)**2), (omega, 0, oo))\n", "I_m-I_p" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\int_{0}^{\\infty} A e^{- \\frac{C}{\\sigma^{2}} \\left(\\omega - \\omega_{0}\\right)^{2}}\\, d\\omega - \\int_{0}^{\\infty} A e^{- \\frac{C}{\\sigma^{2}} \\left(\\omega + \\omega_{0}\\right)^{2}}\\, d\\omega$$" ], "output_type": "pyout", "prompt_number": 2, "text": [ "\u221e \u221e \n", "\u2320 \u2320 \n", "\u23ae 2 \u23ae 2 \n", "\u23ae -C\u22c5(\u03c9 - \u03c9\u2080) \u23ae -C\u22c5(\u03c9 + \u03c9\u2080) \n", "\u23ae \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23ae \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n", "\u23ae 2 \u23ae 2 \n", "\u23ae \u03c3 \u23ae \u03c3 \n", "\u23ae A\u22c5\u212f d\u03c9 - \u23ae A\u22c5\u212f d\u03c9\n", "\u2321 \u2321 \n", "0 0 " ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Performing a change of variables $x = \\frac{\\omega\\mp\\omega_0}{\\sigma}$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x = symbols('x')\n", "I_m = I_m.transform((omega-omega_0)/sigma, x)\n", "I_p = I_p.transform((omega+omega_0)/sigma, x)\n", "I_m-I_p" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\int_{- \\frac{\\omega_{0}}{\\sigma}}^{\\frac{1}{\\sigma} \\left(- \\omega_{0} + \\infty\\right)} A \\sigma e^{- C x^{2}}\\, dx - \\int_{\\frac{\\omega_{0}}{\\sigma}}^{\\infty} A \\sigma e^{- C x^{2}}\\, dx$$" ], "output_type": "pyout", "prompt_number": 3, "text": [ "-\u03c9\u2080 + \u221e \n", "\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n", " \u03c3 \u221e \n", " \u2320 \u2320 \n", " \u23ae 2 \u23ae 2 \n", " \u23ae -C\u22c5x \u23ae -C\u22c5x \n", " \u23ae A\u22c5\u03c3\u22c5\u212f dx - \u23ae A\u22c5\u03c3\u22c5\u212f dx\n", " \u2321 \u2321 \n", " -\u03c9\u2080 \u03c9\u2080 \n", " \u2500\u2500\u2500\u2500 \u2500\u2500 \n", " \u03c3 \u03c3 " ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The area of integration gets reduced to the interval $[-\\frac{\\omega_0}{\\sigma}, \\frac{\\omega_0}{\\sigma}]$. And exploiting the even integrand, it ends like" ] }, { "cell_type": "code", "collapsed": false, "input": [ "2*A*sigma*Integral(exp(-C*x**2), (x, 0, omega_0/sigma))" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$2 A \\sigma \\int_{0}^{\\frac{\\omega_{0}}{\\sigma}} e^{- C x^{2}}\\, dx$$" ], "output_type": "pyout", "prompt_number": 4, "text": [ " \u03c9\u2080 \n", " \u2500\u2500 \n", " \u03c3 \n", " \u2320 \n", " \u23ae 2 \n", " \u23ae -C\u22c5x \n", "2\u22c5A\u22c5\u03c3\u22c5\u23ae \u212f dx\n", " \u2321 \n", " 0 " ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Performing the integral" ] }, { "cell_type": "code", "collapsed": false, "input": [ "_.doit()" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\frac{A \\sigma}{\\sqrt{C}} \\sqrt{\\pi} \\operatorname{erf}{\\left (\\frac{\\sqrt{C} \\omega_{0}}{\\sigma} \\right )}$$" ], "output_type": "pyout", "prompt_number": 5, "text": [ " \u239b ___ \u239e\n", " ___ \u239c\u2572\u2571 C \u22c5\u03c9\u2080\u239f\n", "\u2572\u2571 \u03c0 \u22c5A\u22c5\u03c3\u22c5erf\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f\n", " \u239d \u03c3 \u23a0\n", "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", " ___ \n", " \u2572\u2571 C " ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Obtaining the Spectral Weight" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, performing the real integral for the Gaussian spectral weight. Again splitting the integral in two pieces with $C = 4\\ln(2)$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "epsilon_0 = symbols('epsilon_0', real = True, positive = True)\n", "NumCoeff = A*epsilon_0*sigma\n", "SW_m = Integral(NumCoeff*exp(-C*((omega-omega_0)/sigma)**2), (omega, 0, oo))\n", "SW_p = Integral(NumCoeff*exp(-C*((omega+omega_0)/sigma)**2), (omega, 0, oo))\n", "SW_m-SW_p" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\int_{0}^{\\infty} A \\epsilon_{0} \\sigma e^{- \\frac{C}{\\sigma^{2}} \\left(\\omega - \\omega_{0}\\right)^{2}}\\, d\\omega - \\int_{0}^{\\infty} A \\epsilon_{0} \\sigma e^{- \\frac{C}{\\sigma^{2}} \\left(\\omega + \\omega_{0}\\right)^{2}}\\, d\\omega$$" ], "output_type": "pyout", "prompt_number": 6, "text": [ "\u221e \u221e \n", "\u2320 \u2320 \n", "\u23ae 2 \u23ae 2 \n", "\u23ae -C\u22c5(\u03c9 - \u03c9\u2080) \u23ae -C\u22c5(\u03c9 + \u03c9\u2080) \n", "\u23ae \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u23ae \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n", "\u23ae 2 \u23ae 2 \n", "\u23ae \u03c3 \u23ae \u03c3 \n", "\u23ae A\u22c5\u03b5\u2080\u22c5\u03c3\u22c5\u212f d\u03c9 - \u23ae A\u22c5\u03b5\u2080\u22c5\u03c3\u22c5\u212f d\u03c9\n", "\u2321 \u2321 \n", "0 0 " ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Performing the same change of variables as before $x = \\frac{\\omega\\mp\\omega_0}{\\sigma}$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "SW_m = SW_m.transform((omega-omega_0)/sigma, x)\n", "SW_p = SW_p.transform((omega+omega_0)/sigma, x)\n", "SW_m-SW_p" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\int_{- \\frac{\\omega_{0}}{\\sigma}}^{\\frac{1}{\\sigma} \\left(- \\omega_{0} + \\infty\\right)} A \\epsilon_{0} \\sigma^{2} e^{- C x^{2}}\\, dx - \\int_{\\frac{\\omega_{0}}{\\sigma}}^{\\infty} A \\epsilon_{0} \\sigma^{2} e^{- C x^{2}}\\, dx$$" ], "output_type": "pyout", "prompt_number": 7, "text": [ "-\u03c9\u2080 + \u221e \n", "\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n", " \u03c3 \u221e \n", " \u2320 \u2320 \n", " \u23ae 2 \u23ae 2 \n", " \u23ae 2 -C\u22c5x \u23ae 2 -C\u22c5x \n", " \u23ae A\u22c5\u03b5\u2080\u22c5\u03c3 \u22c5\u212f dx - \u23ae A\u22c5\u03b5\u2080\u22c5\u03c3 \u22c5\u212f dx\n", " \u2321 \u2321 \n", " -\u03c9\u2080 \u03c9\u2080 \n", " \u2500\u2500\u2500\u2500 \u2500\u2500 \n", " \u03c3 \u03c3 " ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the term linear in $x$ (odd), the interval of integration is again $[-\\frac{\\omega_0}{\\sigma}, \\frac{\\omega_0}{\\sigma}]$, which renders the integral to $0$. Reordering the rest of the integrals and keeping the leading $A\\epsilon_0\\sigma$ coefficient out." ] }, { "cell_type": "code", "collapsed": false, "input": [ "SW_1 = Integral(omega_0*exp(-C*x**2), (x, -omega_0/sigma, oo))\n", "SW_2 = Integral(omega_0*exp(-C*x**2), (x, omega_0/sigma, oo))\n", "SW = SW_1 + SW_2\n", "SW" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\int_{- \\frac{\\omega_{0}}{\\sigma}}^{\\infty} \\omega_{0} e^{- C x^{2}}\\, dx + \\int_{\\frac{\\omega_{0}}{\\sigma}}^{\\infty} \\omega_{0} e^{- C x^{2}}\\, dx$$" ], "output_type": "pyout", "prompt_number": 8, "text": [ " \u221e \u221e \n", " \u2320 \u2320 \n", " \u23ae 2 \u23ae 2 \n", " \u23ae -C\u22c5x \u23ae -C\u22c5x \n", " \u23ae \u03c9\u2080\u22c5\u212f dx + \u23ae \u03c9\u2080\u22c5\u212f dx\n", " \u2321 \u2321 \n", "-\u03c9\u2080 \u03c9\u2080 \n", "\u2500\u2500\u2500\u2500 \u2500\u2500 \n", " \u03c3 \u03c3 " ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the same integral with overlapping intervals. Once in the range $[-\\frac{\\omega_0}{\\sigma}, \\frac{\\omega_0}{\\sigma}]$ and twice in the range $[\\frac{\\omega_0}{\\sigma}, \\infty]$. Absorbing $\\omega_0$ to the numerical prefactor and leaving it out for clarity." ] }, { "cell_type": "code", "collapsed": false, "input": [ "NumCoeff *= omega_0\n", "SW_1 = Integral(exp(-C*x**2), (x, -omega_0/sigma, omega_0/sigma))\n", "SW_2 = Integral(exp(-C*x**2), (x, omega_0/sigma, oo))\n", "SW = SW_1 + 2*SW_2\n", "SW" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\int_{- \\frac{\\omega_{0}}{\\sigma}}^{\\frac{\\omega_{0}}{\\sigma}} e^{- C x^{2}}\\, dx + 2 \\int_{\\frac{\\omega_{0}}{\\sigma}}^{\\infty} e^{- C x^{2}}\\, dx$$" ], "output_type": "pyout", "prompt_number": 9, "text": [ " \u03c9\u2080 \n", " \u2500\u2500 \n", " \u03c3 \u221e \n", " \u2320 \u2320 \n", " \u23ae 2 \u23ae 2 \n", " \u23ae -C\u22c5x \u23ae -C\u22c5x \n", " \u23ae \u212f dx + 2\u22c5\u23ae \u212f dx\n", " \u2321 \u2321 \n", "-\u03c9\u2080 \u03c9\u2080 \n", "\u2500\u2500\u2500\u2500 \u2500\u2500 \n", " \u03c3 \u03c3 " ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first integral is already known from the preparatory calculations, but we recalculate it again here. This give us a closed form for the spectral weight of a Gaussian oscillator." ] }, { "cell_type": "code", "collapsed": false, "input": [ "SW = SW.subs(C, 4*ln(2))\n", "result = SW.doit().simplify()\n", "result *= NumCoeff \n", "result" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\frac{\\sqrt{\\pi} A \\epsilon_{0} \\omega_{0} \\sigma}{2 \\sqrt{\\log{\\left (2 \\right )}}}$$" ], "output_type": "pyout", "prompt_number": 10, "text": [ " ___ \n", "\u2572\u2571 \u03c0 \u22c5A\u22c5\u03b5\u2080\u22c5\u03c9\u2080\u22c5\u03c3\n", "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n", " ________ \n", " 2\u22c5\u2572\u2571 log(2) " ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Reference" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[1] De Sousa Meneses, D., Malki, M., & Echegut, P. (2006). Structure and lattice dynamics of binary lead silicate glasses investigated by infrared spectroscopy. Journal of Non-Crystalline Solids, 352(8), 769\u2013776. doi:10.1016/j.jnoncrysol.2006.02.004" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Attribution and License" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Produced by Ignacio Vergara Kausel vergara at ph2.uni-koeln.de\n", "\n", "Available at [https://github.com/ivergara/science_notebooks](https://github.com/ivergara/science_notebooks)\n", "\n", "Licensed under GPL3" ] } ], "metadata": {} } ] }