{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lattice Solver Tutorial\n", "\n", "This tutorial using triqs lattice tools and the Hartree-Fock LatticeSolver for the case of a 2 degenerate bands with local Kanamori interactions at fixed density. At the end, we solve the same problem using the ImpuritySolver with the DMFT loop and arrive at the same solution.\n", "\n", "We start by importing the required modules:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: could not identify MPI environment!\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Starting serial run at: 2022-05-02 14:09:48.986326\n" ] } ], "source": [ "import numpy as np\n", "from triqs_hartree_fock import ImpuritySolver, LatticeSolver\n", "from triqs_hartree_fock.utils import flatten\n", "from triqs.gf import *\n", "from triqs.operators import *\n", "from triqs.operators.util import *\n", "from h5 import HDFArchive\n", "from triqs.lattice.tight_binding import TBLattice\n", "from triqs.sumk import *\n", "from triqs.lattice import *\n", "from scipy.optimize import brentq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we define a 2D tight binding lattice with nearest and next-nearest neighbor hopping:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "t = np.array([[1, 0.2], [0.2, 1]])\n", "tp = np.array([[0.1, 0.05], [0.05, 0.1]])\n", "hoppings= { (1,0) : t, \n", " (-1,0) : t, \n", " (0,1) : t,\n", " (0,-1) : t,\n", " (1,1) : tp,\n", " (-1,-1): tp,\n", " (1,-1) : tp,\n", " (-1,1) : tp}\n", "\n", "TBL = TBLattice(units=[(1, 0, 0) , (0, 1, 0)], hoppings=hoppings, orbital_positions=[(0., 0., 0.)]*2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we define the single particle dispersion h0_k and the other parameters to pass to the solver" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "nk = 10\n", "beta = 40\n", "U = 3\n", "J = 0.5\n", "gf_struct = [('up', 2), ('down', 2)]\n", "N_target = 2\n", "\n", "#create a kanamori interaction Hamiltonian\n", "Umat, Upmat = U_matrix_kanamori(n_orb=2, U_int=U, J_hund=J)\n", "h_int = h_int_kanamori(spin_names=['up', 'down'], orb_names=[0,1], U=Umat, Uprime=Upmat, J_hund=J, off_diag=True)\n", "\n", "BL = BravaisLattice(units = [(1,0,0) , (0,1,0)])\n", "BZ = BrillouinZone(BL)\n", "mk = MeshBrZone(BZ, nk)\n", "ekup = Gf(mesh=mk, target_shape=[2,2])\n", "ekdn = Gf(mesh=mk, target_shape=[2,2])\n", "ekup << TBL.fourier(mk)\n", "ekdn << TBL.fourier(mk) \n", "h0_k = BlockGf(name_list=['up', 'down'], block_list=(ekup, ekdn)) #single particle dispersion" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are ready to initialize the solver:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "S = LatticeSolver(h0_k=h0_k, gf_struct=gf_struct, beta=beta)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and finally we call the solve method at fixed density of 2 electrons per site:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Lattice Solver at fixed density of 2.0000\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Sigma_HF['up']:\n", "[[ 3.25 +0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.25 +0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.25 +0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.25 +0.j]]\n", "mu = 3.1380\n" ] } ], "source": [ "S.solve(h_int=h_int, N_target=N_target)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## DMFT Loop with Impurity Solver:\n", "\n", "We can arrive at the same solution of the lattice solver using a DMFT loop and impurity solver. However, it's slower than using the lattice solver. We pass a symmetry function that forces the two spins to be equal" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mu = -0.11655108826676398\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 1.3514+0.j -0.024 +0.j]\n", " [-0.024 +0.j 1.3514+0.j]]\n", "Sigma_HF['down']:\n", "[[ 1.3514+0.j -0.024 +0.j]\n", " [-0.024 +0.j 1.3514+0.j]]\n", "mu = 1.2416047543409816\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 2.0346+0.j -0.0263+0.j]\n", " [-0.0263+0.j 2.0346+0.j]]\n", "Sigma_HF['down']:\n", "[[ 2.0346+0.j -0.0263+0.j]\n", " [-0.0263+0.j 2.0346+0.j]]\n", "mu = 1.924985519971107\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 2.4404+0.j -0.0251+0.j]\n", " [-0.0251+0.j 2.4404+0.j]]\n", "Sigma_HF['down']:\n", "[[ 2.4404+0.j -0.0251+0.j]\n", " [-0.0251+0.j 2.4404+0.j]]\n", "mu = 2.3307342492307934\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 2.6997+0.j -0.023 +0.j]\n", " [-0.023 +0.j 2.6997+0.j]]\n", "Sigma_HF['down']:\n", "[[ 2.6997+0.j -0.023 +0.j]\n", " [-0.023 +0.j 2.6997+0.j]]\n", "mu = 2.589804077361585\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 2.872 +0.j -0.0208+0.j]\n", " [-0.0208+0.j 2.872 +0.j]]\n", "Sigma_HF['down']:\n", "[[ 2.872 +0.j -0.0208+0.j]\n", " [-0.0208+0.j 2.872 +0.j]]\n", "mu = 2.761794961651811\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 2.989 +0.j -0.0187+0.j]\n", " [-0.0187+0.j 2.989 +0.j]]\n", "Sigma_HF['down']:\n", "[[ 2.989 +0.j -0.0187+0.j]\n", " [-0.0187+0.j 2.989 +0.j]]\n", "mu = 2.8784151039233974\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.0693+0.j -0.017 +0.j]\n", " [-0.017 +0.j 3.0693+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.0693+0.j -0.017 +0.j]\n", " [-0.017 +0.j 3.0693+0.j]]\n", "mu = 2.958388200331095\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.1247+0.j -0.0156+0.j]\n", " [-0.0156+0.j 3.1247+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.1247+0.j -0.0156+0.j]\n", " [-0.0156+0.j 3.1247+0.j]]\n", "mu = 3.013551770566393\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.1631+0.j -0.0147+0.j]\n", " [-0.0147+0.j 3.1631+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.1631+0.j -0.0147+0.j]\n", " [-0.0147+0.j 3.1631+0.j]]\n", "mu = 3.051714472919698\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.1897+0.j -0.0139+0.j]\n", " [-0.0139+0.j 3.1897+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.1897+0.j -0.0139+0.j]\n", " [-0.0139+0.j 3.1897+0.j]]\n", "mu = 3.0781557418842773\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2082+0.j -0.0134+0.j]\n", " [-0.0134+0.j 3.2082+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2082+0.j -0.0134+0.j]\n", " [-0.0134+0.j 3.2082+0.j]]\n", "mu = 3.0964880022101333\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.221 +0.j -0.0131+0.j]\n", " [-0.0131+0.j 3.221 +0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.221 +0.j -0.0131+0.j]\n", " [-0.0131+0.j 3.221 +0.j]]\n", "mu = 3.1092022184291164\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2299+0.j -0.0128+0.j]\n", " [-0.0128+0.j 3.2299+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2299+0.j -0.0128+0.j]\n", " [-0.0128+0.j 3.2299+0.j]]\n", "mu = 3.11802143459409\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.236 +0.j -0.0126+0.j]\n", " [-0.0126+0.j 3.236 +0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.236 +0.j -0.0126+0.j]\n", " [-0.0126+0.j 3.236 +0.j]]\n", "mu = 3.124139484544855\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2403+0.j -0.0125+0.j]\n", " [-0.0125+0.j 3.2403+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2403+0.j -0.0125+0.j]\n", " [-0.0125+0.j 3.2403+0.j]]\n", "mu = 3.1283834605726115\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2433+0.j -0.0124+0.j]\n", " [-0.0124+0.j 3.2433+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2433+0.j -0.0124+0.j]\n", " [-0.0124+0.j 3.2433+0.j]]\n", "mu = 3.1313278331378296\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2453+0.j -0.0123+0.j]\n", " [-0.0123+0.j 3.2453+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2453+0.j -0.0123+0.j]\n", " [-0.0123+0.j 3.2453+0.j]]\n", "mu = 3.1333710379511377\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2468+0.j -0.0123+0.j]\n", " [-0.0123+0.j 3.2468+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2468+0.j -0.0123+0.j]\n", " [-0.0123+0.j 3.2468+0.j]]\n", "mu = 3.134788058674276\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2478+0.j -0.0123+0.j]\n", " [-0.0123+0.j 3.2478+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2478+0.j -0.0123+0.j]\n", " [-0.0123+0.j 3.2478+0.j]]\n", "mu = 3.135771249039664\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2484+0.j -0.0123+0.j]\n", " [-0.0123+0.j 3.2484+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2484+0.j -0.0123+0.j]\n", " [-0.0123+0.j 3.2484+0.j]]\n", "mu = 3.1364533457514936\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2489+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2489+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2489+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2489+0.j]]\n", "mu = 3.1369268847106087\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2492+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2492+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2492+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2492+0.j]]\n", "mu = 3.137254115255671\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2495+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2495+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2495+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2495+0.j]]\n", "mu = 3.1374808873027025\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2496+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2496+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2496+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2496+0.j]]\n", "mu = 3.137639326775724\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Sigma_HF['up']:\n", "[[ 3.2497+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2497+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2497+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2497+0.j]]\n", "mu = 3.137749333580944\n", "\n", "╔╦╗╦═╗╦╔═╗ ╔═╗ ┬ ┬┌─┐\n", " ║ ╠╦╝║║═╬╗╚═╗ ├─┤├┤ \n", " ╩ ╩╚═╩╚═╝╚╚═╝ ┴ ┴└ \n", "TRIQS: Hartree-Fock solver\n", "\n", "Running Impurity Solver\n", "beta = 40.0000\n", "h_int =\n", "1.5*c_dag('down',0)*c_dag('down',1)*c('down',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',0)*c('up',1)*c('down',1) + 3*c_dag('down',0)*c_dag('up',0)*c('up',0)*c('down',0) + 2*c_dag('down',0)*c_dag('up',1)*c('up',1)*c('down',0) + 0.5*c_dag('down',0)*c_dag('up',1)*c('up',0)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',0)*c('up',1)*c('down',0) + 2*c_dag('down',1)*c_dag('up',0)*c('up',0)*c('down',1) + 3*c_dag('down',1)*c_dag('up',1)*c('up',1)*c('down',1) + 0.5*c_dag('down',1)*c_dag('up',1)*c('up',0)*c('down',0) + 1.5*c_dag('up',0)*c_dag('up',1)*c('up',1)*c('up',0)\n", "mode: self-consistent\n", "Including Fock terms:\n", "True\n", "Self Consistent Hartree-Fock converged successfully\n", "Calculated self energy:\n", "Sigma_HF['up']:\n", "[[ 3.2498+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2498+0.j]]\n", "Sigma_HF['down']:\n", "[[ 3.2498+0.j -0.0122+0.j]\n", " [-0.0122+0.j 3.2498+0.j]]\n" ] } ], "source": [ "SK = SumkDiscreteFromLattice(lattice=TBL, n_points=nk)\n", "sigma = GfImFreq(beta=beta, n_points=500, target_shape=[2,2])\n", "Sigma = BlockGf(name_list=['up', 'down'], block_list=(sigma,sigma), make_copies=True)\n", "Gloc = Sigma.copy()\n", "N_target = 2\n", "mu = 0\n", "\n", "#symmetry function forcing two spins to be equal\n", "def make_spins_equal(Sigma):\n", " Symmetrized_Sigma = Sigma.copy()\n", " Symmetrized_Sigma['up'] = 0.5*(Sigma['up'] + Sigma['down'])\n", " Symmetrized_Sigma['down'] = Symmetrized_Sigma['up']\n", " return Symmetrized_Sigma\n", "\n", "S_imp = ImpuritySolver(gf_struct=gf_struct, beta=beta, n_iw=500, symmetries=[make_spins_equal])\n", "\n", "converged = False\n", "while not converged:\n", " for name, bl in gf_struct:\n", " Sigma[name] << S_imp.Sigma_HF[name]\n", " mu = brentq(lambda mu: SK(mu=mu, Sigma=Sigma).total_density().real - N_target, -5, 5)\n", " print('mu = ', mu)\n", " Gloc << SK(mu=mu, Sigma=Sigma)\n", " S_imp.G0_iw << inverse(inverse(Gloc) + Sigma)\n", " Sigma_old = S_imp.Sigma_HF.copy()\n", " S_imp.solve(h_int=h_int)\n", " if np.allclose(flatten(Sigma_old), flatten(S_imp.Sigma_HF), rtol=0, atol=1e-4):\n", " converged = True" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }