From b893b3c12b973c8d6efb500abeecb7e63fcd6982 Mon Sep 17 00:00:00 2001 From: Antonio Manesco <am@antoniomanesco.org> Date: Fri, 29 Dec 2023 17:00:35 +0100 Subject: [PATCH] clean up and fix k-space sampling to include K and K' --- examples/graphene_extended_hubbard.ipynb | 115 ++++++++++------------- 1 file changed, 50 insertions(+), 65 deletions(-) diff --git a/examples/graphene_extended_hubbard.ipynb b/examples/graphene_extended_hubbard.ipynb index d2b1125..9627e7f 100644 --- a/examples/graphene_extended_hubbard.ipynb +++ b/examples/graphene_extended_hubbard.ipynb @@ -12,7 +12,7 @@ "import kwant\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", - "from codes import utils, hf, kwant_examples, model\n", + "from codes import utils, hf, kwant_examples, model, interface, solvers\n", "from tqdm import tqdm" ] }, @@ -30,46 +30,6 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "def flat_to_matrix(flat, shape):\n", - " matrix = np.zeros(shape, dtype=complex)\n", - " matrix[:, :, *np.triu_indices(shape[-1])] = flat.reshape(shape[0], shape[1], -1)\n", - " lower_triangle_wo_diag = matrix.transpose(0, 1, 3, 2)[\n", - " :, :, *np.tril_indices(shape[-1], k=-1)\n", - " ]\n", - " matrix[:, :, *np.tril_indices(shape[-1], k=-1)] = lower_triangle_wo_diag.reshape(\n", - " shape[0], shape[1], -1\n", - " ).conj()\n", - "\n", - " return matrix\n", - "\n", - "def matrix_to_flat(matrix):\n", - " matrix[\n", - " :,\n", - " :,\n", - " *np.triu_indices(matrix.shape[-1]),\n", - " ].flatten()\n", - "\n", - "def upper_triangle_cost(delta_mf_flatten, model):\n", - " mfk_shape = model.mf_k.shape\n", - "\n", - " # From flat to non-flat:\n", - " mf_delta_shaped = flat_to_matrix(delta_mf_flatten, mfk_shape)\n", - "\n", - " # Doing the update\n", - " mf_shaped = model.mf_k + mf_delta_shaped\n", - " _, model.mf_k = hf.updated_matrices(mf_k=mf_shaped, model=model)\n", - " delta_mf = mf_shaped - model.mf_k\n", - "\n", - " # Now flattening again\n", - " return matrix_to_flat(delta_mf)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, "id": "9ebc3cce-0338-4616-8021-9fecee76f178", "metadata": {}, "outputs": [], @@ -88,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "c2dd6c3c-d9bb-4833-b1a0-d28c5d5a935c", "metadata": {}, "outputs": [], @@ -106,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -117,11 +77,13 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 11, "id": "41bd9f60-8f29-4e7c-a0c4-a0bbf66445b2", "metadata": {}, "outputs": [], "source": [ + "from scipy import optimize\n", + "\n", "def compute_gap(\n", " model,\n", " nk,\n", @@ -133,12 +95,12 @@ " model.guess = guess\n", "\n", " # Find groundstate Hamiltonian on the same grid\n", - " mf_model = hf.find_groundstate_ham(\n", + " mf_model, guess = interface.find_groundstate_ham(\n", " model,\n", " filling=filling,\n", " nk=nk,\n", - " cutoff_Vk=1,\n", - " optimizer_kwargs={'M':0}\n", + " return_mf=True,\n", + " optimizer_kwargs={}\n", " )\n", "\n", " mf_k = utils.kgrid_hamiltonian( # only used for diagonalization to get gap\n", @@ -153,7 +115,7 @@ " gap = utils.calc_gap(vals, E_F)\n", "\n", " # the guess was kind of unclear\n", - " return gap, None#, mf_model" + " return gap, guess" ] }, { @@ -166,7 +128,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 12, "id": "32b9e7c5-db12-44f9-930c-21e5494404b8", "metadata": { "tags": [] @@ -178,7 +140,7 @@ " for U in tqdm(Us):\n", " guess = None\n", " gap_U = []\n", - " for V in Vs:#tqdm(Vs):\n", + " for V in Vs:\n", " params = dict(U=U, V=V)\n", " int_model = utils.builder2tb_model(int_builder, params)\n", " mf_model = model.Model(tb_model, int_model=int_model)\n", @@ -203,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 13, "id": "6a8c08a9-7e31-420b-b6b4-709abfb26793", "metadata": { "tags": [] @@ -213,21 +175,14 @@ "name": "stderr", "output_type": "stream", "text": [ - " 0%| | 0/10 [00:00<?, ?it/s]" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 10/10 [16:50<00:00, 101.02s/it]\n" + "100%|██████████| 10/10 [00:15<00:00, 1.59s/it]\n" ] } ], "source": [ "# Generate dense-grid k-points\n", "# Interaction strengths\n", - "nk = 20\n", + "nk = 9\n", "nk_dense = 30\n", "Us = np.linspace(0, 3, 10, endpoint=True)\n", "Vs = np.linspace(0, 1.5, 10, endpoint=True)\n", @@ -236,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 14, "id": "e17fc96c-c463-4e1f-8250-c254d761b92a", "metadata": {}, "outputs": [], @@ -256,19 +211,49 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "<matplotlib.collections.QuadMesh at 0x13158f150>" + "<matplotlib.collections.QuadMesh at 0x130c85390>" ] }, - "execution_count": 22, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, + { + "data": { + "image/png": "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F5Z93Or0u362b9+up556Slu2bFFAQIBuv/12zZ8/35exAQDQK/B4smcdSlQqKyudO9OVl5dr3Lhxevzxx3X77bfroosu8leMAACgl2p3ojJ58mS98cYbuvTSSzVnzhzdeeedGjlypD9jAwCg97D4FvpmaXeiEhISoi1btuiHP/yhAgLYAAcAAJ/pBu/6MUu7E5WXX37Zn3EAANCrUaPinldP/QAAAPgTiQoAALCsTj+eDAAAfIQaFY9IVAAAMJlN1Kh4wtIPAACwLGZUAAAwG0s/HpGoAABgBSQqbrH0AwAALIsZFQAALIBiWvdIVAAAMBs1Kh6RqAAAYDJfPJ7cUxMValQAAIBlMaMCAIDZWPrxiEQFAAArIFFxi0QFAACzGT546sc3kVgONSoAAMCymFEBAMAKWPpxi0QFAACzUUzrkelLP2vXrlVsbKyCg4MVHx+vnTt3ttm+oaFBy5YtU0xMjOx2u4YPH66nnnqqi6IFAABdydQZlc2bNystLU1r167VNddcoyeffFLJycl67733NGTIELd9br/9dn366afasGGDLrvsMtXU1Ojs2bNdHDkAAL7FFvrumTqjsnr1as2fP18pKSkaPXq0srOzFR0drZycHLftX3vtNW3fvl35+fm68cYbNXToUF111VUaN25cF0cOAICPGT44/OjBBx/UuHHjFBoaqksuuaRdfebNmyebzeZyjB07tkPXNS1RaWxsVElJiZKSklzOJyUladeuXW77vPzyy0pISNAjjzyib3/72xoxYoTuvfdeffXVVx6v09DQoPr6epcDAAArsRm+OfypsbFRt912m372s591qN+UKVNUVVXlPPLz8zvU37Sln9raWjU1NSkyMtLlfGRkpKqrq932+fjjj/XPf/5TwcHBysvLU21trVJTU/X55597rFPJysrSihUrfB4/AAC9Scvv0tzc3A71s9vtioqK6vR1TS+mtdlct6gxDKPVuRbNzc2y2WzatGmTrrrqKk2dOlWrV69Wbm6ux1mVjIwM1dXVOY/KykqfjwEAAK/5aOnn/FWEhoaGrh3HeYqKijRw4ECNGDFCCxYsUE1NTYf6m5aoREREKCAgoNXsSU1NTatZlhYOh0Pf/va3FR4e7jw3evRoGYahTz75xG0fu92usLAwlwMAAEvxRZLydaLicDgUHh7uPLKysrp0KN+UnJysTZs2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H/5g5OXlGR9++KHx7rvvGkuWLDEkGVu2bDFrCO12/Phxo7S01CgtLTUkGatXrzZKS0uNw4cPG4bRs+5tR8fane/rz372MyM8PNwoKioyqqqqnMepU6ecbXrSve3MeLvr/c3IyDB27NhhlJeXG//+97+NpUuXGn369DEKCgoMw+hZ9xX/QaLSDk888YQRExNjBAUFGT/4wQ9cHvubO3euMWHCBJf2RUVFRlxcnBEUFGQMHTrUyMnJ6eKIvdOR8T788MPG8OHDjeDgYONb3/qWce211xqvvvqqCVF3XMsjmucfc+fONQyjZ93bjo61O99Xd+OUZDz99NPONj3p3nZmvN31/t55553Ov5suvfRS44YbbnAmKYbRs+4r/sNmGF9XFgEAAFgMNSoAAMCySFQAAIBlkagAAADLIlEBAACWRaICAAAsi0QFAABYFokKAACwLBIVAABgWSQqQC8yceJEpaWltTq/detW3iYLwJJIVAAAgGWRqABw8fbbb2vSpEnq16+fwsLCFB8fr+LiYrPDAtBLBZodAABr+e///m/FxcUpJydHAQEBKisrU9++fc0OC0AvRaICwEVFRYXuu+8+jRo1SpJ0+eWXmxwRgN6MpR8ALtLT05WSkqIbb7xRv/vd73Tw4EGzQwLQi5GoAL1IWFiY6urqWp3/8ssvFRYWJknKzMzUvn37dPPNN2vbtm36zne+o7y8vK4OFQAkkagAvcqoUaPcFsbu3btXI0eOdH4eMWKEFi9erIKCAt1yyy16+umnuzJMAHAiUQF6kdTUVB08eFB333233n77bX344Yd64okntGHDBt1333366quvtGjRIhUVFenw4cN68803tXfvXo0ePdrs0AH0UjbDMAyzgwDQdUpKSrRs2TKVlpbq9OnTGjFihH75y1/qjjvuUGNjo+bOnas333xTn376qSIiInTLLbfo97//vYKDg80OHUAvRKICAAAsi6UfAABgWSQqAADAskhUAACAZZGoAAAAyyJRAQAAlkWiAgAALItEBQAAWBaJCgAAsCwSFQAAYFkkKgAAwLJIVAAAgGWRqAAAAMv6/3YGFT+RMZRuAAAAAElFTkSuQmCC", + "text/plain": [ + "<Figure size 640x480 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "np.log10(gap_da).plot(x=\"Us\", y=\"Vs\", vmin=-3, vmax=1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f71f6f2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.collections.QuadMesh at 0x13158f150>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "image/png": "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5FxwDRXD+CqI4OBgvfzyyx4fl0QFAAArsHiiYhYSFQAAzNYDalTMYvrKtAAAAO4wogIAgBX00hERT5GoAABgsp5we7JZSFQAALACimldokYFAABYFiMqAACYjakft0hUAACwAqZ+XGLqBwAAWBYjKgAAmM0QIypukKgAAGAym6hRcYdEBQAAK2BExSVqVAAAgGUxogIAgNkMyWZ4NiTiaX+rIlEBAMAKmPpxiUQFAACzseCbW9SoAAAAy2JEBQAAK2DqxyUSFQAATGZj6sctpn4AAIBlMaICAIAVMPXjEokKAABm88LUT29FogIAgBUwouISNSoAAMCyGFEBAMBkPD3ZPRIVAADMZhgtm6ef0QuRqAAAYAGMqLhGjQoAALAsRlQAADCbIe76cYNEBQAAk9kMydbs4Wd42N+qTJ/62bBhg2JiYhQUFKS4uDjt3bu3Q/1ee+01+fv764orrvBtgAAAwDSmjqhs375dqamp2rBhg6666ipt2rRJSUlJevvttzVs2DC3/WprazV//nxdd911+uijj7p07INPXSG/gKCuht6nBZsdAIBOC/I/b3YI7epn0UrQfrZuPBhTPy6ZOqKybt06LVq0SMnJyRozZoyysrIUFRWl7Ozsdvvdfvvtmjt3rhISEropUgAAfMj46gnKnmy+cuzYMS1atEgxMTEKDg7WZZddplWrVqmxsbH90zIMZWRkaMiQIQoODtbkyZN16NChTh3btESlsbFRxcXFSkxMdNqfmJioffv2ue33+OOP6+jRo1q1apWvQwQAoPu0rqXiyeYj7777rpqbm7Vp0yYdOnRIf/rTn7Rx40atWLGi3X4PPvig1q1bp/Xr1+vgwYOKjIzU1KlTdfr06Q4f27Spn5qaGjU1NSkiIsJpf0REhKqqqlz2ef/997V8+XLt3btX/v4dC72hoUENDQ2O13V1dV0PGgCAPmj69OmaPn264/WIESN0+PBhZWdna+3atS77GIahrKwsrVy5UjfeeKMk6YknnlBERISeeuop3X777R06tunFtDab8wSgYRht9klSU1OT5s6dq9WrV2vkyJEd/vzMzEyFhYU5tqioKI9jBgDA27w19VNXV+e0ff2XdW+qra3VwIED3b5fVlamqqoqp5mTwMBATZo0qd2Zk28yLVEJDw+Xn59fm9GT6urqNqMsknT69GkVFRVp6dKl8vf3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ARs2bFBMTIyCgoIUFxenvXv3ttt+9+7diouLU1BQkEaMGKGNGzd2U6Te0ZnzLSwslM1ma7O9++673Rhx1+zZs0czZ87UkCFDZLPZtHPnzgv26anXtrPn2pOva2Zmpv7P//k/GjBggAYPHqyf/OQnOnz48AX79dRr25Xz7anXNzs7Wz/4wQ8ci7klJCToX//6V7t9eup1xVdIVC5g+/btSk1N1cqVK1VSUqKJEycqKSlJ5eXlLtuXlZVpxowZmjhxokpKSrRixQrdeeed2rFjRzdH3jWdPd9Whw8fVmVlpWP7zne+000Rd119fb3GjRun9evXd6h9T762nT3XVj3xuu7evVt33HGHDhw4oIKCAp0/f16JiYmqr69326cnX9uunG+rnnZ9hw4dqj/84Q8qKipSUVGRrr32Ws2aNUuHDh1y2b4nX1d8jYF2XXnllcaSJUuc9o0ePdpYvny5y/b33HOPMXr0aKd9t99+uzF+/HifxehNnT3fV155xZBkfPrpp90Qne9IMnJzc9tt09OvbauOnGtvua6GYRjV1dWGJGP37t1u2/SWa2sYHTvf3nR9v/Wtbxl//etfXb7Xm65rX8aISjsaGxtVXFysxMREp/2JiYnat2+fyz779+9v037atGkqKirSuXPWfIx5q66cb6vY2FjZ7XZdd911euWVV3wZpml68rXtqt5wXWtrayVJAwcOdNumN13bjpxvq558fZuamvT3v/9d9fX1SkhIcNmmN13XvoxEpR01NTVqampSRESE0/6IiAhVVVW57FNVVeWy/fnz51VTU+OzWL2hK+drt9u1efNm7dixQ88++6xGjRql6667Tnv27OmOkLtVT762ndVbrqthGEpLS9PVV1+tsWPHum3XW65tR8+3J1/fN998UxdffLECAwO1ZMkS5ebm6rvf/a7Ltr3luvZ1fe7pyV1hs9mcXhuG0Wbfhdq72m9VnTnfUaNGadSoUY7XCQkJqqio0Nq1a3XNNdf4NE4z9PRr21G95bouXbpU//nPf/Tqq69esG1vuLYdPd+efH1HjRql0tJSffbZZ9qxY4cWLFig3bt3u01WesN17esYUWlHeHi4/Pz82owmVFdXt8nSW0VGRrps7+/vr0GDBvksVm/oyvm6Mn78eL3//vveDs90PfnaekNPu66//OUv9fzzz+uVV17R0KFD223bG65tZ87XlZ5yfQMCAnT55ZcrPj5emZmZGjdunP785z+7bNsbritIVNoVEBCguLg4FRQUOO0vKCjQhAkTXPZJSEho0z4/P1/x8fHq37+/z2L1hq6cryslJSWy2+3eDs90PfnaekNPua6GYWjp0qV69tlntWvXLsXExFywT0++tl05X1d6yvX9JsMw1NDQ4PK9nnxd8TUmFfH2GH//+9+N/v37G1u2bDHefvttIzU11bjooouMY8eOGYZhGMuXLzfmzZvnaP/BBx8YISEhxrJly4y3337b2LJli9G/f3/jmWeeMesUOqWz5/unP/3JyM3NNd577z3jrbfeMpYvX25IMnbs2GHWKXTY6dOnjZKSEqOkpMSQZKxbt84oKSkxjh8/bhhG77q2nT3Xnnxdf/GLXxhhYWFGYWGhUVlZ6djOnj3raNObrm1XzrenXt/09HRjz549RllZmfGf//zHWLFihdGvXz8jPz/fMIzedV3xFRKVDnj00UeN6OhoIyAgwPjhD3/odNvfggULjEmTJjm1LywsNGJjY42AgABj+PDhRnZ2djdH7JnOnO8DDzxgXHbZZUZQUJDxrW99y7j66quNF1980YSoO6/1Fs1vbgsWLDAMo3dd286ea0++rq7OU5Lx+OOPO9r0pmvblfPtqdf3tttuc/y/6dJLLzWuu+46R5JiGL3ruuIrNsP4srIIAADAYqhRAQAAlkWiAgAALItEBQAAWBaJCgAAsCwSFQAAYFkkKgAAwLJIVAAAgGWRqAAAAMsiUQH6kMmTJys1NbXN/p07d/I0WQCWRKICAAAsi0QFgJM33nhDU6ZM0YABAxQaGqq4uDgVFRWZHRaAPsrf7AAAWMt///d/KzY2VtnZ2fLz81Npaan69+9vdlgA+igSFQBOysvLdffdd2v06NGSpO985zsmRwSgL2PqB4CTtLQ0JScn6/rrr9cf/vAHHT161OyQAPRhJCpAHxIaGqra2to2+z/77DOFhoZKkjIyMnTo0CHdcMMN2rVrl7773e8qNze3u0MFAEkkKkCfMnr0aJeFsQcPHtSoUaMcr0eOHKlly5YpPz9fN954ox5//PHuDBMAHEhUgD4kJSVFR48e1R133KE33nhD7733nh599FFt2bJFd999tz7//HMtXbpUhYWFOn78uF577TUdPHhQY8aMMTt0AH2UzTAMw+wgAHSf4uJirVy5UiUlJfriiy80cuRI/frXv9att96qxsZGLViwQK+99po++ugjhYeH68Ybb9Qf//hHBQUFmR06gD6IRAUAAFgWUz8AAMCySFQAAIBlkagAAADLIlEBAACWRaICAAAsi0QFAABYFokKAACwLBIVAABgWSQqAADAskhUAACAZZGoAAAAyyJRAQAAlvX/AcGlfy4ir8xhAAAAAElFTkSuQmCC", @@ -286,7 +271,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "0cb395cd-84d1-49b4-89dd-da7a2d09c8d0", "metadata": {}, "outputs": [], -- GitLab