{ "cells": [ { "cell_type": "markdown", "source": [ "# Anyonic models" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "We solve the almost-bosonic anyon model of https://arxiv.org/pdf/1901.10739.pdf" ], "metadata": {} }, { "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iter Function value Gradient norm \n", " 0 8.209483e+01 1.693345e+01\n", " * time: 0.003222942352294922\n", " 1 6.286831e+01 1.134613e+01\n", " * time: 0.009351968765258789\n", " 2 5.624295e+01 1.598555e+01\n", " * time: 0.022549867630004883\n", " 3 4.266253e+01 1.113962e+01\n", " * time: 0.04113483428955078\n", " 4 3.542143e+01 1.081219e+01\n", " * time: 0.05989694595336914\n", " 5 1.522505e+01 2.954300e+00\n", " * time: 0.0786588191986084\n", " 6 1.273767e+01 3.787509e+00\n", " * time: 0.14101195335388184\n", " 7 1.034875e+01 2.592299e+00\n", " * time: 0.15454792976379395\n", " 8 9.040954e+00 4.116953e+00\n", " * time: 0.1653578281402588\n", " 9 8.200656e+00 2.655012e+00\n", " * time: 0.178696870803833\n", " 10 7.532824e+00 2.653283e+00\n", " * time: 0.19208693504333496\n", " 11 6.914551e+00 1.805517e+00\n", " * time: 0.205427885055542\n", " 12 6.868755e+00 3.450654e+00\n", " * time: 0.21621179580688477\n", " 13 6.591945e+00 2.162202e+00\n", " * time: 0.22715282440185547\n", " 14 6.122937e+00 1.661678e+00\n", " * time: 0.2667689323425293\n", " 15 5.695538e+00 1.918827e+00\n", " * time: 0.27773189544677734\n", " 16 5.372672e+00 1.465250e+00\n", " * time: 0.2887399196624756\n", " 17 5.135286e+00 1.529023e+00\n", " * time: 0.2995929718017578\n", " 18 4.985276e+00 8.599688e-01\n", " * time: 0.31037378311157227\n", " 19 4.911035e+00 8.713404e-01\n", " * time: 0.32114386558532715\n", " 20 4.848684e+00 3.808398e-01\n", " * time: 0.33200788497924805\n", " 21 4.824886e+00 5.627872e-01\n", " * time: 0.342756986618042\n", " 22 4.805354e+00 3.318072e-01\n", " * time: 0.35362696647644043\n", " 23 4.793341e+00 6.023915e-01\n", " * time: 0.38312387466430664\n", " 24 4.778300e+00 3.950741e-01\n", " * time: 0.3939669132232666\n", " 25 4.765894e+00 3.385150e-01\n", " * time: 0.40473294258117676\n", " 26 4.752738e+00 3.875306e-01\n", " * time: 0.41297292709350586\n", " 27 4.742482e+00 2.241386e-01\n", " * time: 0.42377686500549316\n", " 28 4.734147e+00 2.240833e-01\n", " * time: 0.43469691276550293\n", " 29 4.725128e+00 2.248493e-01\n", " * time: 0.4454197883605957\n", " 30 4.716832e+00 2.331933e-01\n", " * time: 0.45629096031188965\n", " 31 4.709208e+00 1.888222e-01\n", " * time: 0.4668388366699219\n", " 32 4.703200e+00 1.532798e-01\n", " * time: 0.47745585441589355\n", " 33 4.695364e+00 2.664459e-01\n", " * time: 0.49786376953125\n", " 34 4.688571e+00 2.002891e-01\n", " * time: 0.5084738731384277\n", " 35 4.681985e+00 2.587897e-01\n", " * time: 0.5191929340362549\n", " 36 4.675970e+00 1.529516e-01\n", " * time: 0.5302338600158691\n", " 37 4.669853e+00 1.448113e-01\n", " * time: 0.5411098003387451\n", " 38 4.665442e+00 1.486691e-01\n", " * time: 0.5521149635314941\n", " 39 4.660491e+00 9.301940e-02\n", " * time: 0.562694787979126\n", " 40 4.657968e+00 9.912207e-02\n", " * time: 0.5733838081359863\n", " 41 4.656195e+00 8.582461e-02\n", " * time: 0.5842158794403076\n", " 42 4.654953e+00 8.726706e-02\n", " * time: 0.6047828197479248\n", " 43 4.653859e+00 6.002479e-02\n", " * time: 0.6154289245605469\n", " 44 4.653014e+00 6.183910e-02\n", " * time: 0.6262187957763672\n", " 45 4.652176e+00 6.328115e-02\n", " * time: 0.6372637748718262\n", " 46 4.651685e+00 5.574722e-02\n", " * time: 0.6480047702789307\n", " 47 4.651220e+00 4.594288e-02\n", " * time: 0.6588377952575684\n", " 48 4.650771e+00 3.494131e-02\n", " * time: 0.6695919036865234\n", " 49 4.650372e+00 3.889667e-02\n", " * time: 0.6804468631744385\n", " 50 4.650077e+00 3.306406e-02\n", " * time: 0.6912329196929932\n", " 51 4.649886e+00 2.803450e-02\n", " * time: 0.7117729187011719\n", " 52 4.649699e+00 1.985481e-02\n", " * time: 0.7225499153137207\n", " 53 4.649592e+00 2.403889e-02\n", " * time: 0.733238935470581\n", " 54 4.649509e+00 2.096471e-02\n", " * time: 0.743959903717041\n", " 55 4.649434e+00 1.779744e-02\n", " * time: 0.7548589706420898\n", " 56 4.649377e+00 1.202830e-02\n", " * time: 0.7658488750457764\n", " 57 4.649343e+00 1.284582e-02\n", " * time: 0.776831865310669\n", " 58 4.649313e+00 1.332341e-02\n", " * time: 0.787606954574585\n", " 59 4.649291e+00 9.195670e-03\n", " * time: 0.7983269691467285\n", " 60 4.649276e+00 9.499483e-03\n", " * time: 0.8189759254455566\n", " 61 4.649266e+00 7.657058e-03\n", " * time: 0.8296558856964111\n", " 62 4.649256e+00 4.856072e-03\n", " * time: 0.840364933013916\n", " 63 4.649249e+00 5.005833e-03\n", " * time: 0.8510198593139648\n", " 64 4.649245e+00 3.950568e-03\n", " * time: 0.8619859218597412\n", " 65 4.649241e+00 2.262305e-03\n", " * time: 0.8727548122406006\n", " 66 4.649238e+00 3.105864e-03\n", " * time: 0.883760929107666\n", " 67 4.649237e+00 2.454333e-03\n", " * time: 0.8944427967071533\n", " 68 4.649236e+00 2.261856e-03\n", " * time: 0.9053769111633301\n", " 69 4.649235e+00 2.159072e-03\n", " * time: 0.9258239269256592\n", " 70 4.649234e+00 1.973001e-03\n", " * time: 0.9366497993469238\n", " 71 4.649234e+00 2.014374e-03\n", " * time: 0.9474809169769287\n", " 72 4.649233e+00 1.514604e-03\n", " * time: 0.9582719802856445\n", " 73 4.649233e+00 1.214892e-03\n", " * time: 0.969080924987793\n", " 74 4.649233e+00 9.434883e-04\n", " * time: 0.9799518585205078\n", " 75 4.649232e+00 8.583170e-04\n", " * time: 0.9908618927001953\n", " 76 4.649232e+00 8.354636e-04\n", " * time: 1.0014917850494385\n", " 77 4.649232e+00 6.421308e-04\n", " * time: 1.0121347904205322\n", " 78 4.649232e+00 5.965776e-04\n", " * time: 1.0325639247894287\n", " 79 4.649232e+00 6.268132e-04\n", " * time: 1.043409824371338\n", " 80 4.649232e+00 7.278144e-04\n", " * time: 1.0540030002593994\n", " 81 4.649232e+00 5.722784e-04\n", " * time: 1.0648109912872314\n", " 82 4.649232e+00 5.781954e-04\n", " * time: 1.0755329132080078\n", " 83 4.649232e+00 4.765726e-04\n", " * time: 1.0865747928619385\n", " 84 4.649232e+00 5.610144e-04\n", " * time: 1.097606897354126\n", " 85 4.649231e+00 4.566525e-04\n", " * time: 1.1084859371185303\n", " 86 4.649231e+00 3.759088e-04\n", " * time: 1.1193978786468506\n", " 87 4.649231e+00 3.321314e-04\n", " * time: 1.1402688026428223\n", " 88 4.649231e+00 3.248398e-04\n", " * time: 1.1514167785644531\n", " 89 4.649231e+00 3.362427e-04\n", " * time: 1.1624557971954346\n", " 90 4.649231e+00 2.975808e-04\n", " * time: 1.1732618808746338\n", " 91 4.649231e+00 3.183932e-04\n", " * time: 1.1842308044433594\n", " 92 4.649231e+00 2.626344e-04\n", " * time: 1.1950299739837646\n", " 93 4.649231e+00 2.258527e-04\n", " * time: 1.205826997756958\n", " 94 4.649231e+00 1.845068e-04\n", " * time: 1.2165379524230957\n", " 95 4.649231e+00 1.604665e-04\n", " * time: 1.2274589538574219\n", " 96 4.649231e+00 1.756582e-04\n", " * time: 1.2379930019378662\n", " 97 4.649231e+00 1.070845e-04\n", " * time: 1.2585229873657227\n", " 98 4.649231e+00 1.666360e-04\n", " * time: 1.2692358493804932\n", " 99 4.649231e+00 9.945995e-05\n", " * time: 1.2803468704223633\n", " 100 4.649231e+00 1.083455e-04\n", " * time: 1.2910728454589844\n", " 101 4.649231e+00 1.575028e-04\n", " * time: 1.3020977973937988\n", " 102 4.649231e+00 1.279942e-04\n", " * time: 1.3128888607025146\n", " 103 4.649231e+00 1.613365e-04\n", " * time: 1.323638916015625\n", " 104 4.649231e+00 1.018784e-04\n", " * time: 1.3344249725341797\n", " 105 4.649231e+00 7.760829e-05\n", " * time: 1.3454678058624268\n", " 106 4.649231e+00 1.997232e-04\n", " * time: 1.3635668754577637\n", " 107 4.649231e+00 1.120386e-04\n", " * time: 1.3745567798614502\n", " 108 4.649231e+00 1.617915e-04\n", " * time: 1.3852307796478271\n", " 109 4.649231e+00 1.255093e-04\n", " * time: 1.3958368301391602\n", " 110 4.649231e+00 1.051908e-04\n", " * time: 1.4067068099975586\n", " 111 4.649231e+00 9.321034e-05\n", " * time: 1.4174277782440186\n", " 112 4.649231e+00 6.582039e-05\n", " * time: 1.4282758235931396\n", " 113 4.649231e+00 9.046414e-05\n", " * time: 1.4392008781433105\n", " 114 4.649231e+00 7.129896e-05\n", " * time: 1.4496798515319824\n", " 115 4.649231e+00 4.304140e-05\n", " * time: 1.4699149131774902\n", " 116 4.649231e+00 3.010609e-05\n", " * time: 1.4805779457092285\n", " 117 4.649231e+00 1.989701e-05\n", " * time: 1.4914169311523438\n", " 118 4.649231e+00 2.117241e-05\n", " * time: 1.5020818710327148\n", " 119 4.649231e+00 5.839264e-05\n", " * time: 1.5101749897003174\n", " 120 4.649231e+00 3.680273e-05\n", " * time: 1.521082878112793\n", " 121 4.649231e+00 3.672611e-05\n", " * time: 1.5317928791046143\n", " 122 4.649231e+00 3.178531e-05\n", " * time: 1.5426688194274902\n", " 123 4.649231e+00 3.765060e-05\n", " * time: 1.5534298419952393\n", " 124 4.649231e+00 2.495741e-05\n", " * time: 1.5740227699279785\n", " 125 4.649231e+00 2.040485e-05\n", " * time: 1.5847418308258057\n", " 126 4.649231e+00 1.719288e-05\n", " * time: 1.5955188274383545\n", " 127 4.649231e+00 1.298731e-05\n", " * time: 1.6062068939208984\n", " 128 4.649231e+00 9.637198e-06\n", " * time: 1.6170377731323242\n", " 129 4.649231e+00 6.912178e-06\n", " * time: 1.6278159618377686\n", " 130 4.649231e+00 7.597055e-06\n", " * time: 1.6384599208831787\n", " 131 4.649231e+00 7.237671e-06\n", " * time: 1.6490209102630615\n", " 132 4.649231e+00 5.094302e-06\n", " * time: 1.65982985496521\n", " 133 4.649231e+00 3.787071e-06\n", " * time: 1.6801769733428955\n", " 134 4.649231e+00 3.269899e-06\n", " * time: 1.691051959991455\n", " 135 4.649231e+00 3.607929e-06\n", " * time: 1.7017848491668701\n", " 136 4.649231e+00 2.583156e-06\n", " * time: 1.7124137878417969\n", " 137 4.649231e+00 2.686288e-06\n", " * time: 1.7231128215789795\n", " 138 4.649231e+00 4.143543e-06\n", " * time: 1.7336678504943848\n", " 139 4.649231e+00 3.092121e-06\n", " * time: 1.7442259788513184\n", " 140 4.649231e+00 3.278746e-06\n", " * time: 1.7547688484191895\n", " 141 4.649231e+00 1.971978e-06\n", " * time: 1.7653989791870117\n", " 142 4.649231e+00 2.042079e-06\n", " * time: 1.7763969898223877\n", " 143 4.649231e+00 1.476098e-06\n", " * time: 1.796785831451416\n", " 144 4.649231e+00 2.461739e-06\n", " * time: 1.8075878620147705\n", " 145 4.649231e+00 1.483098e-06\n", " * time: 1.8182108402252197\n", " 146 4.649231e+00 1.095893e-06\n", " * time: 1.8289299011230469\n", " 147 4.649231e+00 9.883785e-07\n", " * time: 1.8395519256591797\n", " 148 4.649231e+00 1.107761e-06\n", " * time: 1.8503057956695557\n", " 149 4.649231e+00 1.081220e-06\n", " * time: 1.8610479831695557\n", " 150 4.649231e+00 6.737542e-07\n", " * time: 1.8715698719024658\n", " 151 4.649231e+00 1.249127e-06\n", " * time: 1.8820397853851318\n", " 152 4.649231e+00 8.000455e-07\n", " * time: 1.9025158882141113\n", " 153 4.649231e+00 7.142990e-07\n", " * time: 1.913435935974121\n", " 154 4.649231e+00 9.693776e-07\n", " * time: 1.9242339134216309\n", " 155 4.649231e+00 6.215984e-07\n", " * time: 1.935107946395874\n", " 156 4.649231e+00 1.153930e-06\n", " * time: 1.943511962890625\n", " 157 4.649231e+00 6.575556e-07\n", " * time: 1.9542629718780518\n", " 158 4.649231e+00 7.017550e-07\n", " * time: 1.9650869369506836\n", " 159 4.649231e+00 1.345074e-06\n", " * time: 1.975712776184082\n", " 160 4.649231e+00 5.901715e-07\n", " * time: 1.986374855041504\n", " 161 4.649231e+00 4.935390e-07\n", " * time: 2.006570816040039\n", " 162 4.649231e+00 4.122912e-07\n", " * time: 2.0171117782592773\n", " 163 4.649231e+00 3.851991e-07\n", " * time: 2.027930974960327\n", " 164 4.649231e+00 4.032574e-07\n", " * time: 2.038801908493042\n", " 165 4.649231e+00 3.095923e-07\n", " * time: 2.049362897872925\n", " 166 4.649231e+00 1.833493e-07\n", " * time: 2.0603108406066895\n", "e(1,1) / (2π)= 1.2158634835234436\n" ] }, { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=1}", "image/png": "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WrRo27Ztenr6/fffv3fv3tTU1G3bthUUFAwYMEAIsWHDhszMzPfff//GG2/0na28vDwqKkqr4fr16wsLC1NSUogRAgDqrxEjRiQkJPTv3//uu+9+9dVXn3/+eW375MmTlyxZIoRo2rTpn/70p4yMjKysrCFDhkydOlW7LmbcuHFer/e555675pprrrnmmr/85S9CiH//+9/JycmjR4/OzMwcPHjw9OnTW7duraiqalIDq5SVlT38wvRb73vwEjwWAKAujEhp5feYd1fsLzhTFtBp9/ywsuSnVZ988smFDnC73StXriwqKrrxxht946K7d+9u2rRpixYttOK2bdv27NnTrVu33/zmN9qWH3/8sfr1pYmJiVdeeWVVVdWOHTv2798fHR3ds2fPtm3bCi6WAQBYzOrVJ1wu1+DBg6WNaWlp1Ys9evTo0aNH9S2+FrG6iIiIq6+++uqrr66+kaFRAEBYo0cIALCSeYJ8PURDCACwTBAL87L6BADg8hFM+oTdPUhihACAsEaPEABgnaBmlrFXbXuEL7/88jXXXNO8efOePXsuXrzYt33nzp033HBD06ZN09PTc3Jy6qaSAIDQYPmk25dAbRvC06dPz5o1a/fu3c8+++z48eO///57IYTX67399ttvueWWn3/+uU+fPnfeeWddVhUAAOvVtiH829/+1qdPn8TExMzMzGuvvXbjxo1CiNWrVxcVFT355JNxcXF/+tOfDh48+MMPP9RlbQEA9Zrl6xFeAgFfLFNYWPjjjz/+x3/8hxBiz549V111lcPhEEJERkZ26dJl79691tcRAIA6E9jFMh6PZ9y4cUOHDu3Tp48QorCwsPqav40bNz516lSNd1RV1begFAAgFLndbpfLZX5MKOYRBtAj9Hq99913n9vtfvvtt7UtTZo0KS4u9h1w9uzZpk2b1nhfRVGcTq5QBYAQ5rcVDFG1bZxUVZ00aVJeXt6KFSuioqK0jZ06ddq1a5eqqoqieDye/fv3Jycn11lVAQD1XuAJ9XaHCGvdI5w0adL//u//vv766wUFBbm5uYWFhUKIgQMHOp3Ot99+2+v1zp49u2XLlr169arL2gIA6jcl8D+71bYhXLNmTUVFRWZmZkZGRkZGxpw5c4QQERER2dnZb7zxRlxc3MKFCz/66KOAfwgAAGCr2g6N7ty5s8bt11133fbt262rDwAghIXixTJcwAIAsEwwk27b3RLSEAIALGV3Dy9QrD4BAAhr9AgBAJapH9eBBoaGEABgmVCMETI0CgAIa/QIAQDWCcGFeWkIAQDWUQIe6rR9aJSGEABgmWAS6uumJrVHjBAAENboEQIALEWMEAAQthShKLa3bAFiaBQAENboEQIALMPqEwCA8BaCc6zREAIALMMUawAAhBh6hAAAywQRI7R9KJWGEABgnRCMETI0CgAIa/QIAQAWCr2LZWgIAQCWCcFVmGgIAQAWCsGWkBghACCs0SMEAFgmiIR629EQAgAsE4pzjTI0CgAIa/QIAQCWUZSA0yFsH0qlIQQAWMruoc5AMTQKAAhr9AgBAFYKtQ4hDSEAwDqhuB4hDSEAwDrMLAMAQGihRwgAsEwoJtTTEAIALBOKU6wxNAoACGv0CAEA1gnBi2VoCAEAllECj/nZPpJKQwgAsIwiFCXALl6gx1uOGCEAIKzRIwQAWCeIGKHdaAgBANYJPI/Q9oaToVEAQFijRwgAsAyTbgMAwhsxQgBAOFNEED3COqpLbREjBACENXqEAADLhOAMazSEAAALhWBLyNAoACCs0SMEAFhGUYJIhyB9AgBw2WCFegBAWCNGCABAaKFHCACwTDAJ9XZ3CWkIAQCWUVh9AgCA0EJDCAAIawyNAgAsE9QyTHVUl9qiIQQAWCaIGKHd7SBDowCA8EZDCACwjhLUn6kNGzaMGjXqt7/97RtvvKGqquVVZmgUAGCdwGOE5mOpR44c+e1vf/vf//3fKSkpEydOdDgcEydOvKgaGtAjBADUX++9915GRsakSZMGDhz48ssvz5492/KHoCEEAFhG+fV6mYD+TGzduvX666/Xbl9//fV79uwpLS21ts40hAAAyyhBMA0SHj9+PCEhQbvdpEkTIURBQYG1db5EMUKHwzH/b39Z9fEHl+bhQt3PP/98xRVXBL6mV/gqKys7d+5cixYt7K5IKDl58mSDBg1iY2PtrkgoOXToUPv27e2uhW223nXXiy++aH7MoPaJgZ42Jrfla//6V8eOHatvvOvXx2rYsGFZWZm2UesLNmzYMNCHMHeJGsKoqKgDBw5UVVVdmocLdRUVFVFRUXbXIpSoqup2uyMjI+2uSCiprKx0uVz83gpImH83W7VqVRenvemmm3bu3On1eqtvbN68uXbjiiuuyM3N1W7n5ubGxcU1bdrU2goodXEpKgAAlvjXv/6VlZW1bdu2Jk2aTJgwQVXVd99919qHIH0CAFB/paen33LLLV26dElMTHQ4HF999ZXlD0GPEABQ3xUUFBQVFXXu3LkuBvNpCAEAYY30CQBAWIuYMmWK3XUIa6qq/vDDDx988MFnn32Wn5+flpbmdP4SuD1z5syrr766dOlSVVU7depkbz3rpxMnTixYsKBBgwbNmjXTthw8eHDmzJlfffVVs2bNWrZsaW/16huPx7NgwYJ58+Zt2rSpWbNm2oumquqiRYvmzp2bk5Nz1VVX+T5+EEK43e6FCxfOnz9/06ZN7dq182WzFRYWat9NIQTfzcsAPUKbHT16dOTIkYWFhe3atXvnnXcGDRrk8XiEEG63u1+/flu3bu3QocOECRMsv0rq8jBp0qQnn3xy1apVWjEvL++6666rrKxs0qTJDTfc8P3339tbvXrF4/HcdNNNf//739u2bet2uzds2KBtf+aZZ15++eXk5OQvvvhixIgR9layvhk7duwbb7zRrVu38+fPd+/ePScnRwhRWVnZt2/f7du3JyUlZWVlzZ071+5q4qKpsJXb7Xa73drt8+fPR0dHb968WVXV7OzsLl26VFVVqar6xRdfdOjQQbsNn8WLF48ePbp///5vvvmmtuWpp566++67tdvPP//8yJEj7atdvfPGG290797d92HTnD17Ni4ubufOnaqqlpaWNm7ceMuWLTZVsN6pqqpyuVzbt2/XigMHDpw9e7aqqosWLerWrZvX61VV9dNPP01OTtZuI3TRI7SZ0+n0DUZ5PB6PxxMXFyeEWL169aBBgxwOhxAiIyPjp59+Onz4sJ0VrWdOnz49ZcqUmTNnVt+4evXqwYMHa7czMjJ8PUUIIZYvX37PPfcsX778lVde2bhxo7Zxy5YtjRo16tq1qxAiJiamb9++vGg+DocjJSVl69atQoizZ88ePHhQe6FWr16dnp6uXbuYkZGRk5Nz9OhRm+uKi0NDWI88/vjjQ4cO7dy5sxDi2LFjvrhXVFRU48aNjx07Zmvt6pfHHnvsySeflOZUq/6iNW/e/NSpU5WVlXbUrj766aef3n777U8++eT8+fOZmZlvvPGGEOL48eO+V0wI0aJFC/6nV/ePf/zj+eefT0lJufLKK7XVD4T+Y9agQYO4uDi+m6GOwHh9MWXKlC1btnz33Xda0el0Vp+RjvnDqlu2bNmxY8fuu+8+abvT6dQirEIIj8cTERERERFxqStXXzkcji5dumgBrZ49e953332TJ082fszCef4wSVVV1bhx4zIzMydOnPjTTz89+OCDvXr1GjBgQPWPmRDC4/Hw3Qx1NIT1wrRp0z7++OOVK1dqc6sLIdq0aZOfn6/dLioqKikpad26tX0VrF/mz59/6NCha6+9Vgixb9++Q4cOHT169IUXXmjTpo2vQ5Ofn9+yZUsaQp+2bdumpaVpt7t27Xrq1CntQ3Xs2DGv16sNwufn5/fu3dvWatYjO3bs2Lx58+rVq51OZ2pq6ujRo+fOnTtgwIDqH7NTp06Vl5fz3Qx1DI3ab+bMme+9994333xTfaBv6NChK1asKC4uFkIsWbLk2muvJRnA56WXXsrOzn7rrbfeeuut5OTku++++/777xdCDB06NDs7W1VVIUR2dvbQoUPtrmk9kpmZ6QsNrl+/vn379rGxsddee63L5fr3v/8thDh69OiGDRuGDBliazXrkaZNm7rd7iNHjmjFgwcPJiYmCiGGDh26bNmykpISIcSSJUuuv/56bTtCFzPL2OzAgQPJycnt27f3zac+Y8aMG2+8UQgxYsSIgwcP9ujRY9myZYsXLx40aJCtNa2nbrjhhjFjxkycOFEIcfbs2b59+7Zo0SI+Pn7Dhg1r1qwJ5xVzJKWlpQMHDoyJienQocMXX3zx3nvvaT8U5s2b99RTTw0ZMmT16tWZmZl/+9vf7K5pPfLoo49++umnt956a25u7u7du9euXXvFFVeoqjps2LC8vLzu3bsvW7YsOztb+8IidNEQ2qy8vHzXrl3Vt3Ts2DE+Pl4I4fV6V61aVVBQ0Ldv37Zt29pUwfpu3759TZo08V28UF5e/s0331RUVKSnpzdu3NjeutU3brd75cqVxcXFvXv3rj6at2/fvi1btnTo0KFXr142Vq9+2rlz5+7duxMSEvr27RsTE6Nt9H03+/Xr16ZNG3triItHQwgACGvECAEAYY2GEAAQ1mgIAQBhjYYQABDWaAgBAGGNhhAAENZoCAEAYY2GEAAQ1mgIAQBhjYYQABDWaAgBAGHt/wOr9HsaeO6BsgAAAABJRU5ErkJggg==", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "execution_count": 1 } ], "cell_type": "code", "source": [ "using DFTK\n", "using StaticArrays\n", "using Plots\n", "\n", "# Unit cell. Having one of the lattice vectors as zero means a 2D system\n", "a = 14\n", "lattice = a .* [[1 0 0.]; [0 1 0]; [0 0 0]];\n", "\n", "# Confining scalar potential\n", "pot(x, y, z) = ((x - a/2)^2 + (y - a/2)^2);\n", "\n", "# Parameters\n", "Ecut = 50\n", "n_electrons = 1\n", "β = 5;\n", "\n", "# Collect all the terms, build and run the model\n", "terms = [Kinetic(; scaling_factor=2),\n", " ExternalFromReal(X -> pot(X...)),\n", " Anyonic(1, β)\n", "]\n", "model = Model(lattice; n_electrons, terms, spin_polarization=:spinless) # \"spinless electrons\"\n", "basis = PlaneWaveBasis(model; Ecut, kgrid=(1, 1, 1))\n", "scfres = direct_minimization(basis, tol=1e-14) # Reduce tol for production\n", "E = scfres.energies.total\n", "s = 2\n", "E11 = π/2 * (2(s+1)/s)^((s+2)/s) * (s/(s+2))^(2(s+1)/s) * E^((s+2)/s) / β\n", "println(\"e(1,1) / (2π)= \", E11 / (2π))\n", "heatmap(scfres.ρ[:, :, 1, 1], c=:blues)" ], "metadata": {}, "execution_count": 1 } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.9.0" }, "kernelspec": { "name": "julia-1.9", "display_name": "Julia 1.9.0", "language": "julia" } }, "nbformat": 4 }