From 52f36c5d45ec9865cce8d688d0db56b447a45d74 Mon Sep 17 00:00:00 2001 From: Johanna <johanna@zijderveld.de> Date: Mon, 15 Apr 2024 15:13:33 +0200 Subject: [PATCH] delete another unused example file --- examples/testInterface.ipynb | 106 ----------------------------------- 1 file changed, 106 deletions(-) delete mode 100644 examples/testInterface.ipynb diff --git a/examples/testInterface.ipynb b/examples/testInterface.ipynb deleted file mode 100644 index c3bf960..0000000 --- a/examples/testInterface.ipynb +++ /dev/null @@ -1,106 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "from codes.tb.transforms import tb2kfunc\n", - "from codes.model import Model\n", - "import numpy as np\n", - "from codes.solvers import solver" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# 1D\n", - "filling = 2\n", - "\n", - "hopp = np.kron(np.array([[0, 1], [0, 0]]), np.eye(2))\n", - "h_0 = {(0, ): hopp + hopp.T.conj(), (1,): hopp, (-1,): hopp.T.conj()}\n", - "h_int = {\n", - " (0,): 4 * np.kron(np.eye(2), np.ones((2, 2))),\n", - "}\n", - "\n", - "\n", - "guess = np.random.rand(4, 4) * np.exp(1j * 2 * np.pi * np.random.rand(4, 4))\n", - "guess += guess.T.conj()\n", - "guess /= 2\n", - "mf_model = {(0,) : guess}\n", - "tb = Model(h_0, h_int, filling)\n", - "mf_sol = solver(tb, mf_model, nK=100)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[16], line 10\u001b[0m\n\u001b[1;32m 8\u001b[0m mf_model \u001b[38;5;241m=\u001b[39m {(\u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m0\u001b[39m) : guess}\n\u001b[1;32m 9\u001b[0m tb \u001b[38;5;241m=\u001b[39m Model(h_0, h_int, filling)\n\u001b[0;32m---> 10\u001b[0m mf_sol \u001b[38;5;241m=\u001b[39m \u001b[43msolver\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtb\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmf_model\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnK\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m20\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# does not converge as fast, something is wrong in 2D\u001b[39;00m\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/solvers.py:59\u001b[0m, in \u001b[0;36msolver\u001b[0;34m(Model, mf_guess, nK, optimizer, optimizer_kwargs)\u001b[0m\n\u001b[1;32m 56\u001b[0m mf_params \u001b[38;5;241m=\u001b[39m mf2rParams(mf_guess)\n\u001b[1;32m 57\u001b[0m f \u001b[38;5;241m=\u001b[39m partial(cost, Model\u001b[38;5;241m=\u001b[39mModel, nK\u001b[38;5;241m=\u001b[39mnK)\n\u001b[1;32m 58\u001b[0m result \u001b[38;5;241m=\u001b[39m rParams2mf(\n\u001b[0;32m---> 59\u001b[0m \u001b[43moptimizer\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmf_params\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43moptimizer_kwargs\u001b[49m\u001b[43m)\u001b[49m, \u001b[38;5;28mlist\u001b[39m(Model\u001b[38;5;241m.\u001b[39mh_int), shape\n\u001b[1;32m 60\u001b[0m )\n\u001b[1;32m 61\u001b[0m Model\u001b[38;5;241m.\u001b[39mcalculateEF(nK\u001b[38;5;241m=\u001b[39mnK)\n\u001b[1;32m 62\u001b[0m local_key \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtuple\u001b[39m(np\u001b[38;5;241m.\u001b[39mzeros((Model\u001b[38;5;241m.\u001b[39m_ndim,), dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mint\u001b[39m))\n", - "File \u001b[0;32m<string>:6\u001b[0m, in \u001b[0;36manderson\u001b[0;34m(F, xin, iter, alpha, w0, M, verbose, maxiter, f_tol, f_rtol, x_tol, x_rtol, tol_norm, line_search, callback, **kw)\u001b[0m\n", - "File \u001b[0;32m~/mambaforge/lib/python3.11/site-packages/scipy/optimize/_nonlin.py:214\u001b[0m, in \u001b[0;36mnonlin_solve\u001b[0;34m(F, x0, jacobian, iter, verbose, maxiter, f_tol, f_rtol, x_tol, x_rtol, tol_norm, line_search, callback, full_output, raise_exception)\u001b[0m\n\u001b[1;32m 212\u001b[0m \u001b[38;5;66;03m# Line search, or Newton step\u001b[39;00m\n\u001b[1;32m 213\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m line_search:\n\u001b[0;32m--> 214\u001b[0m s, x, Fx, Fx_norm_new \u001b[38;5;241m=\u001b[39m \u001b[43m_nonlin_line_search\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mFx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 215\u001b[0m \u001b[43m \u001b[49m\u001b[43mline_search\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 216\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 217\u001b[0m s \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1.0\u001b[39m\n", - "File \u001b[0;32m~/mambaforge/lib/python3.11/site-packages/scipy/optimize/_nonlin.py:293\u001b[0m, in \u001b[0;36m_nonlin_line_search\u001b[0;34m(func, x, Fx, dx, search_type, rdiff, smin)\u001b[0m\n\u001b[1;32m 290\u001b[0m s, phi1, phi0 \u001b[38;5;241m=\u001b[39m scalar_search_wolfe1(phi, derphi, tmp_phi[\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 291\u001b[0m xtol\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1e-2\u001b[39m, amin\u001b[38;5;241m=\u001b[39msmin)\n\u001b[1;32m 292\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m search_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124marmijo\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[0;32m--> 293\u001b[0m s, phi1 \u001b[38;5;241m=\u001b[39m \u001b[43mscalar_search_armijo\u001b[49m\u001b[43m(\u001b[49m\u001b[43mphi\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtmp_phi\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[43mtmp_phi\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 294\u001b[0m \u001b[43m \u001b[49m\u001b[43mamin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msmin\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 296\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m s \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 297\u001b[0m \u001b[38;5;66;03m# XXX: No suitable step length found. Take the full Newton step,\u001b[39;00m\n\u001b[1;32m 298\u001b[0m \u001b[38;5;66;03m# and hope for the best.\u001b[39;00m\n\u001b[1;32m 299\u001b[0m s \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1.0\u001b[39m\n", - "File \u001b[0;32m~/mambaforge/lib/python3.11/site-packages/scipy/optimize/_linesearch.py:692\u001b[0m, in \u001b[0;36mscalar_search_armijo\u001b[0;34m(phi, phi0, derphi0, c1, alpha0, amin)\u001b[0m\n\u001b[1;32m 678\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mscalar_search_armijo\u001b[39m(phi, phi0, derphi0, c1\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1e-4\u001b[39m, alpha0\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m, amin\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m):\n\u001b[1;32m 679\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Minimize over alpha, the function ``phi(alpha)``.\u001b[39;00m\n\u001b[1;32m 680\u001b[0m \n\u001b[1;32m 681\u001b[0m \u001b[38;5;124;03m Uses the interpolation algorithm (Armijo backtracking) as suggested by\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 690\u001b[0m \n\u001b[1;32m 691\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 692\u001b[0m phi_a0 \u001b[38;5;241m=\u001b[39m \u001b[43mphi\u001b[49m\u001b[43m(\u001b[49m\u001b[43malpha0\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 693\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m phi_a0 \u001b[38;5;241m<\u001b[39m\u001b[38;5;241m=\u001b[39m phi0 \u001b[38;5;241m+\u001b[39m c1\u001b[38;5;241m*\u001b[39malpha0\u001b[38;5;241m*\u001b[39mderphi0:\n\u001b[1;32m 694\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m alpha0, phi_a0\n", - "File \u001b[0;32m~/mambaforge/lib/python3.11/site-packages/scipy/optimize/_nonlin.py:277\u001b[0m, in \u001b[0;36m_nonlin_line_search.<locals>.phi\u001b[0;34m(s, store)\u001b[0m\n\u001b[1;32m 275\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m tmp_phi[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 276\u001b[0m xt \u001b[38;5;241m=\u001b[39m x \u001b[38;5;241m+\u001b[39m s\u001b[38;5;241m*\u001b[39mdx\n\u001b[0;32m--> 277\u001b[0m v \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mxt\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 278\u001b[0m p \u001b[38;5;241m=\u001b[39m _safe_norm(v)\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m\n\u001b[1;32m 279\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m store:\n", - "File \u001b[0;32m~/mambaforge/lib/python3.11/site-packages/scipy/optimize/_nonlin.py:168\u001b[0m, in \u001b[0;36mnonlin_solve.<locals>.func\u001b[0;34m(z)\u001b[0m\n\u001b[1;32m 167\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfunc\u001b[39m(z):\n\u001b[0;32m--> 168\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _as_inexact(\u001b[43mF\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_array_like\u001b[49m\u001b[43m(\u001b[49m\u001b[43mz\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx0\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m)\u001b[38;5;241m.\u001b[39mflatten()\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/solvers.py:25\u001b[0m, in \u001b[0;36mcost\u001b[0;34m(mf_param, Model, nK)\u001b[0m\n\u001b[1;32m 23\u001b[0m shape \u001b[38;5;241m=\u001b[39m Model\u001b[38;5;241m.\u001b[39m_size\n\u001b[1;32m 24\u001b[0m mf_tb \u001b[38;5;241m=\u001b[39m rParams2mf(mf_param, \u001b[38;5;28mlist\u001b[39m(Model\u001b[38;5;241m.\u001b[39mh_int), shape)\n\u001b[0;32m---> 25\u001b[0m mf_tb_new \u001b[38;5;241m=\u001b[39m \u001b[43mModel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmfieldFFT\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmf_tb\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnK\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnK\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 26\u001b[0m mf_params_new \u001b[38;5;241m=\u001b[39m mf2rParams(mf_tb_new)\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m mf_params_new \u001b[38;5;241m-\u001b[39m mf_param\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/model.py:34\u001b[0m, in \u001b[0;36mModel.mfieldFFT\u001b[0;34m(self, mf_model, nK)\u001b[0m\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmfieldFFT\u001b[39m(\u001b[38;5;28mself\u001b[39m, mf_model, nK\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m200\u001b[39m):\n\u001b[0;32m---> 34\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdensity_matrix \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmakedensity_matrix\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmf_model\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m addTb(\n\u001b[1;32m 36\u001b[0m meanFieldFFT(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdensity_matrix, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mh_int, n\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_ndim, nK\u001b[38;5;241m=\u001b[39mnK),\n\u001b[1;32m 37\u001b[0m {\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_local_key: \u001b[38;5;241m-\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mEF \u001b[38;5;241m*\u001b[39m np\u001b[38;5;241m.\u001b[39meye(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_size)},\n\u001b[1;32m 38\u001b[0m )\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/model.py:20\u001b[0m, in \u001b[0;36mModel.makedensity_matrix\u001b[0;34m(self, mf_model, nK)\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmakedensity_matrix\u001b[39m(\u001b[38;5;28mself\u001b[39m, mf_model, nK\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m200\u001b[39m):\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhkfunc \u001b[38;5;241m=\u001b[39m tb2kfunc(addTb(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mh_0, mf_model))\n\u001b[0;32m---> 20\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcalculateEF\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnK\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnK\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m density_matrixGenerator(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhkfunc, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mEF)\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/model.py:24\u001b[0m, in \u001b[0;36mModel.calculateEF\u001b[0;34m(self, nK)\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcalculateEF\u001b[39m(\u001b[38;5;28mself\u001b[39m, nK\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m200\u001b[39m):\n\u001b[0;32m---> 24\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mEF \u001b[38;5;241m=\u001b[39m \u001b[43mfermi_on_grid\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhkfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfilling\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnK\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnK\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mndim\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_ndim\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/mf.py:54\u001b[0m, in \u001b[0;36mfermi_on_grid\u001b[0;34m(hkfunc, filling, nK, ndim)\u001b[0m\n\u001b[1;32m 52\u001b[0m hkarray \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray([hkfunc(k) \u001b[38;5;28;01mfor\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m ks])\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[0;32m---> 54\u001b[0m hkarray \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray(\u001b[43m[\u001b[49m\u001b[43m[\u001b[49m\u001b[43mhkfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mky\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mkx\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mks\u001b[49m\u001b[43m]\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mky\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mks\u001b[49m\u001b[43m]\u001b[49m)\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m ndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFermi energy calculation is not implemented for ndim > 2\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/mf.py:54\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 52\u001b[0m hkarray \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray([hkfunc(k) \u001b[38;5;28;01mfor\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m ks])\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[0;32m---> 54\u001b[0m hkarray \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray([\u001b[43m[\u001b[49m\u001b[43mhkfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mky\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mkx\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mks\u001b[49m\u001b[43m]\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m ky \u001b[38;5;129;01min\u001b[39;00m ks])\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m ndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFermi energy calculation is not implemented for ndim > 2\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/mf.py:54\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 52\u001b[0m hkarray \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray([hkfunc(k) \u001b[38;5;28;01mfor\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m ks])\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[0;32m---> 54\u001b[0m hkarray \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray([[\u001b[43mhkfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mky\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m kx \u001b[38;5;129;01min\u001b[39;00m ks] \u001b[38;5;28;01mfor\u001b[39;00m ky \u001b[38;5;129;01min\u001b[39;00m ks])\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m ndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFermi energy calculation is not implemented for ndim > 2\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/Projects/kwant-scf/examples/codes/tb/transforms.py:24\u001b[0m, in \u001b[0;36mtb2kfunc.<locals>.bloch_ham\u001b[0;34m(k)\u001b[0m\n\u001b[1;32m 22\u001b[0m ham \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m vector \u001b[38;5;129;01min\u001b[39;00m h_0\u001b[38;5;241m.\u001b[39mkeys():\n\u001b[0;32m---> 24\u001b[0m ham \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m h_0[vector] \u001b[38;5;241m*\u001b[39m np\u001b[38;5;241m.\u001b[39mexp(\n\u001b[1;32m 25\u001b[0m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39mj \u001b[38;5;241m*\u001b[39m np\u001b[38;5;241m.\u001b[39mdot(k, np\u001b[38;5;241m.\u001b[39marray(vector, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mfloat\u001b[39m))\n\u001b[1;32m 26\u001b[0m )\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ham\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ], - "source": [ - "# 2D\n", - "hopp = np.kron(np.array([[0, 1], [0, 0]]), np.eye(2))\n", - "h_0 = {(0, 0): hopp + hopp.T.conj(), (1, 0): hopp, (-1, 0 ): hopp.T.conj(), (0, 1): hopp, (0, -1): hopp.T.conj()}\n", - "h_int = {\n", - " (0, 0): 2 * np.kron(np.eye(2), np.ones((2, 2))),\n", - "}\n", - "\n", - "mf_model = {(0, 0) : guess}\n", - "tb = Model(h_0, h_int, filling)\n", - "mf_sol = solver(tb, mf_model, nK=20) # does not run as fast, something is wrong in 2D" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "base", - "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.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} -- GitLab