{ "cells": [ { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true, "run_control": { "frozen": false, "read_only": false } }, "source": [ "# Manipulating fermionic operators\n", "\n", "Before we see how to use a CTQMC impurity solver, it will be useful to learn about operators. Indeed, one of the\n", "inputs of the CTQMC solver is a Hamiltonian in operator form.\n", "\n", "## Fundamental operators\n", "\n", "After importing the operator module, the keyword `c_dag` and `c` allow to define a new fermionic\n", "operator. `c_dag` and `c` are followed by two indices. Inspired by the block structure of Green's functions,\n", "the first index is a block index, while the second is the index within the block. Here's an example\n", "of operators as they would be defined if we had two blocks *up* and *down* of size 1:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "deletable": true, "editable": true, "execution": { "iopub.execute_input": "2023-08-28T15:03:37.497752Z", "iopub.status.busy": "2023-08-28T15:03:37.497224Z", "iopub.status.idle": "2023-08-28T15:03:37.598380Z", "shell.execute_reply": "2023-08-28T15:03:37.598143Z" }, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1*c_dag('up',0)\n", "1*c('up',0)\n", "1*c_dag('down',0)\n", "1*c('down',0)\n" ] } ], "source": [ "from triqs.operators import c, c_dag, n, Operator # n and Operator will be needed later\n", "print(c_dag('up',0))\n", "print(c('up',0))\n", "print(c_dag('down',0))\n", "print(c('down',0))" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true, "run_control": { "frozen": false, "read_only": false } }, "source": [ "## Number operator\n", "\n", "The keyword `n` is defined as $C^\\dagger C$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "deletable": true, "editable": true, "execution": { "iopub.execute_input": "2023-08-28T15:03:37.614409Z", "iopub.status.busy": "2023-08-28T15:03:37.614286Z", "iopub.status.idle": "2023-08-28T15:03:37.616031Z", "shell.execute_reply": "2023-08-28T15:03:37.615781Z" }, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1*c_dag('up',0)*c('up',0)\n" ] } ], "source": [ "print(n('up',0))" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true, "run_control": { "frozen": false, "read_only": false } }, "source": [ "## Operations with operators\n", "\n", "Operators can be manipulated and anti-commutation relations will be used to simplify\n", "expressions" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "deletable": true, "editable": true, "execution": { "iopub.execute_input": "2023-08-28T15:03:37.617300Z", "iopub.status.busy": "2023-08-28T15:03:37.617231Z", "iopub.status.idle": "2023-08-28T15:03:37.619226Z", "shell.execute_reply": "2023-08-28T15:03:37.619005Z" }, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n" ] } ], "source": [ "# Should give 0\n", "print(n('up',0) - c_dag('up',0)*c('up',0))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "deletable": true, "editable": true, "execution": { "iopub.execute_input": "2023-08-28T15:03:37.620421Z", "iopub.status.busy": "2023-08-28T15:03:37.620338Z", "iopub.status.idle": "2023-08-28T15:03:37.621914Z", "shell.execute_reply": "2023-08-28T15:03:37.621723Z" }, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-1*c_dag('up',0)*c('up',0)\n" ] } ], "source": [ "# Some calculation\n", "print(n('up',0) - 2 * c_dag('up',0)*c('up',0))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "deletable": true, "editable": true, "execution": { "iopub.execute_input": "2023-08-28T15:03:37.623092Z", "iopub.status.busy": "2023-08-28T15:03:37.623016Z", "iopub.status.idle": "2023-08-28T15:03:37.624885Z", "shell.execute_reply": "2023-08-28T15:03:37.624690Z" }, "jupyter": { "outputs_hidden": false }, "run_control": { "frozen": false, "read_only": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-3*c_dag('down',0)*c('down',0) + -3*c_dag('up',0)*c('up',0) + 4*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0)\n" ] } ], "source": [ "# Define the parameters\n", "U = 4\n", "mu = 3\n", "\n", "# H is an empty operator\n", "H = Operator()\n", "\n", "# Add elements to define a Hamiltonian\n", "H += U * n('up',0) * n('down',0)\n", "H -= mu * (n('up',0) + n('down',0))\n", "print(H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exact Diagonalization\n", "\n", "For small system-sizes we can use `AtomDiag` provided by TRIQS to perform exact diagonalization on the Hamiltonian" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\u001b[0;31mSignature:\u001b[0m \u001b[0mAtomDiag\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mDocstring:\u001b[0m\n", "Lightweight exact diagonalization solver\n", "\n", "Use the QR algorithm to diagonalize the Hamiltonian.\n", "Auto-partitions the Hamiltonian into subspaces (blocks)\n", "such that all creation and annihilation operators map one\n", "subspace to exactly one other subspace.\n", "\n", "Parameters\n", "----------\n", "h: Operator\n", " Hamiltonian to be diagonalized.\n", "fops: list of tuple of strings and ints\n", " List of all annihilation / creation operator flavors (indices).\n", " Must at least contain all flavors met in `h`.\n", "qn_vector: list of Operator, optional\n", " Vector of quantum number operators to be used for the auto-partitioning\n", "n_min, n_max: integers, optional\n", " Truncate the Fock-space to states with particle number in [n_min, n_max]\n", " Cannot be combined with qn_vector\n", "\u001b[0;31mFile:\u001b[0m ~/opt/triqs/lib/python3.11/site-packages/triqs/atom_diag/__init__.py\n", "\u001b[0;31mType:\u001b[0m function" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from triqs.atom_diag import AtomDiag\n", "?AtomDiag" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2023-08-28T15:03:37.654014Z", "iopub.status.busy": "2023-08-28T15:03:37.653949Z", "iopub.status.idle": "2023-08-28T15:03:37.656261Z", "shell.execute_reply": "2023-08-28T15:03:37.656068Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-3.0\n" ] } ], "source": [ "# List of operator flavors\n", "fops = [('up',0), ('down',0)]\n", "\n", "# Construct AtomDiag object, Performs diagonalization\n", "AD = AtomDiag(h=H, fops=fops)\n", "\n", "print(AD.gs_energy)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can then use the `AtomDiag` object to obtain for example the atomic Green's functions" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2023-08-28T15:03:37.657447Z", "iopub.status.busy": "2023-08-28T15:03:37.657374Z", "iopub.status.idle": "2023-08-28T15:03:37.922401Z", "shell.execute_reply": "2023-08-28T15:03:37.922143Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from triqs.atom_diag import atomic_g_tau\n", "Gtau = atomic_g_tau(atom=AD, beta=10, gf_struct=[('up',1),('down',1)], n_tau=1001)\n", "\n", "from triqs.plot.mpl_interface import oplot\n", "%matplotlib inline\n", "oplot(Gtau[\"up\"][0,0].real, name='G')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "widgets": { "state": {}, "version": "1.1.1" } }, "nbformat": 4, "nbformat_minor": 4 }