ktongue's picture
download
raw
24.5 kB
{
"metadata": {
"name": "Code generation"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"%pylab inline\n",
"from sympy.interactive import init_printing\n",
"init_printing()\n",
"from sympy import pi, var, S\n",
"from sympy.utilities.codegen import codegen"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
"For more information, type 'help(pylab)'.\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following code is taken from the article:\n",
"\n",
"\u010cert\u00edk, O., Winkler, P. (2013). Computation of screened two-electron matrix elements. International Journal of Quantum Chemistry. doi:10.1002/qua.24431"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sympy import var, legendre, Integral, \\\n",
" exp, latex\n",
"var(\"l R alpha t\")\n",
"f = (2*l+1) / (2*t) * Integral(legendre(l, \\\n",
" (1-R**2+t**2) / (2*t)) * \\\n",
" exp(-alpha*R), (R, 1-t, 1+t))\n",
"for _l in range(3):\n",
" expr = f.subs(l, _l).doit().simplify( ) \\\n",
" / exp(-alpha)\n",
" expr = expr.series(alpha, 0, 14)\n",
" print \" s_%d =\" % _l, latex(expr)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" s_0 = 1 + \\frac{1}{6} \\alpha^{2} t^{2} + \\frac{1}{120} \\alpha^{4} t^{4} + \\frac{1}{5040} \\alpha^{6} t^{6} + \\frac{1}{362880} \\alpha^{8} t^{8} + \\frac{1}{39916800} \\alpha^{10} t^{10} + \\frac{1}{6227020800} \\alpha^{12} t^{12} + \\mathcal{O}\\left(\\alpha^{14}\\right)\n",
" s_1 ="
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" t + \\alpha t + \\frac{1}{10} \\alpha^{2} t^{3} + \\frac{1}{10} \\alpha^{3} t^{3} + \\frac{1}{280} \\alpha^{4} t^{5} + \\frac{1}{280} \\alpha^{5} t^{5} + \\frac{1}{15120} \\alpha^{6} t^{7} + \\frac{1}{15120} \\alpha^{7} t^{7} + \\frac{1}{1330560} \\alpha^{8} t^{9} + \\frac{1}{1330560} \\alpha^{9} t^{9} + \\frac{1}{172972800} \\alpha^{10} t^{11} + \\frac{1}{172972800} \\alpha^{11} t^{11} + \\frac{1}{31135104000} \\alpha^{12} t^{13} + \\frac{1}{31135104000} \\alpha^{13} t^{13} + \\mathcal{O}\\left(\\alpha^{14}\\right)\n",
" s_2 ="
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" t^{2} + \\alpha t^{2} + \\alpha^{2} \\left(\\frac{1}{14} t^{4} + \\frac{1}{3} t^{2}\\right) + \\frac{1}{14} \\alpha^{3} t^{4} + \\alpha^{4} \\left(\\frac{1}{504} t^{6} + \\frac{1}{42} t^{4}\\right) + \\frac{1}{504} \\alpha^{5} t^{6} + \\alpha^{6} \\left(\\frac{1}{33264} t^{8} + \\frac{1}{1512} t^{6}\\right) + \\frac{1}{33264} \\alpha^{7} t^{8} + \\alpha^{8} \\left(\\frac{1}{3459456} t^{10} + \\frac{1}{99792} t^{8}\\right) + \\frac{1}{3459456} \\alpha^{9} t^{10} + \\alpha^{10} \\left(\\frac{1}{518918400} t^{12} + \\frac{1}{10378368} t^{10}\\right) + \\frac{1}{518918400} \\alpha^{11} t^{12} + \\alpha^{12} \\left(\\frac{1}{105859353600} t^{14} + \\frac{1}{1556755200} t^{12}\\right) + \\frac{1}{105859353600} \\alpha^{13} t^{14} + \\mathcal{O}\\left(\\alpha^{14}\\right)\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"f"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{\\left(2 l + 1\\right) \\int_{- t + 1}^{t + 1} e^{- R \\alpha} P_{l}\\left(\\frac{- R^{2} + t^{2} + 1}{2 t}\\right)\\, dR}{2 t}$$"
],
"output_type": "pyout",
"png": "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\nYII=\n",
"prompt_number": 3,
"text": [
" t + 1 \n",
" \u2320 \n",
" \u23ae \u239b 2 2 \u239e \n",
" \u23ae -R\u22c5\u03b1 \u239c - R + t + 1\u239f \n",
"(2\u22c5l + 1)\u22c5 \u23ae \u212f \u22c5legendre\u239cl, \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f dR\n",
" \u23ae \u239d 2\u22c5t \u23a0 \n",
" \u2321 \n",
" -t + 1 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 2\u22c5t "
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"expr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$t^{2} + \\alpha t^{2} + \\alpha^{2} \\left(\\frac{1}{14} t^{4} + \\frac{1}{3} t^{2}\\right) + \\frac{1}{14} \\alpha^{3} t^{4} + \\alpha^{4} \\left(\\frac{1}{504} t^{6} + \\frac{1}{42} t^{4}\\right) + \\frac{1}{504} \\alpha^{5} t^{6} + \\alpha^{6} \\left(\\frac{1}{33264} t^{8} + \\frac{1}{1512} t^{6}\\right) + \\frac{1}{33264} \\alpha^{7} t^{8} + \\alpha^{8} \\left(\\frac{1}{3459456} t^{10} + \\frac{1}{99792} t^{8}\\right) + \\frac{1}{3459456} \\alpha^{9} t^{10} + \\alpha^{10} \\left(\\frac{1}{518918400} t^{12} + \\frac{1}{10378368} t^{10}\\right) + \\frac{1}{518918400} \\alpha^{11} t^{12} + \\alpha^{12} \\left(\\frac{1}{105859353600} t^{14} + \\frac{1}{1556755200} t^{12}\\right) + \\frac{1}{105859353600} \\alpha^{13} t^{14} + \\mathcal{O}\\left(\\alpha^{14}\\right)$$"
],
"output_type": "pyout",
"png": "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\n",
"prompt_number": 4,
"text": [
" \u239b 4 2\u239e 3 4 \u239b 6 4\u239e 5 6 \u239b 8 6 \u239e \n",
" 2 2 2 \u239ct t \u239f \u03b1 \u22c5t 4 \u239c t t \u239f \u03b1 \u22c5t 6 \u239c t t \u239f \n",
"t + \u03b1\u22c5t + \u03b1 \u22c5\u239c\u2500\u2500 + \u2500\u2500\u239f + \u2500\u2500\u2500\u2500\u2500 + \u03b1 \u22c5\u239c\u2500\u2500\u2500 + \u2500\u2500\u239f + \u2500\u2500\u2500\u2500\u2500 + \u03b1 \u22c5\u239c\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u239f +\n",
" \u239d14 3 \u23a0 14 \u239d504 42\u23a0 504 \u239d33264 1512\u23a0 \n",
"\n",
" 7 8 \u239b 10 8 \u239e 9 10 \u239b 12 10 \u239e 11 1\n",
" \u03b1 \u22c5t 8 \u239c t t \u239f \u03b1 \u22c5t 10 \u239c t t \u239f \u03b1 \u22c5t \n",
" \u2500\u2500\u2500\u2500\u2500 + \u03b1 \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u239f + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u03b1 \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 33264 \u239d3459456 99792\u23a0 3459456 \u239d518918400 10378368\u23a0 5189184\n",
"\n",
"2 \u239b 14 12 \u239e 13 14 \n",
" 12 \u239c t t \u239f \u03b1 \u22c5t \u239b 14\u239e\n",
"\u2500\u2500 + \u03b1 \u22c5\u239c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + O\u239d\u03b1 \u23a0\n",
"00 \u239d105859353600 1556755200\u23a0 105859353600 "
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"[(fname, fcode), (hfile, hcode)] = codegen((\"f\", expr), \"F95\", \"test\", header=False, empty=False)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fcode"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 6,
"text": [
" REAL*8 function f(alpha, t) \n",
" implicit none \n",
" REAL*8, intent(in) :: alpha \n",
" REAL*8, intent(in) :: t \n",
" REAL*8 :: O(alpha**14) \n",
"f = t**2 + alpha*t**2 + alpha**2*(t**4/14 + t**2/3) + alpha**3*t**4/14 + &\n",
" alpha**4*(t**6/504 + t**4/42) + alpha**5*t**6/504 + alpha**6*(t** & \n",
" 8/33264 + t**6/1512) + alpha**7*t**8/33264 + alpha**8*(t**10/ & \n",
" 3459456 + t**8/99792) + alpha**9*t**10/3459456 + alpha**10*(t**12 & \n",
" /518918400 + t**10/10378368) + alpha**11*t**12/518918400 + alpha & \n",
" **12*(t**14/105859353600 + t**12/1556755200) + alpha**13*t**14/ & \n",
" 105859353600 + O(alpha**14) \n",
" end function "
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
}
],
"metadata": {}
}
]
}

Xet Storage Details

Size:
24.5 kB
·
Xet hash:
3cefb4ddd579a006d09ed62d29e1e681b19bcecd4a41633b7d9970962021d976

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.