{ "cells": [ { "cell_type": "markdown", "id": "575588ca", "metadata": {}, "source": [ "# Quick Start\n", "\n", "In this simple guidance, we train a restricted Boltzmann machine to approximate\n", "the ground state of the transverse-field Ising model." ] }, { "cell_type": "code", "execution_count": null, "id": "0d247ab6", "metadata": {}, "outputs": [ { "data": { "image/png": "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IT3WAJPeWcGxcoqKiIgoGBhwgkDuwalrsSp9NmUeenBaOEVFREQUFAw4QRBj0CJGL01DldS2QhRF92XiWum5Jk5RERERBQUDTpDIfTildS2oa7HCYpNOSE+J0StTVC1WOxwO0et7EBERUfcw4ARJ2144LUr1JsGkhUGrVqaoACnkEBERUWAx4ARJ2144rS79N9JjBo0agiCN41JxIiKiwGPACZK2vXBalE3+Up0BR6USYNRysz8iIqJgYcAJkrbzqFpdlojrled5XAMREVHwMOAEyYD4jj048hQVAB7XQEREFEQMOEGSEd+22V9ZuykqADyugYiIKIgYcIJEnqJqtthxqLwBAJAW4zpFxYBDREQULAw4QWLQqpEYpQMAHK9qBgCkx7lWcOQeHE5RERERBRoDThBluAQawFsPDis4REREgcaAE0TyUnEAUAlAkrOiA7gEHB7XQEREFHAMOEEkb/YHAMnRemjUbbfbpOcycSIiomBhwAki1wpOervpKhM3+iMiIgoaBpwgcq3gpMa0CzjswSEiIgoaBpwgyoxvq+CkuexiDHCKioiIKJgYcILIdRVVeqy3Cg6nqIiIiAKNASeI0mINyqnhaR0CDis4REREwcKAE0RatQqpzt2LU9pPUbGCQ0REFDQMOEF287RBmJSTgCmDEt0eZ5MxERFR8GhCfQGRbtEFQ7HogqEdHucUFRERUfCwghMinKIiIiIKHgacEOEUFRERUfAw4ISI6xSVKIohvhoiIqLIwoATIia9VMGxO0RY7I4QXw0REVFkYcAJEfksKoAnihMREQUaA06IaNQq6DTS7W+2MuAQEREFEgNOCCmNxmaupCIiIgokBpwQkqepuJKKiIgosBhwQkg+UbyJe+EQEREFFANOCMlTVC2s4BAREQUUA04IcbM/IiKi4GDACaG2zf44RUVERBRIDDghxAoOERFRcDDghBADDhERUXAw4IQQp6iIiIiCgwEnhOQKThOPaiAiIgooBpwQ4jJxIiKi4GDACSFliopnUREREQUUA04I8SwqIiKi4GDACSH5qAauoiIiIgosBpwQajtskxUcIiKiQGLACSGTnvvgEBERBQMDTgi17YPDgENERBRIDDgh1LaTMaeoiIiIAokBJ4R4VAMREVFwMOCEkDxFZbY5YHeIIb4aIiKiyMGAE0JyBQfgNBUREVEgMeCEkF6jgkqQ/sxpKiIiosBhwAkhQRAQxZVUREREAceAE2JG5URxTlEREREFSkgDTmFhIebOnYvk5GTExsZi+vTpWLdunc/XLFy4EIIguH3NmTOnl6448JQTxXngJhERUcCENOBcfvnlsNlsWLt2LbZu3Yrx48fj8ssvR1lZmc/XzZkzB6WlpcrXhx9+2EtXHHjySipWcIiIiAJHE6oPrqysxKFDh/Dmm29i3LhxAICnn34ar7zyCvbs2YP09HSvr9Xr9T6f70uUCg57cIiIiAImZBWcpKQkjBgxAsuWLUNTUxNsNhtee+01pKamYuLEiT5fu379eqSmpmLEiBG48847UVVV5XO82WxGfX2921e44IniREREgReyCo4gCPjuu+8wb948xMTEQKVSITU1FStXrkRCQoLX182ZMwdXXXUVcnNzceTIETz88MO45JJLsHHjRqjVao+vWbJkCf785z8H61vpEZ4oTkREFHgBr+AsXry4QxNw+68DBw5AFEUsWrQIqamp+PHHH1FQUIB58+bhiiuuQGlpqdf3nz9/Pq688kqMHTsW8+bNw4oVK7B582asX7/e62seeugh1NXVKV/FxcWB/ra7jSeKExERBV7AKzj3338/Fi5c6HPM4MGDsXbtWqxYsQI1NTWIjY0FALzyyitYvXo13n33XSxevNivzxs8eDCSk5Nx+PBhzJw50+MYvV4PvV7fpe+jt8g9OE0MOERERAET8ICTkpKClJSUTsc1NzcDAFQq9yKSSqWCw+Hw+/NOnjyJqqoqZGRkdO1Cw4S8iqqFU1REREQBE7Im42nTpiEhIQELFizAzp07UVhYiAceeADHjh3DZZddpozLy8vD8uXLAQCNjY144IEHsGnTJhw/fhxr1qzB3LlzMXToUMyePTtU30qPsIJDREQUeCELOMnJyVi5ciUaGxtx4YUXYtKkSdiwYQM+//xzjB8/Xhl38OBB1NXVAQDUajV27dqFK6+8EsOHD8ett96KiRMn4scffwzbKajOcJk4ERFR4IVsFRUATJo0CatWrfI5RhRF5c9Go7HT8X2NSTmLilNUREREgcKzqEJMruBwFRUREVHgMOCEmImniRMREQUcA06ImXiaOBERUcAx4IQYTxMnIiIKPAacEGs7TZwBh4iIKFAYcEKsbZk4p6iIiIgChQEnxJSzqKx2tyXxRERE1H0MOCEmT1GJ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import quantax as qtx\n", "import matplotlib.pyplot as plt\n", "\n", "# Define a spin chain with 8 spins, stored as a global object in quantax\n", "lattice = qtx.sites.Chain(L=8)\n", "\n", "# Ising hamiltonian with transverse field h=1\n", "H = qtx.operator.Ising(h=1)\n", "\n", "# Exact diagonalization\n", "E, wf = H.diagonalize()\n", "\n", "# RBM wavefunction with 16 hidden units\n", "model = qtx.model.RBM_Dense(features=16)\n", "\n", "# Construct variational state\n", "state = qtx.state.Variational(model)\n", "\n", "# Sampler with local flip updates\n", "sampler = qtx.sampler.LocalFlip(state, nsamples=64)\n", "\n", "# Stochastic reconfiguration optimizer\n", "optimizer = qtx.optimizer.SR(state, H)\n", "\n", "energy_data = qtx.utils.DataTracer()\n", "for i in range(100):\n", " samples = sampler.sweep()\n", " step = optimizer.get_step(samples)\n", " state.update(step * 1e-2)\n", " energy_data.append(optimizer.energy)\n", "\n", "energy_data.plot(baseline=E)\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "quantax_env", "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.12.11" } }, "nbformat": 4, "nbformat_minor": 5 }