diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..d1f7a40 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +qlpdb/data/ +qlpdb/media/ +.git +.github +docs +notebooks +Notes +paper +*.egg-info diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..7d58636 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +qlpdb/data.tar.gz filter=lfs diff=lfs merge=lfs -text diff --git a/.github/workflows/compile-tex.yaml b/.github/workflows/compile-tex.yaml index 58ff8e4..28a1090 100644 --- a/.github/workflows/compile-tex.yaml +++ b/.github/workflows/compile-tex.yaml @@ -16,10 +16,3 @@ jobs: with: name: main.pdf path: paper/main.pdf - - name: Send slack notification - uses: rtCamp/action-slack-notify@v2.0.2 - env: - SLACK_WEBHOOK: https://hooks.slack.com/services/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 - SLACK_USERNAME: "CompileBot" - SLACK_TITLE: "PDF compiled!" - SLACK_MESSAGE: "I was able to compile the most recent pdf. You can check it out here: https://github.com/cchang5/quantum_linear_programming/actions." diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml new file mode 100644 index 0000000..29a5d03 --- /dev/null +++ b/.github/workflows/docker-build.yaml @@ -0,0 +1,12 @@ +name: Build qlp & qlpdb and load data +on: [push] +jobs: + docker_compose: + runs-on: ubuntu-latest + steps: + - name: Set up Git repository + uses: actions/checkout@v1 + - name: Git LFS Pull + run: git lfs pull + - name: Build the stack + run: docker-compose build diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e69ba75 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +# Load in python image +FROM python:3.7-buster + +# Who to contact +MAINTAINER Christopher Körber + +# Environment variables and dirs used +ENV APP_DIR=/opt/app + +# Create dirs +RUN mkdir -p $APP_DIR +RUN mkdir -p $APP_DIR/qlp +RUN mkdir -p $APP_DIR/qlpdb +RUN mkdir -p $APP_DIR/.pip_cache + +# Install requirements +RUN pip install --upgrade pip --cache-dir $APP_DIR/.pip_cache + +## Install qlp +WORKDIR $APP_DIR/qlp +COPY requirements.txt . +COPY README.md . +COPY setup.py . +COPY qlp qlp +RUN pip install -r requirements.txt --cache-dir $APP_DIR/.pip_cache +RUN pip install . + +# Install qlpdb +# DO NOT COPY FILES LIKE db-config.yaml or settings.yaml if they contain secrete passwords +WORKDIR $APP_DIR/qlpdb +COPY qlpdb/requirements.txt . +COPY qlpdb/setup.py . +COPY qlpdb/settings.yaml . +COPY qlpdb/db-config.example.yaml db-config.yaml +COPY qlpdb/README.md . +COPY qlpdb/manage.py . +COPY qlpdb/qlpdb qlpdb +RUN pip install -r requirements.txt --cache-dir $APP_DIR/.pip_cache +RUN pip install . + +# Port to expose +EXPOSE 8000 + +# Run entrypoint script +CMD ["python", "manage.py", "runserver"] diff --git a/README.md b/README.md index 2f7758b..1d07765 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,130 @@ -# qlp +# Integer Programming from Quantum Annealing and Open Quantum Systems -Module for converting set of inequalities to matrix which can be implemented on a quantum annealer. +This repository contains software and data associated with the publication [Integer Programming from Quantum Annealing and Open Quantum Systems [2009.11970]](https://arxiv.org/abs/2009.11970). -## Description +It contains Python code for mapping [Integer Linear Programming problems](https://en.wikipedia.org/wiki/Integer_programming), notably the [Minimum Dominating Set](https://mathworld.wolfram.com/MinimumDominatingSet.html) Problem, to [QUBOs or Ising Hamiltonians utilized as input for Quantum Annealers](https://docs.dwavesys.com/docs/latest/c_gs_3.html#qubo). +It furthermore contains code that simulates the quantum hardware. -The module `qlp` converts a set of `sympy` equations to a `numpy` matrix which corresponds to a constrained minimization problem. -## Install -Install via pip +## How to install it? + +This repository contains two modules: + +1. `qlp` used for computations and +2. `qlpdb` for accessing and storing computation data + + +### Install the computation module +The `qlp` module can be installed via pip: ```bash -pip install [-e] [--user] . +pip install [--user] . ``` -## Compile the doc -Run once to get dependencies +### Install the data module + +To interface with the publication data, you also have to install the data module `qlpdb` ```bash -pip install [-e] [--user] . -pip install -r requirements-dev.txt +cd qlpdb +pip install [--user] . ``` -Compile the docs + +### Access publication data + +This repository contains all the data presented in [[2009.11970]](https://arxiv.org/abs/2009.11970). +To access this data, you must host a [PostgreSQL database](https://www.postgresql.org/about/) (other database formats are not sufficient because we have implemented `JSON` and `ArrayFields`). +We provide more information on the [`qlpdb/README.md`](qlpdb/README.md). + +## Usage + +### `qlp` + +The module `qlp` contains two major components: + +* The first submodule, `mds`, was used to map the Minimum Dominating Set Problem to annealing Hardware: + ```python + from qlp.mds.graph_tools as generate_nn_graph + from qlp.mds.qubo import get_mds_qubo + + # generate line graph of length 4: o-o-o-o + graph, tag = gt.generate_nn_graph(4) + # Generate mds qubo + qubo = get_mds_qubo( + graph, # The graph as a set of edges + directed=False, # no directed edges + penalty=2 # strength of penalty term + ) + ``` + The solution to the MDS problem is given by the bit vector `psi`, which minimizes + ```python + E = psi.T@qubo@psi + ``` + The QUBO serves as input for the annealing hardware. +* the second submodule, `tdse`, simulates the time-dependent Schrödinger equation for given input (Ising) Hamiltonians: + ```python + from qlp.mds.mds_qlpdb import QUBO_to_Ising, graph_summary + from qlp.tdse import TDSE + + Jij, hi, c = QUBO_to_Ising(qubo.todense().tolist()) + ising_params = { + "Jij": [list(row) for row in Jij], + "hi": list(hi), + "c": c, + "energyscale": annealing_time * 1000.0, + "qubo_constant": penalty * nvertices, + "penalty": penalty, + } + graph_params = graph_summary(tag, graph, qubo) + ... + # Initialize the solver + tdse = TDSE( + graph_params, # Graph parameters + ising_params, # Ising Hamiltonian parameters + offset_params, # how is the annealing curve implemented + solver_params, # numerical parameters for solving the time-dependent equation + ) + # Compute the starting wave density + rho = tdse.init_densitymatrix( + temp, # full counting decoherence parameters + temp_local, # local decoherence parameters + initial_wavefunction="transverse", + ) + tdse.gamma = gamma # set FC decoherence rate + tdse.gamma_local = gamma_local # set local decoherence rate + # Solve time-dependent Schrödinger equation + sol_densitymatrix = tdse.solve_mixed(rho) + ``` + +See also the [`notebooks`](notebooks) folder, especially the [`notebooks/runs`](notebooks/runs), for reproducing computations. + +### `qlpdb` + +`qlpdb` is an [(ORM)](https://en.wikipedia.org/wiki/Object–relational_mapping) framework for mapping database structures to Python objects using [EspressoDB](https://espressodb.readthedocs.io/en/latest/) / [Django](https://www.djangoproject.com). + +Once the database [is appropriately set up](qlpdb/README.md), you can launch a local web server for inspecting data and browsing the documentation (viewable in any browser) ```bash -cd docs -make html -open build/html/index.html +cd qlpdb +python manage.py runserver ``` +and query data in Python code +```python +from qlpdb.tdse.models import Tdse +... +solutions = Tdse.objects.filter( + graph__tag=graph_params["tag"], + offset__contains=convert_params(offset_params), + ising__contains=convert_params(ising_params), + solver__contains=solver_params, + wave__contains=wave_params, +) +``` + +## Who is responsible for it? +* [@cchang5](https://github.com/cchang5) +* [@ckoerber](https://www.ckoerber.com) +* [@lastyoru](https://github.com/lastyoru) + +Feel free to reach out for questions. + +## License + +BSD 3-Clause License. See also the [LICENSE](LICENSE.md) file. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7690bc2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' + +services: + db: + build: + context: qlpdb + dockerfile: Dockerfile.postgres + environment: + - POSTGRES_DB=qlpdb + - POSTGRES_USER=admin + - POSTGRES_PASSWORD=postgres + ports: + - "5432:5432" + expose: + - "5432" + qlpdb: + build: . + ports: + - "8000:8000" + depends_on: + - db + command: "python manage.py runserver 0.0.0.0:8000" diff --git a/notebooks/brute_force_solver.ipynb b/notebooks/brute_force_solver.ipynb index 000d0bd..42f0702 100644 --- a/notebooks/brute_force_solver.ipynb +++ b/notebooks/brute_force_solver.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 7, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -55,22 +55,21 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ - "# Dwave assume Ising\n", - "h = np.array([-3.0, 10.5, 2.5, 6.0, 6.0])\n", - "J = np.array([[ 0, 0, 8, -4, -4],\n", - " [ 0, 0,-16, -4, -4],\n", - " [ 0, 0, 0, 0, 0],\n", - " [ 0, 0, 0, 0, 0],\n", - " [ 0, 0, 0, 0, 0]])" + "#Ising\n", + "h = np.array([ 1.5, 1.5, -1., -1. ])\n", + "J = np.array([[ 0., 2., -1., -1.],\n", + " [ 0., 0., -1., -1.],\n", + " [ 0., 0., 0., 0.],\n", + " [ 0., 0., 0., 0.]])" ] }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 5, "metadata": { "scrolled": true }, @@ -78,14 +77,13 @@ { "data": { "text/plain": [ - "array([[ -6., 0., 32., -16., -16.],\n", - " [ 0., 69., -64., -16., -16.],\n", - " [ 0., 0., 21., 0., 0.],\n", - " [ 0., 0., 0., 28., 0.],\n", - " [ 0., 0., 0., 0., 28.]])" + "array([[ 3., 8., -4., -4.],\n", + " [ 0., 3., -4., -4.],\n", + " [ 0., 0., 2., 0.],\n", + " [ 0., 0., 0., 2.]])" ] }, - "execution_count": 96, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -97,41 +95,7 @@ }, { "cell_type": "code", - "execution_count": 154, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[ 0. 0. 0. 2. -4.]\n", - " [ 0. 0. 0. -1. -1.]\n", - " [ 0. 0. 0. -1. -1.]\n", - " [ 0. 0. 0. 0. 0.]\n", - " [ 0. 0. 0. 0. 0.]] [-0.75 1. 1. -1.5 -0.75]\n" - ] - } - ], - "source": [ - "# DWave assume QUBO\n", - "Q = [[2.5, 0.0, 0.0, 8.0, -16.0], [0.0, 6.0, 0.0, -4.0, -4.0], [0.0, 0.0, 6.0, -4.0, -4.0], [0.0, 0.0, 0.0, -3.0, 0.0], [0.0, 0.0, 0.0, 0.0, 10.5]]\n", - "J, h, _ = transform.QUBO_to_Ising(Q)\n", - "print(J, h)" - ] - }, - { - "cell_type": "code", - "execution_count": 137, - "metadata": {}, - "outputs": [], - "source": [ - "# Hand craft\n", - "Q = [[-3.0, 8.0, -4.0, -4.0], [0.0, -3.0, -4.0, -4.0], [0.0, 0.0, 6.0, 0.0], [0.0, 0.0, 0.0, 6.0]]" - ] - }, - { - "cell_type": "code", - "execution_count": 146, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -140,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 147, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -149,47 +113,31 @@ }, { "cell_type": "code", - "execution_count": 148, + "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[[-2.0, array([0., 0., 0., 1., 0.])],\n", - " [-2.0, array([1., 0., 0., 0., 1.])],\n", - " [-1.3333333333333321, array([1., 1., 1., 1., 1.])],\n", - " [-0.6666666666666665, array([0., 0., 1., 1., 0.])],\n", - " [-0.6666666666666665, array([0., 1., 0., 1., 0.])],\n", - " [-0.6666666666666661, array([1., 0., 1., 0., 1.])],\n", - " [-0.6666666666666661, array([1., 1., 0., 0., 1.])],\n", - " [0.0, array([0., 0., 0., 0., 0.])],\n", - " [8.881784197001252e-16, array([1., 0., 1., 1., 1.])],\n", - " [8.881784197001252e-16, array([1., 1., 0., 1., 1.])],\n", - " [0.6666666666666674, array([0., 1., 1., 1., 0.])],\n", - " [0.6666666666666679, array([1., 1., 1., 0., 1.])],\n", - " [1.333333333333334, array([1., 0., 0., 1., 1.])],\n", - " [1.6666666666666667, array([1., 0., 0., 0., 0.])],\n", - " [2.333333333333334, array([0., 1., 1., 1., 1.])],\n", - " [3.666666666666667, array([0., 0., 1., 1., 1.])],\n", - " [3.666666666666667, array([0., 1., 0., 1., 1.])],\n", - " [4.0, array([0., 0., 1., 0., 0.])],\n", - " [4.0, array([0., 1., 0., 0., 0.])],\n", - " [5.0, array([0., 0., 0., 1., 1.])],\n", - " [5.0, array([1., 0., 0., 1., 0.])],\n", - " [5.666666666666667, array([1., 0., 1., 0., 0.])],\n", - " [5.666666666666667, array([1., 1., 0., 0., 0.])],\n", - " [6.333333333333334, array([1., 0., 1., 1., 0.])],\n", - " [6.333333333333334, array([1., 1., 0., 1., 0.])],\n", - " [7.0, array([0., 0., 0., 0., 1.])],\n", - " [7.666666666666668, array([1., 1., 1., 1., 0.])],\n", - " [8.0, array([0., 1., 1., 0., 0.])],\n", - " [8.333333333333334, array([0., 0., 1., 0., 1.])],\n", - " [8.333333333333334, array([0., 1., 0., 0., 1.])],\n", - " [9.666666666666668, array([0., 1., 1., 0., 1.])],\n", - " [9.666666666666668, array([1., 1., 1., 0., 0.])]]" + "[[-1.0, array([0., 1., 1., 1.])],\n", + " [-1.0, array([1., 0., 1., 1.])],\n", + " [0.0, array([0., 0., 0., 0.])],\n", + " [1.0, array([0., 1., 0., 1.])],\n", + " [1.0, array([0., 1., 1., 0.])],\n", + " [1.0, array([1., 0., 0., 1.])],\n", + " [1.0, array([1., 0., 1., 0.])],\n", + " [2.0, array([0., 0., 0., 1.])],\n", + " [2.0, array([0., 0., 1., 0.])],\n", + " [2.0, array([1., 1., 1., 1.])],\n", + " [3.0, array([0., 1., 0., 0.])],\n", + " [3.0, array([1., 0., 0., 0.])],\n", + " [4.0, array([0., 0., 1., 1.])],\n", + " [8.0, array([1., 1., 0., 1.])],\n", + " [8.0, array([1., 1., 1., 0.])],\n", + " [14.0, array([1., 1., 0., 0.])]]" ] }, - "execution_count": 148, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } diff --git a/notebooks/d-wave_benchmark.ipynb b/notebooks/d-wave_benchmark.ipynb index 72bc5d7..de680f7 100644 --- a/notebooks/d-wave_benchmark.ipynb +++ b/notebooks/d-wave_benchmark.ipynb @@ -1419,9 +1419,9 @@ ], "metadata": { "kernelspec": { - "display_name": "quantum_linear_programming", + "display_name": "Python 3", "language": "python", - "name": "quantum_linear_programming" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -1433,7 +1433,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.8.3" } }, "nbformat": 4, diff --git a/notebooks/devel.ipynb b/notebooks/devel.ipynb index 63405d4..f3d2e25 100644 --- a/notebooks/devel.ipynb +++ b/notebooks/devel.ipynb @@ -410,9 +410,9 @@ ], "metadata": { "kernelspec": { - "display_name": "qlp", + "display_name": "Python 3", "language": "python", - "name": "qlp" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -424,7 +424,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.5" + "version": "3.8.3" } }, "nbformat": 4, diff --git a/notebooks/example-problem.ipynb b/notebooks/example-problem.ipynb index b0f2255..ca80a47 100644 --- a/notebooks/example-problem.ipynb +++ b/notebooks/example-problem.ipynb @@ -47737,9 +47737,9 @@ ], "metadata": { "kernelspec": { - "display_name": "quantum_linear_programming", + "display_name": "Python 3", "language": "python", - "name": "quantum_linear_programming" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -47751,7 +47751,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.8.3" } }, "nbformat": 4, diff --git a/notebooks/hamming-graph.ipynb b/notebooks/hamming-graph.ipynb index 8c0ed2f..4e6bf5a 100644 --- a/notebooks/hamming-graph.ipynb +++ b/notebooks/hamming-graph.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -29,21 +29,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ - "d = 3\n", - "q = 2\n", + "d = 1\n", + "q = 5\n", "kq = complete_graph(q)\n", "graph, name = gt.generate_hamming_graph(d, q, v_as_string=True)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "gt.get_plot(kq.edges)\n", "plt.show()" @@ -51,9 +62,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfkAAAF+CAYAAACBA2OEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAewgAAHsIBbtB1PgAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd1hT5/s/8HfYAjIFHDjqQLSKdVDFvWu1FVBEwSqKq2JR24rWiiJu/Wi1aB1VERW0ItZVbR3gqFuBOkHrqDjYS1aAkOf3hz/ON5EVQpITwv26rlxXcnLynDsn4z7nWUfAGGMghBBCiMbR4jsAQgghhCgHJXlCCCFEQ1GSJ4QQQjQUJXlCCCFEQ1GSJ4QQQjQUJXlCCCFEQ1GSJ4QQQjQUJXlCCCFEQ1GSJ4QQQjQUJXlCCCFEQ1GSJ4QQQjQUJXlCCCFEQ1GSJ4QQQjQUJXlCCCFEQ1GSJ4QQQjQUJXlCCCFEQ1GSJ4QQQjQUJXlCCCFEQ1GSJ4QQQjQUJXlCapn+/ftDIBBAIBDg4sWLfIejUDk5OWjcuDEEAgFGjRrFdzgqs337du4zvXr1Kt/hEA1CSb6Ok0wYS5curdZrly5dyr22f//+SomP1C3Lli1DYmIitLW1sWrVqkrXzc7ORlRUFNatW4cxY8agRYsW3PdRIBAgJCREaXFKbkeWW+vWrSstb+rUqbCzswMA+Pr6QiwWKy12Urfo8B0AIYQAwMuXLxEUFAQAGDt2LOzt7Stc18PDA4cOHQJjTFXhKZWOjg5+/PFHTJo0CbGxsQgLC8OECRP4DotoAEryhBC1sHz5chQVFQEAFixYUOm6iYmJapPgZ82aVeU6VlZWVa7j6emJxYsX49WrVwgMDISHhwd0dOgvmtQMfYMIqWU0rR0eAN6+fYt9+/YBAHr37g0HB4cqX6OlpQV7e3t8+umncHR0hKOjI0aPHo1Xr14pO1wpW7ZsUUg5urq6mD59OhYvXoxnz54hIiIC48aNU0jZpO6iJE8I4d3WrVtRXFwM4H37tCzrN2vWDMbGxlLLtbRqdzejyZMnIyAgAGKxGD///DMleVJjtfsXQQip9cRiMddJTk9PDy4uLlW+pn379mUSvCZo0qQJevXqBQC4ceMG4uLieI6I1HaU5InSvXz5Etu2bYOHhwc6dOgAU1NT6OrqwtLSEg4ODpg5cyZu3LghU1mTJk0q03s6IyMD69atg6OjIxo0aAB9fX3Y2dnh+++/R1paWpkyEhISsGDBAnTq1AmmpqYwMTGBo6MjNm3axJ1NVuTixYvljig4duwYnJ2d0bx5c+jr68PKygouLi64cuVKmTIKCwuxd+9eDBgwAE2aNIGBgQFatGiBGTNm4OXLl1XuA1mG0JW3n/Ly8rB161b07t0bNjY20NfXR9OmTeHh4VHtYVsPHjzAzJkz0aZNGxgaGqJBgwbo1q0bVq9eze3zkJAQLoZJkyZVWNalS5fw5s0bAMCAAQNgamparVg0jaurK3c/NDSUx0iIRmCkTuvXrx8DwACwgICAar02ICCAe22/fv3KXWfevHlMIBBw61V28/DwYHl5eZVu08vLi1t/z5497Pbt26xp06YVltm0aVP24sUL7vW//vor09fXr3D9Xr16sdzc3Aq3f+HCBan3nJuby0aPHl1heQKBgO3cuZN7/ZMnT1jbtm0rXN/Y2Jj9/fffle4Dyc/swoULMu2nR48esXbt2lW6/5csWVLpdkutXbuW6erqVlhOo0aN2NWrV9mePXu4ZV5eXhWW9+2333LrrV27VqYYKtK8eXOp960sku9X0WJjY7myHRwcFF4+qVuoTZ4o1atXr8AYg0AgQNu2bdG2bVtYWlpCV1cX6enpiI2NxbNnzwAABw8eRHZ2Nv744w8IBAKZyvbz80NaWhpsbGzQt29fmJmZ4d9//8Xly5chFovx6tUrfP7553jw4AEOHjyI6dOnAwDs7e3RrVs36Onp4c6dO7h37x4A4OrVq5g7dy527twp0/ubMmUKjhw5Aj09PfTp0wcfffQRsrOzERkZiYyMDDDGMGPGDLRt2xZ2dnYYMGAA3rx5AzMzM/Tr1w/W1tZ48+YNIiMjUVhYiNzcXIwaNQqPHz+Gubm5nHtd2tu3bzF48GC8ffsWZmZm6NOnDxo2bIi0tDRERUUhOzsbwPsx6u3bt8fYsWMrLOunn36S6vluYGCAAQMGwNbWFmlpabhw4QISExPxxRdfYO7cuTLFd+7cOe5+79695XyX/Ll8+TJu3ryJ5ORk6OrqokGDBujSpQt69OiBevXqVbu8Tp06wcTEBO/evcO9e/eQlJSEhg0bKiFyUifwfZRB+KXsM/l169axPXv2sNTU1ArLuXz5MmvdujVX1v79+ytcV/IMVU9PjwkEArZixQpWXFwstd6VK1dY/fr1uXVXrlzJjI2NmampKTtx4kSZcoOCgqTOvp8/f17u9iXP5PX09BgA1rdvX/by5Uup9bKystiAAQO4dQcMGMCcnZ0ZAObr61umtiAuLo41btyYW3/p0qUV7oPqnsmX1lzMnz+/TE1Jeno6GzhwILduy5YtmVgsLrfMBw8ecO8ZABsxYgRLSUmRWicvL499/fXXUttFJWfyOTk5TEtLi9vv7969q/B9y4KPM/mKbiYmJmz+/PksOzu72uX37NmTK+f48eNKeAekrqAkX8dJJgxHR0c2a9YsmW+Ojo5VJnlZvXjxghkYGDAA7NNPP61wPcnkVVUyXL16tdS6Wlpa7OLFixWuP3ToUG7dNWvWlLuOZJIHwNq1a8fy8/PLXTchIYHp6OhIrT9lypQKt3/gwAFuPXt7+wrXq26SB8AWLlxYYXlJSUnMyMiIW/fGjRvlrufm5sat061bN1ZYWFhhmWPGjJHafkVJ/vr169w6TZo0qbA8WalTki+9tWnThsXFxVWr/ClTpnCvDwwMVNK7IHUBJfk6TjJh1ORW0yTPGGOff/45d0ZX0dmPZPKysbGpNNE8f/5cKsZRo0ZVuv3g4GBu3dGjR5e7zodJvqqzrL59+0qdUX945iupoKCAO/ut7Ky2ukneysqKFRQUVBqnu7s7t/7mzZvLPJ+eni7VDh8VFVVpeQkJCdwZemVJXvLApnv37pWWKQtVJXkDAwPm6enJwsLCWHx8PMvJyWFFRUXszZs37Pfff2fDhg2T+p40b96cJScny1z+kiVLuNdOmjRJae+DaD5qkycqk5CQgFu3buHJkyfIyspCQUGB1KxlL168AAAwxnD37l306dOn0vK+/PJL6OnpVfj8Rx99BCMjI+Tl5QEARo8eXWl5HTp0KBNLZerVq4fPP/+8yjIvX74MAOjbt2+lM58ZGBigVatWePToERhj+O+//9CxY8cq46jKl19+CQMDg0rX6dy5M8LDwwEA//33X5nnr127xo08aNSoUZXXKmjatCn69u1b5cQ9ycnJ3H1LS8tK11Unb968gYWFRZnljRs3hqurK1xdXREcHIxp06ZBLBbj5cuXWLhwIXbv3i1T+Q0aNODuJyUlKSxuUvdQkiecgICAal2kZunSpQgMDKxyvevXr+OHH37A33//LfNUpOUNffvQxx9/XOU6ZmZmXJJv3759petKdnR79+5dlWXb2dlBV1dX5jKr2r48MchClgMFyQRb2hFP0j///MPdd3R0lKljpKOjY5VJvvSzASBXJzW+lJfgP+Tt7Y0XL15gxYoVAIC9e/di1apVsLGxqfK1kvtCch8RUl00Tp4oVXBwMHr16oXLly9Xa67xnJycKteRZTy15NzfVa0vuW5V4+WVsX15YpCFLNuVPFgpb7uSB122trYybbdJkyYyrVdKlgOH2mbBggVcwi4pKcHZs2dlel11fiuEVIaSPFGauLg4zJgxg/vDcnBwQFBQEG7fvo2UlBSuur705uXlxb1WlkttVjcpKDqJ8L19VW43NzeXu29oaCjTa4yMjKq1Tn5+fvUDU3PGxsbo3r0791jWGeyEQiF3X5b9SEhFqLqeKM3GjRshEokAAMOHD8exY8cqrd6W5eyd8EOeZCxLNbPk+G9Zmmhqo0aNGnH309PTZXpNampqua8npLroTJ4oTWRkJHd/+fLlVbZfyzKlK+GHZEew169fy/Sa0qlqK9OiRYtql1vbSB7syHpWLrnvJPcRIdVFSZ4ozdu3b7n7VXWSy87O5madI+rnk08+4e7fuXNHpjbj27dvV7lOx44duSvHJSYmamRtjmSnRVnPyuPj47n7kvuekOqiJE+URvKyn1VV8e7atUthHc2I4vXs2ZOriXn79m2VveZfvXqFv//+u8pyjYyMuFEHjDGNO9CLjIxEQkIC97hfv35VvoYxhgcPHnCPP/30U6XERuoGSvJEaVq2bMndP378eIXr/fvvvzINxSP8sbS0xMiRI7nH8+fPR1FRUYXrz5s3DyUlJTKVPWTIEO5+eVftUzeSnRArk56ejq+//pp73LZtW3Tr1q3K1929e5cbPung4EDz1pMaoSRPlOaLL77g7n/33Xc4c+ZMmXUiIyPRv39/5OTkUC9iNRcQEMCdzd+5cwejRo2S6iAGvK+xmTlzJsLDw6Gvry9TuV9++SV3PyoqSnEBV5PkZYQFAkG5kwIB79vIAwIC8OTJkwrLOnPmDBwdHfH06VNu2bp166Rqtypy4cIF7r7kb4gQeVDveqI03377LXbv3o3U1FRkZmZi2LBh6NKlC9q3bw+BQICYmBg8fPgQAPDZZ5/B2toa+/fv5zlqUpGOHTti5cqVmD9/PgDg1KlTaN68OQYMGIAmTZogPT0dUVFRyMrKgpmZGb799lsEBAQAQKXJrV+/fmjSpAnevHmDixcvIjs7u8qx/Xfu3MHUqVPLLJfsB7JkyRJs2rRJ6vlu3bph165dMr/n8qSnp2PZsmVYtmwZbG1t4eDgAGtra+jr6yMtLQ23bt3Cq1evpF6zYsUKqZqQyhw9epS7P378+BrFSggleaI01tbWOH78OEaOHMkNj4qJiUFMTIzUei4uLggJCcGcOXP4CJNUg5+fH0QiEZYsWQKRSISCggKcPn1aap1GjRohIiKCO4ADgPr161dYppaWFiZPnowVK1agqKgIR48exaRJkyqNIzc3F3fv3q10nVevXpVJtmZmZhWu/2FnQm1t7UrLB96PCKhsVICNjQ22bNkCNze3KssC3h+kXL16FQDQvXt3mWZJJKQyVF1PlMrJyQkPHz7EwoUL0aFDBxgaGsLQ0BCtWrWCu7s7Tpw4gaNHj8o0KxtRDwsXLkRMTAymT5+Oli1bwsDAABYWFujSpQtWrlyJe/fuoWfPnsjIyOBeU1lyBQAfHx/uOgQ1PdOW1/3797n7vXr1QtOmTctd78mTJwgJCcGMGTPQo0cPtGrVCqamptDR0YG5uTns7e0xYcIEhIaGIiEhQeYED7yfIbJ0Iig66CWKIGA0fyIhRAnGjx+PAwcOAAAOHjyIcePGVbr+tGnTuAQfGxur8qFjrq6uOHbsGADg/PnzGDRokEq3LxKJ0KpVKyQkJKBly5Z4/Pix1DTHhMiDzuQJIQqXl5cnVY3v6OhY5WsWL17Mnc2vW7dOabGVRywW49KlSwCAPn36qDzBA8CBAwe44XYBAQGU4IlCUJInhCicv78/srKyALxP8K1ataryNc2aNcPs2bMBAOHh4VITwijbP//8g8zMTADgZTinSCTCqlWrALyf/Oarr75SeQxEM1GSJ4TILCIiAn5+flJDwySlpaXBx8dHqle7n5+fzOUvWbIEjRo1QklJCRYuXFjjeGVVOmytX79+GDBggMq2W2r37t14/PgxAGDLli0yDbUjRBbUJk8IkVlISAgmT54MALCzs0PHjh1haWmJwsJCvHjxAjdv3kRhYSG3/vjx4xEaGspXuITUedToQwiRy5MnTyqcEEZbWxuzZs3CTz/9pOKoCCGS6EyeECKzoqIinDt3Dn/99RdiYmKQnJyMtLQ05Ofnw9zcHC1atED//v3h7e2Ntm3b8h0uIXUeJXlCCCFEQ1HvDkIIIURDUZInhBBCNBQleUIIIURDUZInhBBCNBQleUIIIURDUZInhBBCNBQleUI01NixYyEQCCAQCODi4lLmeul8YYzBxcWFi62qq9MRQuRH4+QJ0UAREREYM2YMAMDCwgIPHz5Ew4YNZX59SkoKbt26hVu3buH27du4ffs20tPTAQBeXl4ICQmpUXxJSUlo3749d1GYiIgIjB49ukZlEkLKomltCdEwubm5mDVrFvd48+bN1UrwAGBjY6PosKQ0bNgQmzdv5q625uPjg88++wzGxsZK3S4hdQ1V1xOiYcLCwpCSkgIAGDlyJDw8PGpUXtOmTTF06FBFhCbF09MTI0eOBPC+5uDAgQMK3wYhdR0leUI0CGMMW7du5R4vXboUAoGg2uUsWbIEJ0+eRFJSEhISErBjxw5FhgkAEAgECAgI4B7/8ssvatNvgBBNQUmeEA1y9epV3Lt3DwDg5OSEzp07y1VOYGAgvvjiC6VX23fp0gU9evQAANy7dw/Xrl1T6vYIqWsoyROiQSTP4n18fHiMRHaScf7yyy88RkKI5qEkT4iGEIlEOH78OADA0tISbm5uPEckmzFjxsDS0hIAcPz4cYhEIp4jIkRzUJInREPExcUhPz8fADBo0CAYGBjwHJFsDAwMMHDgQABAfn4+4uPjeY6IEM1BSZ4QDREdHc3d79q1K4+RVJ9kvJLvgxBSM5TkCdEQlOQJIR+iJE+IhpBMjl26dOExkuqTjJeSPCGKQ0meEA3x+vVrAO9nqzM3N+c5muqxsLDghuuVvg9CSM1RkidEQwiFQgCAkZERz5HIx9DQEMD/vQ9CSM1RkidEQxQVFQEA9PT0eI5EPqVxFxYW8hwJIZqDkjwhGqI0SZYm+9qmNG59fX2eIyFEc1CSJ0RDlI6Lz8vL4zkS+ZSO8a8t4/sJqQ0oyROiIWxtbQEAycnJ3HXaa4uMjAwkJycD+L/3QQipOUryhGgIybHmMTExPEZSfZLx1rYx/oSoMx2+AyCEKMaHE8oMGjRI7rKuXLmCp0+fco/T0tK4+0+fPkVISIjU+pMmTZJ7W0DtnsiHEHVGSZ4QDaHIWeN27dqFvXv3lvvc1atXcfXqValllOQJUU9UXU+IBiguLsaTJ0+gra0NAIiMjKw1482FQiGioqIAvB8rb29vz3NEhGgOSvKE1GKPHj3CvHnzYGtrCzc3N5SUlAAA0tPTERERIXe5ISEhYIzJfKuJw4cPIz09HQDg7OwMHR2qYCREUQSspr9QQohKZWdn49ChQwgODsbNmzcrXM/JyQnXrl1TYWTycXJywo0bNwC87wvQq1cvniMiRHPQmTwhtQBjDJcuXcLEiRPRqFEjzJgxQyrB6+rqYsyYMTh9+jQcHBwAANevX0dsbCxfIcskJiaGS/CdOnVCz549eY6IEM1C9WKEqLHXr19j79692LNnD549e1bmeQcHB0yZMgWenp5o0KABACAhIQFff/01AGDp0qU4duwYBAKBSuOWBWMMgYGB3OOhQ4eqZZyE1GZUXU+ImiksLMSJEycQHByMs2fPQiwWSz1vZmaG8ePHw9vbG507dy6TGHNzc9GqVSukpKQAAMLCwuDp6amy+GUVFhaGr776SmrZV199hbVr16Jx48Y8RUWIZqEkT4iauHv3LoKDgxEaGoqMjAyp5wQCAQYPHgxvb2+4uLhUOfXrkSNH4ObmBuD9ZVwfPnyIhg0bKi326kpKSkL79u3LnZnPyMgIixcvxty5c2kee0JqiJI8ITzKzMzEgQMHsGfPnnLHtrdo0QKTJ0+Gl5cXmjdvXq2yx44di/DwcADve60fPXpULarDGWNwdXXF8ePHAQDu7u7o378//P39pQ5uWrdujU2bNmHEiBF8hUpI7ccIISpVUlLCzp07xzw8PJi+vj4DIHXT19dnnp6e7Pz586ykpETu7aSkpDArKyuuXH9/fwW+C/ktWrSIi8na2pqlpqYyxhhLS0tjPj4+TEtLS2p/fP755yw+Pp7nqAmpnSjJE6IiL168YAEBAaxZs2ZlEjsA1q1bN7Z161aWkZGhsG0ePXpUahtr1qxRWNnyWLNmjVQ8R48eLbPOP//8w/r27Su1nq6uLvPz82PZ2dk8RE1I7UVJnhAlys/PZ2FhYWzQoEHlJnZLS0s2d+5cdvfuXaXF8PPPP0ttc9GiRUwsFitte+URi8Xsxx9/lIojKCio0vV/++03ZmtrK/Wahg0bsr1799aohoOQuoSSPCEKJhaL2e3bt9nMmTOZqalpmcSupaXFPv/8cxYREcGEQqFKYlq1apVUDM7OziwxMVEl205MTGTOzs5S21+9erVMr83NzWX+/v5lmjV69OjBbt26peTICan9KMkToiCpqals06ZNzMHBodyz9latWrGVK1eyV69e8RJfUFCQVDzm5uYsNDRUaWf1YrGYhYaGMnNzc6ntbt68udplPX/+nLm6ukqVIxAImLe3N0tKSlJC9IRoBkryhNSASCRip0+fZm5ubkxXV7dMYjc0NGReXl7s0qVLKq8iL8/y5cvLxDhy5EgWHR2t0O1ER0ezkSNHSm3H2tq63Db46jh79ixr166dVLkmJibsp59+YkVFRQqKnhDNQUmeEDn8+++/7Mcff2RNmjQp96zdycmJ7dy5U606iuXm5rJWrVqVG29pFfi+fftYQUGBXOUXFBSwvXv3su7du5cpe9y4cVwv+poqKipiGzduZCYmJlLbaNeuHTt79qxCtkGIpqAkT4iMcnNzWUhISJme35Jnqn5+fuzRo0d8h1quOXPmcLH27t2bhYeHM2tr63I7A44ZM4atWbOGnTt3rsLe/hkZGezcuXNszZo1bMyYMczS0rLcfXLkyBGlvJ/k5GQ2ZcoUJhAIpLbp4uLCnj17ppRtElLb0GQ4hFSCMYYbN24gODgYhw4dQk5OjtTz2traGDFiBLy9vTF8+HDo6uryFGnlrl69ij59+oAxBgMDA9y7dw9t2rRBbm4uwsLCsHXrVty7d6/C19vY2MDQ0BB6enooKipCfn4+kpOTK1zfwcEBs2bNgqenJ4yNjZXxljh37tyBr68vd6EbANDX18e8efOwcOFCGBkZKXX7hKg1fo8xCFFPSUlJ7H//+1+Z9t/Sm729PVu3bp3KeqjXRH5+PmvTpg0X+/r168usIxaL2ZUrV5iHhwczNDSssEpflpu5uTkrLi5W6XssKSlh+/btYw0bNpSKxdbWlh08eFAt+kMQwgc6kyfk/ysuLsaff/6J4OBg/PHHHygpKZF63tjYGOPGjYO3tzd69OihFlPEymLevHnYsGEDAKBHjx64cuUKtLW1K1xfJBIhPj4e0dHR3O3169cQCoUoLCyEvr4+DAwMYGtri65du3K3RYsW4cSJEwCACxcuoH///qp4e1JycnKwYsUKbNy4EcXFxdzyPn36YPPmzejUqZPKYyKEV3wfZRDCt7i4OObn58dsbGzKPTPt27cvCwkJYbm5uXyHWm3Xr1/nponV19dncXFxSttWWFgYt898fHyUth1ZPH78mA0fPrzM/AQzZ85kaWlpvMZGiCrRmTypk3JychAeHo7du3fj+vXrZZ5v3LgxJk2ahEmTJqFNmzY8RFhzQqEQnTt3Rnx8PABgzZo1WLBggdK2l5OTAysrKxQWFsLGxgZv3ryptMZAFU6dOoW5c+fi6dOn3DJzc3MsX74cM2bMgI6ODo/REaICfB9lEKIqYrGYXb58mU2aNKncdmddXV02evRodurUKZW3KSvDDz/8wL03R0dHlbwnyQlrLly4oPTtyUIoFLK1a9cyY2Njqc+7Y8eOahMjIcpCSZ5ovNevX7NVq1ax1q1bl1sd36FDB7Zx40aWkpLCd6gKc+vWLa6aXk9Pj92/f18l2z1w4AC3X2fOnKmSbcrqzZs3bMKECWU+f3d3d/by5Uu+wyNEKai6nmikoqIinDx5EsHBwfjrr78gFoulnjc1NYWnpye8vb3RtWvXWtOJThaFhYXo2rUrHj58CABYsWIFFi1apJJt5+TkwNraGkKhENbW1nj79i3vVfYfunbtGmbPno3o6GhuWb169bBw4ULMmzcP9erV4zE6QhSM76MMQhTp3r17bO7cuaxBgwblnrUPGjSIhYWFsfz8fL5DVRp/f3/u/Xbu3Fnl071KVtlHRUWpdNuyEolEbOfOnWW+Jy1atGC///47DbkjGoOSPKn1MjMz2bZt21i3bt3KTexNmzZlS5YsYc+fP+c7VKWLjo5m2traDADT0dFR6iVsK3Lw4EFu33/99dcq3351ZGZmsjlz5nD7rPQ2ePBg9vDhQ77DI6TGqLqe1EpisRgXL15EcHAwjhw5AqFQKPW8vr4+XF1d4e3tjYEDB6pdlbEyFBUVwdHRkZu5bunSpQgICFB5HLm5ubCysuKq7N+8eaP2vdgfPnyIOXPmIDIyklumra0NX19fBAQEwMzMjMfoCKkBvo8yCKmOly9fssDAQNaiRYtyz9q7dOnCtmzZwtLT0/kOVeWWLl3K7QcHBwdWWFjIWyyjRo3iYomMjOQtjuoQi8XsyJEjZb5bVlZWbOfOnUwkEvEdIiHVRkmeqL2CggJ28OBBNmTIkDIXIwHALCws2OzZs1lsbCzfofLmn3/+YTo6OgwA09bWVvilY6vrt99+4z6fGTNm8BpLdeXn57Nly5axevXqSX3Punbtyq5evcp3eIRUC1XXE7UVGxuL4OBghIWFITMzU+o5gUCAoUOHYsqUKRg5ciT09fV5ipJ/xcXF6N69O2JjYwEA/v7+WL58Oa8xSVbZW1lZ4e3bt2pfZf+hhIQE+Pn5ITw8XGr5hAkTsGbNGjRu3JinyAipBr6PMgiRlJaWxoKCgtgnn3xSbnV8y5Yt2fLly1lCQgLfoaqNFStWcPvn448/ZkKhkO+QGGOMjR49movr/PnzfIcjtwsXLrCOHTtKfQ+NjY3Z2rVr1WZfE1IRSvKEdyKRiP3111/M3d2d6enplUns9erVYxMmTGAXLlxgJSUlfIerVu7fv890dXW5udlv3brFd0icQ4cO1doq+w8VFxezLVu2MHNzc6nvZuvWrdkff/zBd3iEVIiq6wlvngHjLi8AACAASURBVD9/jj179iAkJASvX78u83z37t3h7e2NsWPHwtTUlIcI1ZtIJIKTkxPu3LkDAPjhhx+wevVqnqP6P3l5ebCyskJBQQEaNGiAxMTEWldl/6H09HQsXrwYO3bskJpgafjw4di4cSPs7Ox4jI6QcvB9lEHqlry8PLZv3z7Wv3//cqvjrays2HfffccePHjAd6hqb82aNdx+a9euHSsoKOA7pDLc3Ny4GM+dO8d3OAoTGxvL+vTpU+baB/Pnz2fv3r3jOzxCOJTkidKJxWJ28+ZNNmPGDGZiYlImsWtpabEvvviC/f7777wO+6pN4uLimL6+Prf/rl+/zndI5ZKssp8+fTrf4SiUWCxmBw8eZE2aNJH6Pjds2JDt27ePmpaIWqDqeqI0KSkpCA0NRXBwMDePuiQ7Ozt4e3tjwoQJ1FO5GkpKStC7d2/cuHEDAPD9999j/fr1PEdVPk2ssv9QXl4eVq9ejfXr16OwsJBb7uTkhKCgIHTr1o3H6Eidx/dRBtEsxcXF7OTJk8zV1ZUbty15MzIyYt7e3uzKlSs0P7ic1q9fz+1POzs7tZ+Hf8yYMRpZZf+hZ8+eMRcXF6nvu0AgYFOmTGHJycl8h0fqKEryRCEeP37MfvjhB9aoUaNy29p79+7NgoODWU5ODt+h1mqPHz9mBgYGXAK5cuUK3yFVKTw8nPseTJs2je9wlO7MmTPM3t5e6vtvamrKNm7cqPKLBRFC1fVEbrm5uTh8+DCCg4Nx5cqVMs83bNgQXl5emDx5Mtq2bctDhJqlpKQE/fr1w9WrVwEAc+bMwaZNm3iOqmp5eXmwtrZGfn4+LC0tkZiYCF1dXb7DUqri4mJs2bIFS5cuxbt377jl7dq1w88//4whQ4bwGB2pU/g+yiC1i1gsZleuXGHe3t7MyMiozBm7jo4Oc3V1ZSdPnmTFxcV8h6tRNm3axO3nVq1asdzcXL5Dkplklf3Zs2f5DkdlkpKSmLe3d5nfiYuLC3v27Bnf4ZE6gJI8kcnbt2/ZmjVrmJ2dXbnV8e3bt2cbNmygtkclefr0qdRc6hcvXuQ7pGo5fPgwF/vUqVP5Dkflbt26xbp37y71m9HX12f+/v616mCN1D5UXU8qVFRUhFOnTiE4OBh//vknSkpKpJ43MTGBh4cHvL294ejoCIFAwFOkmk0sFmPgwIG4dOkSAGDWrFnYsmULz1FVT35+PqysrOpUlf2HxGIxQkNDMX/+fCQnJ3PLbW1tsX79eri7u9NviCge30cZRP08ePCAff/998zKyqrcs/YBAwawffv2sby8PL5DrRN++eUXbt+3aNGi1nZedHd3597HmTNn+A6HN9nZ2czPz4+bjrj01rdvX/bPP//wHR7RMJTkCWOMsaysLLZjx44yVYqlN1tbW+bv78+ePn3Kd6h1yvPnz6X6PtSWa7OXJyIignsfU6ZM4Tsc3sXHx7Nhw4aVmRjKx8eHpaWl8R0e0RBUXV+HicViXL58GcHBwYiIiEBBQYHU83p6enBxcYG3tzcGDx4MbW1tniKtmxhjGDJkCCIjIwEAM2bMwPbt23mOSn6SVfYWFhZISkqqc1X2H2KM4dSpU5g7dy6ePXvGLbewsMCKFSswffp0+t2RmuH3GIPw4dWrV2z58uWsZcuW5Z61d+rUiQUFBdHZBM927NjBfSZNmzZl2dnZfIdUY2PHjuXe019//cV3OGpDKBSy1atXlxmx0qlTJ3bp0iW+wyO1GCX5OkIoFLLw8HA2bNgwJhAIyiR2c3Nz9s0337CYmBi+QyWMsZcvX7L69etrXEI8cuQIVdlX4vXr12z8+PFlfp9jx45lCQkJfIdHaiGqrtdwd+/eRXBwMEJDQ5GRkSH1nEAgwODBg+Ht7Q0XFxcYGBjwFCWRxBjDsGHDcPbsWQDAlClTsGvXLp6jUoyCggJYWVkhLy8P5ubmSE5OrvNV9uW5evUqZs+ejZiYGG5ZvXr18OOPP2LevHn0WyWy4/kggyhBRkYG27JlC+vSpUu51fEtWrRggYGB7L///uM7VFKO3bt3c59VkyZNWFZWFt8hKdS4ceO49/fnn3/yHY7aEolE7Ndff2UNGjSQ+v1+9NFH7OjRo3TtByITSvIaoqSkhJ09e5aNGzeOuwSp5M3AwICNHz+eRUZG0iUw1dirV6+Yqakp97mdOnWK75AUTrLK3tvbm+9w1F5GRgabPXs209bWlvpNDxkyhD169Ijv8Iiao+r6Wu6///7Dnj17EBISgoSEhDLPOzo6wtvbG+PGjYOZmRkPERJZMcbwxRdf4PTp0wAALy8vhISE8BuUElCVvXwePHiAOXPmICoqilumo6ODb775BgEBAfT7JuXj+SCDyCE/P5+FhYWxQYMGlVsdb2lpyebOncvu3bvHd6ikGvbu3ct9ho0aNWIZGRl8h6Q0Hh4eVGUvB7FYzCIiIljz5s2lfvNWVlZs165dVEtHyqAkX0uIxWJ2+/ZtNnPmTKnq3NKblpYWGz58OIuIiGCFhYV8h0uq6e3bt8zMzIz7PI8fP853SEr1+++/c+918uTJfIdT6+Tn57PAwEDussOlt27durFr167xHR5RI1Rdr+bS0tIQGhqK4OBg3L9/v8zzrVu3hre3NyZOnIgmTZrwECGpKcYYXFxccOLECQCAp6cnwsLCeI5KuQoKCmBtbY3c3FyYmZkhOTkZenp6fIdV67x8+RJ+fn44fPiw1PKJEydizZo1aNSoEU+REbXB80EGKYdIJGKnT59mbm5uZea3BsAMDQ3ZpEmT2OXLl6mHrQYICwvjPltra+s6MwmRZJX96dOn+Q6nVouKimIdOnSQ+p8wNjZma9euZUKhkO/wCI/U5kxeJBIhLi4O0dHR3O3169cQCoUoKiqCnp4eDAwMYGtri65du3K3du3aQUdHh+/wFeLp06fYs2cP9u7dizdv3pR53snJCd7e3hg7dizq16/PQ4RE0ZKTk9G+fXtuDoMjR45g1KhRPEelGseOHYOrqysAYNKkSdizZw/PEdVuIpEI27dvx5IlS5CZmcktb9OmDTZt2oThw4fzGB3hDZ9HGGKxmP3999/Mw8ODGRoaltuJrKqboaEh8/DwYFeuXKmVZ7W5ubksJCSE9e3bt9z3Z2Njw/z8/GiojAYSi8Vs1KhR3Gft7u7Od0gqVVBQwIyNjRkAZmZmRn1JFCQ1NZV9/fXXZWa2HDFiBHvy5Anf4REV4yXJ5+TksG3btrGOHTtWmsBtbGxYy5Ytmb29PWvZsiWzsbGpdH0HBwe2fft2tb8Up1gsZteuXWNTp07l/uQkb9ra2szZ2ZkdP36cFRUV8R0uUZJDhw5xn3mDBg1YSkoK3yGpnKenp0bPCcCnmJgY1rt3b6n/Fl1dXbZgwQL27t07vsMjKqLyJB8REcGsra3LHfbl7u7O1q5dy86fP1/h8KGMjAx2/vx5tnbtWubu7s4sLS3LlGVtbc0iIiJU/M6qlpiYyNatW8fs7e3LPUixt7dn//vf/1hiYiLfoRIlS0lJkZrJ7NChQ3yHxItjx45x+8DLy4vvcDSOWCxmBw4cYE2aNJH6r2nUqBHbv39/raz9JNWjsiSfkpLC3N3dyyQ2Jycntn//flZQUCBXuQUFBWzfvn2sR48eZcoeO3YsS01NVfA7qZ6ioiJ2/Phx5uzsXGbGKgCsfv36bNq0aez69ev0g6tDJK/GNmrUqDr72RcUFHAX4jE1NaUqeyXJyclhP/74I9PT0yvz/3vnzh2+wyNKpJIkf/ToUWZlZSX15Ro5ciSLjo5W6Haio6PZyJEjy0wScfToUYVuRxaPHj1ifn5+FTYx9O3bl4WEhLDc3FyVx0b4JTmtq4WFBUtKSuI7JF5JXnXtjz/+4Dscjfb06VPm7Ows9V8kEAjY1KlTWXJyMt/hESVQepL/+eefpb5QFhYWLCwsTGlnLmKxmIWFhTELCwup7QYFBSlle5Kys7PZzp07mZOTU7mJvXHjxuzHH3+kzi91WFpamlRzVVhYGN8h8e748eNUZa9if/31F2vbtq3U/5OpqSnbtGkT9QPSMEpN8qtWrZL6Ejk7O6usvTkxMbHMEeuqVasUvh2xWMwuX77MvLy8yh0hoKury9zc3Njp06eZSCRS+PZJ7SJ51jpy5Mg6W00v6cMqexrXrRqFhYVsw4YN3L4vvbVv356dO3eO7/CIgigtyX94Bu/v76/yPzSxWMwWLVqklDP6169fs1WrVrHWrVuXe9besWNHtmnTJt77BBD1IXnGamZmxt6+fct3SGrjq6++4vbNyZMn+Q6nTklMTGSTJ08u8x82atQo9uLFC77DIzWklCR/9OhRqS/L2rVrlbEZma1Zs0YqHnnb6AsLC1lERAQbPnw409LSKvOjMDU1ZTNnzmS3b9+mMzQiJSMjgzVq1Ij7ruzdu5fvkNTKiRMnuH0zceJEvsOpk27evMk+/fRTqf80AwMDtmTJEpaXl8d3eEROCk/yKSkpUp3s/P39Fb0JuUie0VtbW1frDPvevXts7ty5UkOeJG+DBg1iYWFhLD8/X4nvgNRmXl5e3Pdl+PDhdBD4AaFQyExMTBgAZmJiQlX2PCkpKWF79uwp02G4adOm7NChQ/S9rYUUnuQlh8k5OzurzZdCLBZLtdGPHTu20vUzMzPZ1q1bWbdu3cpN7M2aNWMBAQFUnUWqdOrUKe57Y2Jiwl69esV3SGppwoQJVGWvJrKystj333/PdHR0pP73+vXrx+7evct3eKQaFJ7kJXvRV7eTXXR0NFu5ciUbNmwYs7W1ZXp6eszIyIi1adOGeXl5scuXL9cotsTERGZubs7F+OGEOSUlJSwyMpJ5enqWuYQjAKavr888PDzYuXPn6LrNRCZZWVlSE5Hs2rWL75DUlmSV/YQJE/gOhzDG4uLi2GeffSb1P6ilpcVmzZrF0tPT+Q6PyEBpSb66Q4Mqmrv9w9uECRNqNGFGaGioVLV9Tk4O+++//1hgYCBr0aJFudvs0qUL++WXXyqchY+QikyZMoX7Hg0dOlRtarbUEVXZqyexWMxOnDjBWrZsKfW/aGFhwbZt20ajhtScUpK8PEODWrVqxYD3Y8nnzJnDIiIi2K1bt9j169fZTz/9JHU25OHhIXd8YrFYasKcdu3albmQQ+kXePbs2Sw2NlbubZG67cyZM9z3qX79+uzly5d8h6T2Jk6cyO2zEydO8B0OkVBQUMBWrVpVZqhwp06d2KVLl/gOj1RAKUk+Jiam2q8bMWIEO3ToUIVHhampqczOzo77YtWk6j46OrrcM3aBQMCGDRvGwsPD6SyC1Eh2djZr1qwZ993avn073yHVCidPnuT22VdffcV3OKQcr169krqwUOlt3LhxLCEhge/wyAcUnuSdnJwUXSRH8g9g9uzZNSpLcq77xo0bsxUrVtAXlCjMjBkzuO/XwIEDqZpeRkKhkJmamnJV9vJe04Io399//806d+4slegNDQ3ZihUr6HNTI1pQMB8fH0UXyenfvz93/9mzZzUqSzLOvn37YtGiRWjatGmNyiQEAKKiorBjxw4AgJGREXbv3g2BQMBzVLWDvr4+nJ2dAQDv3r3D2bNneY6IVKR37964ffs2duzYAUtLSwBAfn4+/P390b59exw/fhyMMZ6jJApP8m5uboouklNUVMTd19KqWehjxozhvpgnTpyASCSqUXmEAEBubi6mTJnCPV67di1atGjBX0C1kLu7O3c/PDycx0hIVbS1tTF9+nT8+++/8PX1hba2NgDgxYsXcHFxwbBhwxAXF8dzlHWbwpO8gYGBoovkXLp0ibtvb29fo7IMDAwwcOBAAO+PPuPj42tUHiEA8MMPP+C///4DAPTr1w8zZ87kN6BaaMiQITA1NQXw/gBcKBTyHBGpirm5OYKCghAbG4sBAwZwy8+ePQsHBwd89913yM7O5jHCukvhSV5ZxGIx1qxZwz2WPNqXV9euXbn70dHRNS6P1G2XLl3CL7/8AgCoV68edu/eXeMap7pIT08PLi4uAICcnBycOXOG54iIrDp27IjIyEhERESgWbNmAACRSISNGzfCzs4OwcHBEIvFPEdZt9Saf6CNGzfi1q1bAABXV1d069atxmVSkieKkp+fL1VNv3r1arRq1YrHiGo3yYP4w4cP8xgJqS6BQIDRo0cjLi4OS5cu5Wp3U1JSMGXKFPTo0QM3btzgOcq6Q8BqQc+IS5cuYfDgwRCJRLC2tsa9e/dgY2NT43IzMjK4dvmePXvi6tWrNS6T1E3ffvstNm3aBADo1asXLl++TGfxNVBUVAQbGxtkZWXB2NgYKSkpqFevHt9hETm8fPkS8+bNQ0REhNRyLy8vrF69Go0aNeIpsrpB7f+FHj58CFdXV4hEIujr6yM8PFwhCR4ALCwsuLJev36tkDJJ3XP16lX8/PPPAN739QgODqYEX0OSVfa5ublUZV+LNW/eHIcPH0ZkZCQ+/vhjbvnevXvRtm1b/O9//5PqVE0US63/iV68eIGhQ4ciMzMT2traOHjwIPr166fQbRgaGgIAde4hcikoKIC3tzc3VGjFihWws7PjOSrNQFX2mmXgwIH4559/sHnzZpiZmQF43+di/vz56NixI/7880+eI9RMaltd//btW/Tp0wfPnz+HQCBASEgIJk6cqPDt2Nvb4/HjxwDed5YyNzeHubk5zMzMqrwv+djIyIjGQtdBfn5+WL9+PQCgR48euHLlCjeMiNQMVdlrrtTUVCxevBi//vqr1Fj6L774Ahs3bkTr1q15jE6zqGWST0tLQ79+/fDo0SMAwJYtWzBr1iylbKtly5Z48eJFjcvR0dGp8ACgqgMFExMTSgy10I0bN9CrVy+IxWLo6+sjNjYW7dq14zssjeLt7Y09e/YAAI4ePcpV4RPNEBMTg9mzZ0v1h9LT08N3332HRYsWwdjYmMfoNIPaJfns7GwMHDgQMTExAIA1a9ZgwYIFSttew4YNkZycDH19fbRu3RqZmZnIyspCfn6+0rb5IYFAABMTk0prCiq7r6enp7JYyXtCoRCdO3fm5ldQ9ve0rvrzzz8xfPhwAICHhwcOHDjAc0RE0RhjOHjwIPz8/PD27VtueePGjbFu3Tp4enryWksqEokQFxeH6Oho7vb69WsIhUIUFRVBT08PBgYGsLW1RdeuXblbu3btoKOjw1vcpdQqyefn52Po0KHcUd2iRYuwYsUKpW2vst71hYWFyMrKQlZWFjIzM7nkX3r/w8eS91U96YOhoaFMTQrl3admBvksXLiQm7fB0dER165dU4sftKYpKipCw4YNkZmZCSMjI6SmplKVvYbKzc3FqlWrsGHDBqmOeD179sTmzZvRpUsXlcXCGMPVq1exdetWHD9+XK6TPkNDQzg7O2PWrFno2bMnb/+zapPki4qK8OWXX3JzVc+ZM4cbkqQs58+fx5AhQwAAvr6+CAoKUki5JSUlePfuXZUHAxU9p8opdnV1dbnEX90DBVNT0zrZi/z27dvo0aMHxGIxdHV1ERMTgw4dOvAdlsaaMmUKgoODAQC///47XF1deY6IKNPTp0/x3Xff4eTJk9wygUCAqVOnYuXKlbCyslLatnNzcxEaGoqtW7fi/v37Fa5nY2MDIyMj6OnpoaioCHl5eUhOTq5wfQcHB/j4+GD8+PEqb4JQmyQ/evRo/P777wDe98LctGlTpUc+enp6Ne7FvHbtWvzwww8AgJCQEHh5edWoPEVgjCEvL6/Sg4PKDhQKCgpUFqtkM4M8HRZrYzNDYWEhunbtiocPHwJ435t+0aJFPEel2f766y98/vnnAIBx48bh4MGDPEdEVOHPP//E3Llz8eTJE26Zqakpli1bhpkzZ0JXV1eh2zty5Ah8fHyQkpIitdzS0hKDBg3iquG7dOkCc3PzMq/PzMxETEwMV6UfGRmJ9PR0qXWsra2xdetWjB49WqGxV0Ztknx1qzKaN2/OzREuL3d3d25ozv379zXibKy0maE6zQulj/loZpC3H4KhoSEv1V+LFy/mmpA6d+6MmzdvKvzPhkgrLi6GjY0NVdnXQUVFRdi8eTMCAwORk5PDLf/444/x888/Y9CgQTXeRmpqKr755psyF0NycnKCj48P3Nzc5Lomi1AoxOHDh7F169YyM/yNHTsWW7ZsQYMGDWoUuywUnuSFQqFcO0TVSV4oFMLW1hbp6ekwNDREdnZ2nW9TLSkpQXZ2tlz9EDIzM1FSUqKyWCWbGap7oCBvM0NMTAw+/fRTlJSUQEdHB3fu3EGnTp2U8O7IhySr7I8cOYJRo0bxHBFRpaSkJCxcuBAhISFSy0ePHo3169fLfaXHY8eOYfr06UhNTeWWjRw5EgEBAQrtAxATE4PAwECcOHGCW2ZlZYVff/1V6SNGFJ7kQ0ND8dVXXymySKXYv38/N+6eeu3WnGQzgzz9EFTdzGBqalqtfgiGhoYYN24cN6wzICAAS5cuVVnMdd2ZM2cwbNgwAO/Pgn777TeeIyJ8uHnzJnx9fXH79m1umYGBAebPn48FCxZwk5vJIigoCHPmzOEeW1hYYPPmzfDw8FBKLWHpKAJfX19kZGRIxeHr66vw7ZVSeJLv2bMnrl27psgilcLJyYmrQrly5Qp69erFc0R1W2Fhodz9EN69e6fSWAUCARo3blytyZJK7/PVzFDbFRcXo2HDhsjIyICRkRFSUlKq9YdONIdYLMbevXvxww8/SLWfN23aFBs2bICbm1uVv7HVq1fjxx9/5B47Oztj+/btaNiwodLiLpWUlISvv/4ax48f55atWrUKCxcuVMr2FJ7kBQIBYmJi0LlzZ0UWq1AxMTHcFeg6deqE2NhY+uOtxUqbGeStRVB1M0N1mhckH5uYmNTJ0Qylpk6dit27dwMAIiIiVNp5iaif7OxsLFu2DEFBQVIjkvr374+goCB07Nix3Nd9eAbv7++PZcuWqTQHMMawePFirFy5UiouZZzRKyXJjxw5EseOHVPLxMkYg4uLC9c2QtWudRtjDLm5uRUeDKSlpWHnzp1cm52trS1MTEy49VR5zQPJZgZ5DhRqewfBs2fP4rPPPgNAVfbk/8THx2POnDnc8GsA0NLSgo+PDwIDA2FhYcEtP3bsmNQQzLVr12L+/PkqjVeS5AgvQDmzOiolyQNAWFgYPD09FVm0QoSFhUn1GdDS0oKvry+WLl3KXTSBkFIrV66Ev78/gPc9eqOjo6Gvr889LxQK5R7NoOpmBiMjI7lHM9SrV4/3g3bJKntDQ0OkpqZSlT0B8P5g/eTJk/j222/x/PlzbrmlpSVWrFiBadOmISMjAx9//DF3wO7v74/ly5fzFTLH39+fO6O3trbGw4cPFdrrXmlJ3sLCAg8fPlRJG4eskpKS0L59e2RmZpZ5zsrKCqtXr8bkyZPrdJUo+T8PHz5Ely5dUFRUBC0tLdy4cQOOjo4KK18kEsk9miErK0ulzQx6enpyj2ZQZDPDtGnTsGvXLgDvr0zn5uamkHKJZhAKhfjpp5+wcuVKqVnqPvnkE5ibm+PChQsA3rfBHz16lPcDV+D9AYqrqyvXRq/oWiqFJ/mxY8dy4w3VeUe6ubmhU6dOWLVqlVTP7m7dumHz5s3o0aMHX6ESNSASidCzZ0+uF++CBQu4aWzVQWkzg7z9EFTZzKClpVXt0QySszBKNjOcO3cOQ4cOBfB+notDhw6p7H2Q2uP169eYP39+uRMn1fQENCEhAUFBQTh16hQSEhK46564u7vDx8dHrtqlD09AFZmWFZ7kU1NTa1WVSEJCAvz8/MpMhODl5YU1a9aoVU0EUR3JtjJ7e3vExsbKNf+DuhIKhXKPZpCclEQVSpsZSpP+jRs3UFxcDB0dHSxYsADW1tYVHiioQzMD4c/ff/+NWbNmSU1RW5Om5FOnTmH8+PEVThzWtm1bnD59Gi1btqx22ZJNyWqd5IGynRv4vkKXLJ0bLl68CF9fXzx48IBbVr9+fSxduhS+vr61vtMSkV18fDw++eQTFBYWQktLC1evXqWaHQmlzQyyNCl8eKDARzODvKMZ6tevT013GmDbtm3w8fEBgBp1Cr979y569uyJ/Px8GBsbY+HChRgwYAAKCgrw22+/YefOnQDenxTcvn272nPUS3YKV/skD5QdprBo0SIsX75c5cMU/P39sWrVKqm4KhqmIBKJsG3bNixZsgRZWVnccnt7ewQFBXEXsyGaq6SkBL179+bmUPj++++xfv16nqPSHIwx5OTkVKvvgeR6hYWFKotVspmhugcKpqamdGKgBhhj+OSTT3Dv3j0AqNHw7gEDBuDixYvQ0dHB5cuX4eTkJPX8//73P66nfmBgIJYsWVLtbZQO764VSR5QvwkHVq9eLXVGX5HU1FQsWrQIu3btktrZrq6u2LBhAz766COlxEz499NPP+H7778HALRp0wZ3796ledLViFAoRGpqKjp27Ijs7Gzo6elh69atyM/Pr/JAQdXNDMbGxnL1QygdzUBq7sqVK+jTpw+A9xOgyTtR2+3bt/Hpp58CAGbMmIHt27eXWUcsFqNDhw6Ii4uDubk5kpOT5TrQc3JywvXr1+WKszxKv0DN5s2bMXv2bO6xubk5Nm/eDE9PT6VNHXjgwAH4+vpK9aLfvHkzvvnmm2qVdefOHfj6+kpdXEDeKRSJ+nvy5Ak6deoEoVAIgUCAy5cvo3fv3nyHRcoxY8YM/PrrrwCA8PBwjBkzpsrXiEQirslAng6LYrFY2W+Lo6+vX60rOn44moH6Ibzn6enJdb7bv3+/3FOuL1q0iKsRvnHjBrp3717uemvWrOFmrjt79qxctb/79+/HhAkT5IqzPCq5Ch2fFwGwtrbGjh075J5gQCwWIzQ0FAsWLEBSUhK3vFmzZtiwYQNGjx5NPygNIBaL0a9fP1y5cgUAMGfOHGzatInnqEhFzp8/z/2Burm5cVeTVJbSZgZ5+iHw0cxgZmYmS7ydbQAAIABJREFUVz8EMzMzjblQl0gkgqmpKfLz82FpaYnXr1/L3Xm2b9+++Pvvv2FkZISsrKwK99H169fRs2dPAMCSJUsQGBhY7W3Je5G3iqjsUrNpaWn45ptvygx56dGjB3x8fDBmzBi5L+cXHh6OrVu34ubNm1LPjRs3Dps3b1bIxALv3r3D8uXLsWnTJqkpFAcOHIigoCB8/PHHNd4G4Y9kH5KWLVvi3r17MDIy4jkqUhGRSIRGjRohLS0N9erVQ2pqqlp/XgUFBXL3Q8jNzVVprKXNDPJ0WFSnZob79+/DwcEBQM2HW1pZWSEtLQ2dOnXCP//8U+F6mZmZ3Ax7Y8aMKTNqiw8qv578kSNH4OPjI3VhAeD9zEQDBw5E165duZu5uXmZ12dmZiI6Opq7RUVFIT09XWoda2trbNu2TSmXo4yPj8fcuXNx5swZbpm2tja++eYbmjWvlnr27Bk6duzIzZdw4cIF9O/fn9+gSJUkq+wPHToEd3d3niNSjtJmhupOlsRXM4O8/RDq16+v0FrRkJAQTJ48GUDNpq8VCoXcwcuIESPwxx9/VLq+sbEx8vLy0KNHD4W2rctL5UkeAHJzcxEWFoatW7dyvR7LY2NjA0NDQ+jp6aGoqAj5+flITk6ucH0HBwfMmjULnp6e1R6+UB2MMZw4cQLffvstXrx4wS2nWfNqH7FYjIEDB+LSpUsAgFmzZmHLli08R0VkERkZicGDBwN4f13xiIgIniNSP2KxuMxohupMv1xUVKSyWEubGeTph1BeM4Ovry/3Wz5//jwGDRokV1ypqamwtrYGINtsdDY2NkhJSUGHDh2kxufzhZckX4oxhmvXruGXX37B8ePHpaYhlJVAIABjDNra2khJSZG6GIGyCYVCrF+/vtxZ87Zs2VJh5wyiPrZu3YpZs2YBAFq0aIH79+8r9QCRKI5IJELjxo2RmpqKevXqISUlhT47BSsoKJB7VkVVNzPUr19f6gDg/v373HXbMzIyyq0ZlsWrV6/QrFkzAMCECROwb9++Stdv1qwZXr16hVatWuHp06dybVOReE3ykkQiEeLj46Wq4l+/fg2hUIjCwkLo6+vDwMAAtra2UlX6u3btws8//wwA2L17N7y9vVUee0Wz5k2aNAmrV6+mWfPU1H///YcOHTogLy8PQM2O9gk/vv76a+zYsQMA8Ntvv2Hs2LE8R0RKFRcXS02aVN0DBUWlJhsbG6lO09VFZ/I8u3nzJjcb2dChQ6XaylWNZs2rPRhjGDJkCCIjIwFUPPaVqLeoqCjuwIyq7DVHaTNDdZsXSh9LNjO0bNkSz549kzuW2t4mD1bLicVi1qJFCwaAaWtrs5SUFF7jKS4uZkFBQczMzIwB4G729vbs7NmzvMZG/s+OHTu4z6Zp06YsOzub75CIHIqLi5mVlRUDwAwMDFhOTg7fIRGeicVilpeXx0xMTLj/3ppq0KABA8A6depU6XoZGRnc/8qYMWNqvF1FqPW9wwQCAdertqSkBEeOHOE1Hh0dHfj6+uLJkyeYNm0a11s0Pj4eQ4cOxahRo6Q66xHVS0hIwLx587jHO3fuhImJCY8REXnp6Ohg9OjRAN6fcVV1lkU0n0AggKGhIfT19QFAIZ0H27VrBwB4+vSp1BDqD8XHx5d5Dd9qfZIH3o+HL6Uul560srLCr7/+ilu3bkld3OTo0aNo3749AgIC5OpoSGqGMYZp06ZxU5x6e3vjs88+4zkqUhOSQ+eUPSkOqT1K510p7XNTE6UzX+bl5SE6OrrC9UpH6QBAr169arxdheC7KkERxGIxa9OmDQPABAIBe/v2Ld8hSSkpKWF79+5lNjY2UlX4zZo1Y4cPH2ZisZjvEOuM3bt3c/u/SZMmLDMzk++QSA2JRCJmbW1NVfZEipOTE/dbz8jIqFFZN2/e5MqaMWNGueuUlJSwdu3aMQDMzMyMFRUV1WibiqIRZ/ICgYDrVcsYU7vON1paWpg4cSKePHmCefPmceM5ExISMGbMGAwePBgPHz7kOUrN9+bNG3z33Xfc419//ZUmL9IA2traVGVPyujatSt3PyYmpkZlffrpp9yFbnbv3l1uh7oNGzYgLi4OwPtpsdWmozXfRxmKcv/+fe5Iq1evXnyHU6m4uDj22WefSZ3Va2trszlz5tCZpZKIxWI2YsQIbn9PnDiR75CIAkVFRXGfraurK9/hEDWwZ88e7juxdu3aGpcXExPD6tWrxwAwY2NjtmrVKnb9+nUWFRXFpk+fzm3Lzs6OvXv3TgHvQDE0Jskzxlj79u25HZ2QkMB3OJUSi8Xs2LFj7KOPPpJK9lZWVmzXrl2spKSE7xA1yt69e7l93LBhQ5aens53SESBJKvs9fX11epPlvDj3r173G/e3d1dIWWeOHGC67Vf3s3Ozo79+++/CtmWomhEdX0pyQ546nBhgMoIBAI4Ozvj0aNHWL58OTcOMzU1FVOnTkX37t3LXHCHyCcxMZG7+AwA7NixQ6UzIxLl09bWhpubGwCgsLCQquwJ2rVrx/2vRkZGQigU1rjML7/8Evfu3cO3334LOzs7GBoawszMDN26dcPatWsRGxuL1q1b12gbiohTCt9HGYr0+PFj7ojK0dGR73Cq5eXLl8zd3b3MkeGkSZNYUlIS3+HVWmKxmI0cOZLbn56ennyHRJTkwoUL3Ofs4uLCdziEJ/n5+Sw0NJT1799f6r90//79fIcmk3379im0PI1K8owx9sknn3Af6rNnz/gOp9qioqJYhw4dpL6cJiYmbMOGDWrTW7M2CQsL4/ajtbU1S0tL4zskoiQikYgbwUJV9nVPTEwM8/HxKTMRWenNycmJ7xBl0qNHD4WWp1HV9QCk5q5W9yr78gwYMACxsbEICgrien6/e/cO33//PRwcHHDu3DmeI6w9kpOT4evryz3etm0bLC0teYyIKJNkL/vCwkKcPHmS54iIsmVmZuKXX35Bly5d0KVLF2zduhVZWVnc823atEGjRo0AANevX0dsbCxfocokJiYGN27cUGyhCj1kUAPPnj3jjtw++eQTvsOpkZSUFDZt2jQmEAikjkhdXV3Z8+fP+Q5P7Y0ePVrhHW+Iert48SL3mTs7O/MdDlGCkpISFhUVxcaPH88MDAzKnLHXq1ePeXl5scuXLzOxWMy2b9/OPTdy5Ei1nZdEsmlRkTQuyTPGmKOjI/ehxsfH8x1Ojd2+fZv16NFD6otsYGDAlixZwvLy8vgOTy2Fh4dz+6pBgwa8X9OAqIZIJGINGzbkquzpmgSa4/Xr12zlypWsZcuW5VbHOzo6su3bt7OsrCyp1+Xk5HAjLwCwsLAwnt5B5UJDQ7kYFUkjk/yGDRu4nRUYGMh3OApBs+bJLiUlhbugBAD222+/8R0SUaFZs2Zxn31oaCjf4ZAaKCoqYkePHmUjRoxgWlpaZRK7hYUFmz17Nrt7926l5UREREi9JjExUUXvQDaJiYnM3NyckrysEhISuJ3Vvn17vsNRqOzsbDZv3jymo6Mj9WUfOHAge/DgAd/hqYWxY8dy+2XUqFF0AFTHXLp0iarsa7n4+Hjm5+dX5qSm9DZkyBD222+/sYKCApnLlBy95OzsrDb/C2KxmDk7O3OxjR07VqHla2SSZ4yxXr16cTvt/v37fIejcHFxcf+vvfMOa+p64/gbZAk4AMWNClZRKw60irv6c9W9cFZrtWhV3HsrKlInuKtWquKoKGpbqxVnESe4xVGrOCogIAiEQJL7/v6wnCcxQUlIcjLez/Pc52Ek93zvzb1573nPe74HO3bsSK55H3Do0CGlJ3aafmh5KKbsbW1tKWVvImRlZeHOnTuxZcuWagN7lSpVcMGCBfj06VOt9p+cnMyWJQYAnDdvnm4PQEvmzp2rNAPozZs3Ot2/2Qb50NBQo/swdQ255imTkpKiNPZGqVrLZfz48SY3P9oSEQQBr1y5gv7+/liiRAmVwG5jY4P9+vXDP/74A2UyWZHbi4yMVNr/ihUrdHAU2rNixQolPZGRkTpvw2yD/L///suq0j/77DOjSc3og5ycHAwMDGS+yvlb48aN8fLly7zlGYwhQ4aYRBUtoX8uXLigdC0QxkVKSgquW7dOxRNEcZh19erVeimYDQkJUWpr7ty5Bv+uEAQB58yZo6QjNDRUL22ZbZBHRPzyyy/ZCYyNjeUtR+9YsmvesWPH2PGWLl3a6JYbJgyLXC7HChUqsJT9hxXXhOGRy+V48uRJ9PPzQ1tbW5XvKScnJxw1ahReunRJ70F3+fLlSm337NnTYMV4r1+/VhqDBwAMCgrSW3tmHeQV50fOmDGDtxyDYWmueWlpaewLHQAwLCyMtyTCCAgICKCUvRGQkJCAixYtwqpVq6rttTdv3hx37NiBmZmZBtWlOKQLAOjs7Ix79uzR2wOGIAi4Z88epSp6AMD169frpb18zDrIv3nzBosVK4YAgNWqVbOo9K1UKsXQ0FAVi8fatWvjn3/+yVueThk+fDg7vi5duljU50wUzF9//cWui+7du/OWY1FIJBL85ZdfsFOnTipmXvl1Q1OnTsX79+9z1bl3716VqXk9evTQeeY3NjZWaQ2N/CI7fYzBf4hZB3lEVKpAt6Tx6XzM3TXv+PHjStmKFy9e8JZEGAlyuRwrVqxIKXsDcvfuXZw8eTK6urqqBHYrKyvs0qULHjp0CHNzc3lLRUTEiRMnqs0uAAA2a9YMd+3apdE0PUVycnLw559/xqZNm6rse+DAgTqvoi8Isw/yO3bsYCd28uTJvOVwwxxd89LT07FSpUrseLZv385bEmFkTJgwgV0ful7di3jPu3fv8Mcff1QbzPKzqIGBgUb3AB4TE8M6P8WLF8f169crzc7J31xdXbF///64YsUKPHXqFKalpandX1paGp46dQpXrFiB/fv3V/ug4+bmhocOHTLocZp9kE9LS0MbGxsEAKxUqZLFTStTxNxc80aOHMmOoWPHjiann9A/iin7bt268ZZjNgiCgNHR0ThixAh0dHRUCWZ2dnY4aNAgjIqKMsrvXIlEgrVr12Z6V61ahYjvLXC3bNmC3t7eBfbwAQDLlSuH1atXx1q1amH16tULNO3J37y9vXHr1q0GrztAtIAgj4jYrVs3drIvXLjAWw53zME17+TJk0x3iRIlMCEhgbckwgj5MGVvyUZRuiApKQlXrlyJXl5eaoNZ/fr1MTQ0FFNTU3lL/Sjz5s1jmps0aYJSqVTp//kPMYMGDUIHB4ePBvCCNgcHBxw8eDBevHiRawfEIoL87t272YkfN24cbzlGg6m65r179w7d3d2Z5i1btvCWRBgxiuOuP//8M285JodMJsPff/8d+/Tpo9IxyK+FGTNmDF6/ft0ksmk3b95kx2FjY/NJR1SpVIp37tzBsLAwDAgIwObNm6O7uzu6ublhqVKl0M3NDd3d3bF58+YYEBCAYWFheOfOHZUHB15YRJDPyMhAOzs7lmbRhXOSuWCKrnljxoxRyj6YwhcLwY/o6Gh2vXTt2pW3HJPhyZMnOHfuXKW6F8WtdevWuGvXLpOq6ZFKpejj48OOYeHChbwl6R2LCPKIiL1792Yf7OnTp3nLMTpMxTXv9OnTTJujo6NZzBAg9ItcLmeBysbGxqizVLzJycnB8PBwbNeundrAXr58eZw1axY+evSIt1StCA4OZsdSt25dlEgkvCXpHYsJ8vv372cfrr+/P285Rosxu+ZlZmZitWrVmKYNGzZw1UOYDoopezJLUuXGjRs4fvx4FaOW/CG8Hj164NGjR40mBa0NDx8+RHt7ewR4P53PmDov+sRignxWVhYroHBxcTFL5zddYoyueYqLjrRp08YohxII4+TixYuUsv+At2/f4qZNm5TS14pbjRo1MCgoyCwsouVyObZu3Zod25QpU3hLMhgWE+QRldcZ/+OPP3jLMXqMyTXv3LlzrP3ixYvj48ePDdo+YdrI5XKsXLkyS9kXNNfZ3BEEAc+dO4dDhw5lvVrFrXjx4vj111/j+fPnzarWZdOmTewYPTw8MCsri7ckg2FRQf7w4cNK6WeicPB2zcvOzkZPT0/W7rp16/TeJmF+TJo0iV1DO3fu5C3HoLx69QqXL1+ONWrUUNtrb9y4MW7evNksXQETEhLQycnJYmuyLCrI5+TksDWLS5UqZRFFF7qEl2ue4pdzixYtKE1PaEVMTAy7jr766ivecvROXl4eHjlyBLt3787W8FDcnJ2dMSAgAG/evMlbqt4QBAG7dOnCjnnUqFG8JRkciwryiIhDhw5lH/ixY8d4yzE5DO2aFx0dzTII9vb2+PDhQ53un7AcLCVl//DhQ5w5cyaWL19eba+9ffv2uHfvXq092U2JPXv2sOOuWLGiRc6ssLgg/+uvv7IPfciQIbzlmCyGcM0Ti8VYs2ZNtu+VK1fqZL+E5TJ58mSzTNlnZ2fjzz//jK1atVIb2CtVqoTz5s3DJ0+e8JZqMJKSkpT8448ePcpbEhcsLsjn5uayQjInJycUi8W8JZk0+nTNmzZtGttns2bNyMSIKDKXLl1i11SXLl14yykSgiDgtWvXcPTo0ViyZEmVwG5tbY19+/bF48ePW+S9o1hoPWDAAN5yuGFxQR4R8dtvv2UffkREBG85Jo8+XPMuXbrE1nm2s7Pjvu40YR4IgoBVqlRhQdDYPdbVkZqaiiEhIQUuolK7dm1ctWoVJiUl8ZbKjSNHjrDz4erqatHnwiKDvOLiJv379+ctx2zQlWteTk6O0gIYQUFBelRNWBpTpkxh19ZPP/3EW06hkMvleOrUKRw4cCDa2tqqBHZHR0f89ttvuS+GYgy8ffuWLUoEALhnzx7ekrhikUFeKpVimTJl2LxQHsv/mTNFdc2bNWuW0gOCKbtsEcaHYsq+c+fOvOV8lOfPn+OSJUuUnB4Vt2bNmuG2bdvw3bt3vKUaDaNGjVKaRWHpDz0WGeQREUePHs0uhH379vGWY5Zo45p37do1Nt2nMCtEEYSmCILAVjE0xpR9bm4uRkREYOfOnVW8KQAAy5Qpg1OmTDGZZaENSVRUFDtPJUqUwOfPn/OWxB2LDfJnz55lF0PPnj15yzFbNHHNk0gkSg8FgYGBnFQT5s7UqVPZdbZjxw7echAR8d69ezhlyhQsW7asSmAXiUTYuXNnPHjwIObm5vKWapRkZWWhh4cHO2ebN2/mLckosNggL5PJ2DxSW1tbs3R6MiaSk5Nx1KhRH3XNmzdvHvt7w4YNaX0BQm9cvnyZXWudOnXipiMzMxO3b9+Ovr6+atPxVatWxcWLF2NCQgI3jaaCYq1F69atyTTrPyw2yCMiBgQEsIvi559/5i3HIijINe+7775j1fTW1tZm7cJF8OfDlH1KSopB246JicGRI0eio6OjSmC3tbXFAQMG4J9//kmBqpBcvnyZfX+QaZYyFh3ko6OjlQo0CMNQkGte/rZgwQLeEgkLQDFlv337dr23l5ycjKtXr8batWurve7r1auHISEhBn3gMAckEgnWqVOHncfg4GDekowKiw7yijaXxliAY+7ku+blP4Hnb23btqWiIkLvXLlyRe8pe5lMhsePH8e+ffuijY2NSmAvUaIEjh49Gq9evWrxVeDasnDhQnY+fXx8aDbOB1h0kEdUHscxxNM8ocytW7fULp6hK9c8gigIQRCwatWq7HrTZQ/6n3/+wfnz57NOxIdbq1atMCwszKKWPNUHt2/fZg9PNMynHiuwcAYOHMh+3r9/P0cllodUKoURI0aAXC4HAIB+/fpB9erVAQBALpdDSEgI1KxZE3bs2AGCIPCUSpghIpEI+vfvDwDvr7fIyMgi7U8ikcD+/fuhQ4cO4OHhAYGBgfDy5Uv2/3LlysGMGTPgwYMHcOHCBRg+fDg4OjoWqU1LRiaTwciRI0EqlQIAwKxZs6B+/fqcVRkhvJ8yeCMIApt2YWVlZdH2h4Zm2bJlrGdTt25dlEgkKBaL1brmNWnSRCPXPIIoDFevXmXXWMeOHbXax61btzAgIACdnZ1VeuxWVlbYrVs3PHLkCM0W0TGrVq1SmpJLS4erx+KDPKKyw9qmTZt4y7EI7t69y+w5rays8OrVq0r/L6prHkEUBkEQmJtcsWLF8M2bN4V6X3p6Om7evBkbN26sNh3v6emJy5cvx1evXun5CCyTx48fs46ASCTCmJgY3pKMFgryiHjjxg12c7Zp04a3HLNHKpVikyZN2DmfOXNmga/VxjWPIDRh+vTp7Nratm1bga8TBAHPnz+Pw4YNU8k0wX9Tt4YOHYpnz56lqW96RBAEbNu2LTvvEydO5C3JqKEgj+8vmvx1y0UiET1965ng4GB2g3p5eWFOTs5HX6+Jax5BaMq1a9fYNdWhQweV/79+/RpXrFjBviM+3Bo1aoQbN26kIlEDsXXrVnbuq1WrRmuPfAIK8v+xYMECduGsW7eOtxyzJT4+Hu3s7LRKs33MNe/p06f6E02YNepS9lKpFI8dO4Y9evRQO/ujdOnSOG7cOIyLi+Mt36J48eIFlixZkn0O9JD/aSjI/8e9e/fYhePr68tbjlkik8mU3O6mTp2q1X4Kcs1bsGABZmdn61g1YQnMmDGDXUudO3fGChUqqO21f/nllxgeHo5isZi3ZItDEATs1q0b+yy+/fZb3pJMAgryCiiO/ZJXtO5ZvXo1O7+fffZZkb4oC3LNc3d3x4MHD5KxCFFosrOzcfHixWqDOgBgxYoVce7cufj333/zlmrR7N27l30m5cuXx7S0NN6STAIK8goEBgayi2jlypW85ZgVjx49Qnt7e5am/+uvv3Sy33zXPGtra6Uv5nbt2pFrHlEggiDg9evX8fvvv8dSpUqpBHZra2vs3bs3/vbbb+SgZgQkJydjmTJl2Odz+PBh3pJMBgryCjx69IhdRI0bN+Ytx2yQy+XYsmVLdm4nTJig8zbi4+OxY8eO5JpHfJS0tDRcv3491q9fv8CeOz3kGx+DBw9mn02/fv14yzEpKMh/QMOGDdnFROk53RASEsLOqYeHh96sPAVBwCNHjmD16tWVvrDLli2L27dvp2lNFopcLsfTp0/joEGDWNGn4ubg4IAjRozA7du3s7+1b9+et2ziP3799Vf2uTg7O5NPhoZQkP8Axeldy5Yt4y3H5Pn777/RwcGBndOzZ8/qvU2xWIxLliwh1zwL58WLFxgYGKjy0Je/NW3aFH/88UfMyMhARFX3y+TkZM5HQKSnp2OlSpXYZ0ZLgmsOBfkPePr0KbugvL29ecsxaeRyObZp04adz7Fjxxq0fXLNszxyc3Px0KFD+NVXX6msbggA6OrqipMmTcI7d+6off/MmTPZa7ds2WJg9cSHjB49mn0enTp1ooJaLaAgr4amTZuyCys+Pp63HJNl48aNRmFaQa555k98fDxOmzYNy5YtqxLYRSIRduzYEQ8cOPBJf/PY2FhK2RsJZ8+eZZ+Fk5MTPnv2jLckk4SCvBrWrFnDLq5FixbxlmOSPH36FB0dHdl5jIqK4qqHXPPMj8zMTPzpp5+wefPmatPx7u7uuGjRIo2CgyAI6OnpyVL2tGAVH7Kzs7FGjRrss9ywYQNvSSYLBXk1vHjxQikIUIpIMwRBwPbt27Nz6O/vz1sSg1zzTBtBEPDSpUs4atQodHJyUgnsNjY26OfnhydPnkSZTKZVG4oLVm3evFnHR0AUhmnTprHPoEWLFlQ0WwQoyBdAq1at2EV2+/Zt3nJMCkVv6SpVqrDCJmOCXPNMizdv3uCaNWuwbt26anvtn3/+Oa5du7bQq8h9jLi4OCW/BcKwXL16ldVT2NnZ4YMHD3hLMmkoyBfAhg0b2I0+Z84c3nJMhoSEBCxRogQ7dydOnOAtqUA+5poXERFBGRzOyGQyPHHiBPbv3x9tbGxUAruTkxN+9913ePnyZZ1+VpSy50dubi7Wq1ePfcZBQUG8JZk8FOQLIDExkT1Nenp60hd+IRAEATt16sRuUFPxlibXPOPi2bNnuHDhQqxSpYraXnuLFi1w586devNbQEScPXs2pew5sGTJEnbeGzZsSIWxOoCC/Edo164du+CuX7/OW47Rs2PHDna+KlasaHJOc+Saxw+JRIL79+/HDh06qNRLAAC6ubnh9OnTDTbb5caNG6ztL7/80iBtWjp3795lGZtixYrRCn86goL8R1AcW54+fTpvOUbNy5cvlTzAf/vtN96StIJc8wzL7du3ceLEiejq6qoS2K2srLBr1654+PBhg/foBEFg1d1WVlbkq6BnZDKZ0tTl2bNn85ZkNlCQ/whv3rxha0m7u7tTyr4ABEHArl27sht02LBhvCUVGXLN0x8ZGRm4detW/OKLL9Sm4z08PHDp0qX48uVLrjrnzJnDNG3atImrFnNn7dq17FzXqlULc3JyeEsyGyjIf4LOnTuziy8mJoa3HKNk165d7ByVL18eU1NTeUvSGQkJCdi/f3+VQESueZohCAL+9ddf+M033yjZHOdvdnZ2OHjwYDxz5ozRZEsUU/Zt27blLcdsefLkCbsmRCIRRkdH85ZkVlCQ/wQ7d+5kN/rEiRN5yzE6/v33XyWDmSNHjvCWpBfINU87EhMTMTg4GGvVqqW2196gQQPcsGGDUa4NLggCfvbZZyxl//r1a96SzI4PPTXGjx/PW5LZQUH+E7x9+xZtbW1ZMZmx9DKMAUEQsGfPnuwGHTx4MG9JeoVc8wqHVCrFX3/9FXv16qUyYwEAsFSpUjh27FiMjY3lLfWTzJ07l+neuHEjbzlmh+LKf+7u7vju3TvekswOCvKFoHv37uxCPH/+PG85RsPevXuVqp9TUlJ4SzII5Jqnnr///hvnzJmDFStWVNtrb9u2Le7evRvFYjFvqYXm5s2bTH+bNm14yzErXr16pVSsa8yeGqYMBflCsGfPHnYhGnolNWMlMTERXVxc2HmJiIjgLcngkGve+wLFPXv2YNu2bdUG9gpY5jIjAAAgAElEQVQVKuDs2bPx8ePHvKVqhSAIWLNmTTZeTCl73fBhFnD48OG8JZktFOQLwbt379De3p71WKVSKW9J3Onbty+7Qfv3789bDjfkcjmGhYVZnGteXFwcjh07VmXoIn+Oc8+ePfHXX381i3tFMWVPC6XohgMHDihlAc2pWNfYoCBfSBSD2qlTp3jL4covv/zCzkWZMmXI9hMLds1r37692bjmpaWl4YYNG7Bhw4Zqe+01a9bE4OBgs+vt3rp1i1L2OiQlJUVpSeCDBw/ylmTWUJAvJIqBbdSoUbzlcCM5OVnpBt2/fz9vSUaFubnmyeVyPHPmDA4ZMoRlsxS34sWL4/Dhw/HChQtmm7UQBIHNDhCJRPjvv//ylmTSfP311+z66dOnD285Zg8F+UKSnZ3N1kd3cXGx2GlTAwYMUCo0M9cv9qJgDq55L1++xGXLlqGHh4faXnuTJk1wy5YtmJ6ezluqQZg3bx479vXr1/OWY7IcP36cncfSpUvTA5MBoCCvAQMHDmQX6PHjx3nLMTiHDx9mx+/i4mJ2aVldY2queXl5eRgZGYldu3ZlizMpbi4uLjhhwgS8desWb6kG5/bt2+w8tG7dmrcckyQjI0Np0aGffvqJtySLgIK8BkRGRlpsNWhKSopScdmePXt4SzIZjN0178GDBzh9+nSV4sH8rUOHDrh//36LthqllH3RGTt2rNI1RVlAw0BBXgNycnKwZMmSCPDe7cySvvSGDBnCbtDu3bvTDaoFBbnmrVmzxuDDP1lZWbhz505s2bKl2sBepUoVXLBggUXP+/+Q+fPnU8peSy5cuMDOnaOjI11XBoSCvIYMGzaMXazmauH6IceOHVMaR3v16hVvSSYLT9c8QRDwypUr6O/vjyVKlFAJ7DY2NtivXz/8448/UCaT6VWLKXLnzh12rlq1asVbjskgFouZPTAAYEhICG9JFgUFeQ35/fff2cU6aNAg3nL0TlpaGlaoUIEdc1hYGG9JZoEhXfNSUlJw3bp1KlmE/K1OnTq4evVqTE5O1mm75oYgCOjl5cVS9vSwWzhmzpzJrjVfX196gDQwFOQ1JDc3F52dnVnaydydzb755ht2g3bp0oXS9DpGX655crkcT548iX5+fmztBcXNyckJR40ahZcuXaLPVAMWLFjAzmFoaChvOUbP9evX2XLdtra2eP/+fd6SLA4K8lowcuRIizByUJzuUrJkSXzx4gVvSWaJLl3zEhIScNGiRVi1alW1vfbmzZvjjh07MDMzU49HZL4opuxbtmzJW45Rk5eXh/Xr12fna+nSpbwlWSQU5LXgzz//ZBduv379eMvRC+np6VipUiV2nNu3b+ctyezJyMjAqVOnauyaJ5FI8JdffsFOnTqppP/z5+dPnTqVelE6QBAErF27NkvZv3z5krcko2Xp0qXsGvT29rZYbxHeUJDXAqlUylzf7O3tzXJ5xFGjRrEbtGPHjpTSNSCFdc27e/cuTp48GV1dXVUCu5WVFXbp0gUPHTqEubm5HI/G/Fi4cCEVkX2C+/fvs2EiKysrvH79Om9JFgsFeS35/vvv2Y0eHh7OW45OOXnypNLYbUJCAm9JFkdBrnmurq44bNgwbNq0qdp0fLVq1TAwMJCGVvTI3bt32flu0aIFbzlGh0wmQ19fX3aOZsyYwVuSRUNBXkvOnTvHLuIePXrwlqMz3r17h+7u7uzYNm/ezFuSRSMWi3Hx4sVqi+fyNzs7Oxw0aBBGRUWZhGWuOVCnTh12/illr0xoaCg7N5999hmKxWLekiwaKyC0omXLllChQgUAADhx4gSkp6dzVqQbZsyYAc+fPwcAgHbt2oG/vz9nRZZLcnIybNy4Efbt2wd5eXlqX9O0aVO4efMm7N27F9q3bw9WVnRLGwI/Pz/2c0REBEclxsWzZ89g9uzZ7Pft27dD8eLFOSoi6BtBS4oVKwb9+/cHAIC8vDw4evQoZ0VF58yZM7BlyxYAAHB0dITt27dT0DAwcrkcjh8/Dn379oVKlSrB9OnT4cGDB+z/jo6O4OzszH6/cuUKNG3aFNauXQtSqZSHZIsk/94HADh48CBHJcYDIoK/vz9kZ2cDAMD3338PrVu35qyKoHR9EYiJiVGaQ27KZGZmYrVq1ci2kxNPnjzBuXPnKs1oUNxat26Nu3btwuzs7I+65p06dYr3oVgMdevWZeeeaiAQd+7cyc5HlSpVMCMjg7ckAmlMvkgIgsDGr62trTElJYW3JK0ZP368UkChsV39k5OTg+Hh4diuXTu1gb18+fI4a9YsfPTokdr3G9I1j1Bl0aJF7JyvXbuWtxyuvH79Wumh8/fff+ctifgPCvJFZNq0aezC/vHHH3nL0QrFIsLixYvj48ePeUsya27cuIHjx49nzomKW7FixbBHjx549OhRlEqlhdqfvlzziI9z7949JZMhS6ZPnz7sXAwdOpS3HEIBCvJF5Nq1a0qmJaZGdnY2enp6Uo9Ez7x9+xY3bdqEPj4+anvtNWrUwKCgIK2XMNWlax5ReBTXA3j+/DlvOVyIiIhQMl568+YNb0mEAhTki4ggCOjh4cFMH4xhfXBNmDRpklJvhBaP0B2CIOC5c+dw6NChaG9vrxLYixcvjl9//TWeP39eZ0FYW9c8QjsWL15s0Q/IqampSg+WBw4c4C2J+AAK8jpg9uzZ7CLfuHEjbzmFJjo6mo3n2tvb44MHD3hLMgtevXqFy5cvxxo1aqjttTdu3Bg3b96M6enpetNw//597NChg8pQwKRJk5Rc84iicf/+fXZ+fX19ecsxOIoLWPXs2ZMyRkYIBXkdcOvWLXahm8o602KxGGvWrMl0r1y5krckkyYvLw+PHDmC3bt3Z6tuKW7Ozs4YEBCAN2/eNJgmQRAwMjJSadZEfkp1+/btVFypIyw1ZX/ixAl23KVKlaKld40UCvI64MN1pk3BAUuxYLBp06aUpteShw8f4syZM7F8+fJqe+3t27fHvXv3Yk5ODjeNYrEYlyxZgsWLF1fS1qRJE7x8+TI3XebCkiVL2Dlds2YNbzkG4UNnzG3btvGWRBQABXkdobhohbGPzV2+fBmtrKyYJSqtTqYZ2dnZ+PPPP2OrVq3UBvZKlSrhvHnz8MmTJ7ylKpGQkID9+/dX0fvNN9+YXC2JMREfH8/OZbNmzXjLMQgBAQHsmNu1a0dpeiOGgryOUBybM+YbPScnhy2VCQAYFBTEW5JJIAgCXrt2DUePHo0lS5ZUCZTW1tbYt29fPH78uNFnRU6fPq1k5AIAWLJkSVyzZg0tB6ol9erVY+fS3Bd0UqzlKV68uNE9zBLKUJDXIYo3+rNnz3jLUcusWbOUCsAKOxfbUklNTcWQkBD09vZW22uvXbs2rlq1CpOSknhL1QipVIohISFYqlQpleMh1zzNCQwMZOdw9erVvOXojZycHKxVq5bFDU+YMhTkdciyZcvYxf/DDz/wlqPCtWvXWFGYjY0N3rlzh7cko0Qul+OpU6dw4MCBald/c3R0xG+//RYvXrxo8mnKglzz+vTpQ655GvDgwQOlGhdzZc6cOVTLY2JQkNchf//9N7sBGjVqxFuOEhKJRKkKODAwkLcko+P58+e4ZMkSlWp0xWGYbdu24bt373hL1Tnkmld0FLM9xprJKwo3btxQ6iSQ74JpQEFexyg6mhmTPez8+fOZroYNG9LY63/k5uZiREQEdu7cWaU3CwBYpkwZnDJlikV8oZFrXtFYunQpO2erVq3iLUenSKVSbNiwITu+xYsX85ZEFBIK8jrmhx9+YDfC0qVLectBRMS4uDj2BG5tbW3QudrGyr1793DKlClYtmxZlcAuEomwc+fOePDgQczNzeUt1eCQa552PHz40GxT9kFBQezYPv/8c4u8L0wVCvI65tmzZ+xmqFevHm85mJubi/Xr12eaFi5cyFsSNzIzM3H79u3o6+urNh1ftWpVXLx4sdlXRxcWcs3THMV7zVxqGh48eIB2dnYI8N66++rVq7wlERpAQV4PKI5t3rt3j6sWRW9tb29vi3sCFwQBY2JicOTIkejo6KgS2G1tbXHAgAH4559/kgOcGgpyzXNzc8MdO3bQOfsAxZS9ObhIyuVybNmyJTumadOm8ZZEaAgFeT2wbt06dlMsWLCAm45bt26xlGuxYsUwNjaWmxZDk5ycjKtXr1byBFDc6tWrhyEhIZiSksJbqklArnmFQzFl/8UXX/CWU2Q2bNjAjsfT05OKME0QCvJ64NWrV6yIq1atWlwKlvLy8rBRo0bsBp0zZ47BNRgamUyGx48fx759+6KNjY1KYC9RogSOHj0ar169SkVkWkKueZ+mQYMGZpGyf/bsGTo5ObFjOXPmDG9JhBZQkNcTrVu3ZjcHj0I3xTn7derUQYlEYnANhuKff/7B+fPnY+XKldX22lu1aoVhYWGYlZXFW6rZQK55BaN475lqyl4QBOzcuTM7Dn9/f96SCC2hIK8nNm7cyG6Q2bNnG7Ttu3fvMhMXcy2UycnJwX379uH//vc/tYG9XLlyOGPGDFo+V4+Qa556Hj16pDScYYrs2rWLHUOlSpX0uiwyoV8oyOuJxMREtgiMh4eHwdLDUqkUmzRpwm7QGTNmGKRdQ3Hr1i0MCAhAZ2dnlcBuZWWF3bp1wyNHjlh8b9KQJCUlkWveByim7P/55x/ecjQiMTERXVxcmP5jx47xlkQUAQryekSxl3nt2jWDtBkcHMza9PLy4rrEqa5IT0/HzZs3Y+PGjdX22j09PXH58uW0njVnrl69Sq55/7F8+XJ2DozR4vpjKNZcDBo0iLccoohQkNcj27ZtYzfL1KlT9d5efHw8m88qEokwJiZG723qC0EQ8Pz58zhs2DCViu784DF06FA8e/YsTeMyIsg17z2PHz9mx964cWPecgrN4cOHme4yZcpgcnIyb0lEEaEgr0dSU1PZFLYqVaroNRjJZDKlXtSUKVP01pY+ef36Na5YsQJr1qypttfeqFEj3LhxI5mxGDnkmodKNrCmkLJPS0vD8uXLM8179+7lLYnQARTk9UyXLl3YTXPx4kW9tbN69WrWTo0aNUwqPSqVSvHYsWPYo0cPZr+ruJUuXRrHjRuHcXFxvKUSGmLJrnmKVrDBwcG85XySb7/9lunt1q2bxWRdzB0K8nomLCyM3TgTJkzQSxuPHj1Ce3t7lqa/cOGCXtrRNY8ePcJZs2ZhhQoV1Pbav/zySwwPD0exWMxbKlEELNU1T3FVSh8fH95yPsqpU6eUpkK+ePGCtyRCR4gQEYHQGxkZGeDm5gZ5eXlQoUIFePr0KTx69AhiY2PZ9vLlS5BIJJCXlwe2trZgb28PlStXBh8fH7bVrl0brK2tVfYvCAK0adMGoqOjAQBgwoQJEBISYujDLDRisRgOHToEO3bsgPPnz6v8v2LFijBixAgYMWIEeHp6clBI6IucnBxYtWoVBAUFQU5ODvt7kyZNYP369dC0aVOO6vSDj48PxMXFAQDAkydPwMPDg7MiVbKzs+Hzzz+HZ8+eAQDA1q1bwd/fn68oQnfwfsqwBHr06KFUMAZqeq2f2hwcHHDQoEEYHR2tlEYLCQlhr/Hw8DBKwxdBEPD69ev4/fffq8ypBni/Ml7v3r3xt99+Q6lUylsuoWcsyTVvxYoV7PhWrFjBW45aJk2axDS2bdvWbDMrlgoFeT2SmZmJmzdvxipVqnw0gJcrVw49PDzQy8sLPTw8VCqTP9y8vb1xy5YteOvWLXRwcGB/P3v2LO9DViItLQ3Xr1+vtDKX4larVi384YcfzO6LnSgcluCa9+TJE6NO2cfExDB/A3t7e3z8+DFvSYSOoSCvJyIiItDNzU0lsLm6uqKfnx8GBwdjVFQUpqWlqX1/WloaRkVFYXBwMPr5+aGrq6vKvhT92ceOHWvgI1SPXC7H06dP46BBg9h0vg8zEiNGjFDJSBCWiSW45vn4+LDj+vvvv3nLYUgkEqUFnEzVgpf4OBTkdUxycjL6+fmpBDdfX1/cvXu31uY0OTk5uGvXLhWzkfzAydtZ7MWLFxgYGIjVq1dX22tv2rQp/vjjj5iRkcFVJ2GcmLNrnmLKPigoiLccxvz585muJk2a0FCZmUJBXodERkZi2bJllb6kevToofMlXmNjY5XG+QEAy5Yti5GRkTpt51Pk5ubioUOH8KuvvmIWvh9mLSZNmoR37twxqC7CdLl69So2bdpU6Tqyt7fHhQsXmtS0UEUUU/aNGjXiLQcRlZehtra2xtu3b/OWROgJCvI6QrEADgDQxcUFw8PD9ZaSFgQBw8PDlTymAQBDQ0P10p4i9+/fx6lTp6o80AC8n8LXsWNHPHDggFmvfEfoD3N0zVO0ZOadspdKpUpDCAsWLOCqh9AvFOR1gKJPNQBgz5498fXr1wZp+/Xr19izZ0+l9pcvX67zdjIzM3HHjh3YvHlztel4d3d3XLRoET579kznbROWiTm55imuKcE7Zf/DDz8wLea+DDVBQb7IfNiDnzdvnsF7GoIg4Ny5c3XeoxcEAS9duoSjRo1CJycntYV/fn5+ePLkSZTJZDo4EoJQxRxc8/755x+mvWHDhtx0fGicdfnyZW5aCMNAQb4IREZGKn3x8LauVCzwAQCtx+jfvHmDa9aswTp16qjttX/++ee4du1afPPmjY6PgCDUYw6ueYopex5T1eRyObZp04ZpmDx5ssE1EIaHgryWJCcnK41Jz5s3j7ckRESlHr2bm1uhA7FMJsMTJ05gv379lKbm5W9OTk743Xff4eXLl01yTJQwD8RiMS5ZskRlZcImTZrglStXeMv7KIppcn0MqX2KzZs3s/arV69ulMZZhO6hIK8litPkevbsaTSBTxAEpTH6AQMGfPT1T58+xQULFhRo2NOiRQvcuXMnfSEQRsWzZ8/UuuaNGDHCaM2Vnj59ynQ2aNDAoG0/f/4cS5QowdqPiooyaPsEPyjIa8HBgweVqug1KbLLyMjAffv24ZQpU7B169bo6emJJUuWRBsbGyxbtiy2adMGg4ODMSUlRWt9r1+/RmdnZ6YxIiJC6f8SiQT379+PHTp0UJmXnJ8BmD59OsbHx2utgSAMgam55jVp0oTpfPTokUHaFAQBu3btytodNWqUQdoljAMK8hqSmZmp5GQXHh6u0fsVV3v62FamTBk8ceKE1jr37NmjFLQzMzPx9u3bOHHiRJVpdwCAVlZW2LVrVzx8+LBRfjkSREGYkmveypUrmb5ly5YZpE3F74IKFSqYTLEioRsoyGvIli1b2A3To0cPjdP0p06dwipVquCwYcMwJCQEDx8+jJcuXcKLFy/igQMHsH///mxNdVtbW7x165ZWOgVBUDLMqVq1qtqHCQ8PD1y6dCm+fPlSq3YIwlgwBdc8xZR9/fr19d5eUlKSkiX2kSNH9N4mYVxQkNcAQRDQ29ub3TBxcXEa76MwU80Uq/b79OmjjVREfO+Mpy6w29nZ4eDBg/HMmTMmUZVMEJrwMdc8sVjMWx5+8cUXTNfDhw/12tbAgQNZW35+fnptizBOKMhrwF9//cVuGF9fX7225eXlxdL2RUHR675GjRq4YcOGAhfFIQhzoSDXvKpVq3J3zVu1ahXTs3TpUr21c/ToUaXaoaSkJL21RRgvVkAUmk2bNrGfx44dq9e2HB0dAQBAIpEUaT+KOps0aQLjxo0DZ2fnIu2TIIwdKysrGD58ODx69AimTp0K1tbWAACQkJAA/fr1gw4dOsC9e/e4aOvXrx/7+eDBg3ppIz09Hb7//nv2e0hICLi5uemlLcK4ESEi8hZhCshkMihVqhSIxWJwdXWFly9fgr29vV7aio+Ph3r16oFcLofGjRvDtWvXtN6XRCKBypUrQ2pqKjg4OEBGRgb7wiMISyE+Ph4mTpwIp06dYn8rVqwYBAQEwMKFC6F06dIG1dOsWTO4cuUKAADcu3cP5HI5xMbGsu3ly5cgkUggLy8PbG1twd7eHipXrgw+Pj5sq127doH3sr+/P2zbtg0AALp06QK///47iEQigx0fYUTwTiWYCrdv39br2FZ2djY+evQIV69erZRi3L17d5H3rTifmFaEIywVY3LNU6yyV2c+VZjNwcEBBw0ahNHR0UrDD6dPn2avcXJywoSEBIMdF2F8ULq+kMTGxrKffXx8dLLPsLAwEIlEIBKJwNHREWrWrAlTp06FpKQkAACYNm0aDBkypMjtKOpVPA6CsCREIhH06tUL7t+/D0uWLIHixYsDAEBycjKMHDkSmjVrBlevXtWrhqysLNiyZQvs2LGD/U0qlaq8rly5cuDh4QFeXl7g4eEB5cqVU3mNWCyGffv2QcuWLaFBgwawdetWSE5Ohu+++4695ocffgB3d3f9HAxhGvB+yjAVxo8fr3O3qJ07d6p9Qm/QoIFOF45QnJsfEBCgs/0ShCljaNe8iIgIJY+N/M3V1RX9/PwwODgYo6KiCiyMTUtLw6ioKAwODkY/Pz+lqXGg0LvP/7lVq1Y0e4ag6vrC4uvry24eXVWnv337Fu/cuYN37tzBq1ev4r59+7B3794IAOjp6Ym//vqrTtpJTU1l2ps3b66TfRKEuaBv17zk5GQlG+z8zdfXF3fv3o05OTla7TcnJwd37dqlNIMmf7OyssJLly4VWTth+lCQLyT53u7lypXTe1u7du1CkUiEVlZWuHPnTp3sM3+c393dXSf7IwhzQl+ueZGRkUoLWcF/JlqxsbE6VP/eE0PR/AoAsGzZslqvREmYDxTkC0n+jerh4WGQ9vKf/B0dHXWSOahevTorMiIIQj26dM0LCQlR2oeLiwuGh4frbY6+IAgYHh6uYlsdGhqql/YI04Cm0BWS0qVLQ0ZGBnh5eUF8fLze29u7dy8rugsPD4fBgwcXaX9eXl7w8OFDsLGxgREjRoCLi8tHt/yiJIKwRK5duwYBAQFsmhsAgL29PcycORNmzpz5yfsjKCgI5syZw37v2bMnbNmyBcqXL683zfkkJibCmDFj4OjRo+xvy5cvh9mzZ+u9bcL4oCBfSNzc3ODNmzfg4eEBT5480Xt7p06dgo4dOwKAbm5QDw8PePr0aaFfb29v/8kHAXWbk5MTzcclzAJBEGD37t0wc+ZMNuMFAKBq1aqwevVq6NOnj9prPTQ0FCZOnMh+nzdvHixZssSg9wUiwvz582HZsmVKugICAgymgTAOyBWlkOQb32RnZxukvVevXrGfnZycirw/sVis0eslEgn8+++/8O+//2r0Pmtra40eCpydncHFxQVKlSoFxYoV06gtgtAn+a55vXr1gsDAQAgJCQGZTMZc89q3bw8hISFQt25d9p4jR44oBfjg4GCYMWOGwbWLRCJYunQplChRAmbNmgUAABMmTIAqVapAr169DK6H4Af15AtJ8+bN4dKlSwAAkJaWpndr2K5du8Lx48cBAODs2bPQtm1brfeVlpYGrq6uAPB+zvyOHTsgLS2t0JumDwjaIBKJoHTp0hpnDpydncHGxkbv+gjiU655UqkU6tatC2/evAGA9z34wMBAXnIZ8+bNYz16Nzc3uHfvHpQpU4azKsJQUJAvJAEBAbBhwwYAAIiKioL27dtrtZ+wsDAYOHDgRy1x165dC1OmTAEAgGrVqsHjx4+LZEUbFRUFHTp0AID3xxEaGqrR+yUSCbx9+1ajB4O0tDR49+6d1po1oUSJEloNLejLlpgwXxARjh49CpMnT4Znz56xv7u5uUHVqlWZBXXPnj0hMjLSKIauEBF69+7NxugHDBgA+/fv56yKMBQU5AtJWFgYjBgxAgCKloKrVq0aZGZmQt++faFly5bg6ekJTk5OkJmZCXfu3IHw8HC4ePEiAADY2trC77//Dv/73/+KpD04OJil7MLCwmD48OFF2l9hkUqlkJ6ervHDwdu3b8EQl2Xx4sW1ejhwdHQ0ii9vgh85OTmwatUqCAoKgpycHKX/ubi4wL1793RWZDdjxgxYuXIl+12bzF5iYiLUqVMH3r59CwAAERER0LdvX53oI4wbCvKF5M6dO+Dt7Q0AAH5+fnDgwAGt9lOtWjVISEj45OsqV64MP/30E+uBFwU/Pz+22tWdO3fg888/L/I+9YkgCJCRkaHxw0FaWhrIZDK967OxsdHq4aBkyZJgZUVO0uZEQkICTJ48GSIjI9nfdDEbJp9bt25B48aNla5rbYfvwsPDYejQoQDwPvPw5MkTndT7EMYNBflCoqtV6J48eQJRUVFw9uxZiI+Ph6SkJEhNTQV7e3soV64cNGjQALp16wZ+fn7g4OBQZN2WtAodIkJWVpbGDwapqamQm5urd31WVlas0FCTrXTp0mb7mZkDW7duhTFjxgAAQI8ePeDIkSM6yfQIggDNmjWDa9eugZubGyQnJwOA9kEeEaFXr15w7Ngxptvf37/IOgnjhoK8BgwePBj27dsHAAC7d+9mT8XGzO7du2HYsGEAADBo0CDYu3cvZ0XGSU5OjlaZg6ysLIPoK1WqlFZFiXZ2dgbRZ6kgIjRo0ABu374NAABxcXHQsGFDnex73bp1MHnyZPDy8oLevXtDUFAQABStEDcuLo4tWOXt7Q03b96koSczh4K8BkRHR0OrVq0AAMDX1xdiYmI4K/o0vr6+cPnyZQB4r79FixacFZkXeXl5WtUdpKenG6TuwNHRUWmqYmE3BwcH+vIvBPr6Tnjx4gXUqVMHsrKy4OzZs3Du3DlYvHgxABR9tg19J1gWlAPUgBYtWoC3tzfcvn0bLl26BDdu3NDZU7s+iIuLYzdz/fr1oXnz5pwVmR+2trbg5uYGbm5uGr1PLpdrXXcgl8sL3U52djZkZ2fDixcvND4ubesOLOnhYNOmTeznsWPH6my/Y8eOhaysLBg+fDi0bdsWzp07p9N9538vbNy4kYK8mUNBXgNEIhGMHTuWjb8tWrRIZ+NvugYR2ZM/wPsb2xh1WirFihVjgQ5L/VAAAAfKSURBVFETEBEyMzO1qjvIy8srdDt5eXmQmJgIiYmJGh+XtnUHpmaGJJPJ2LQ0V1dX6Nevn072+8svv8Bvv/0GLi4uSlX1uqJ///4wefJkSE1NhaNHj4JMJqOaDzOGPlkNGTJkCCxYsACSk5Ph2LFjsG/fPp1V0uqSvXv3sgIbNzc3o9RIaI5IJIKSJUtCyZIloVq1aoV+HyJqXXegicujXC6HlJQUSElJ0fjYtDVDsrW11bgtXRAfH8+Motq3b68T34X09HTmmBccHAxly5Yt8j4/xN7eHtq1awcHDx4EsVgMDx48MPoZN4T2UJDXECcnJ9i0aRN7ag8ICIB27doZZOGJwpKYmKjkUb1582aaKmPhiEQicHBwAAcHB6hcubJG783NzdXKDCkjI0OjdtLT0yE9PR3++ecfjd7n5OSk1dBCURdhio2NZT/nF7MVlRkzZkBiYiI0b94cRo4cqZN9qsPHx4dNq42NjaUgb8ZQkNeCvn37gp+fH/zyyy+QlpYGY8aMMSp3qzFjxjDTiwEDBkCfPn04qyJMGTs7OyhfvrzGD7IymUxrMyRBEArdTlZWFmRlZcHz58810lfURZh0HeSjo6Nh+/btYG1tDVu2bNHr94mi3tjYWIMZZBGGh4K8lmzYsAHOnj0Lb968gaNHj8KCBQuMwqd6/vz5bJzQzc2NWfEShKGxtraGMmXKaOyTLggCvHv3TinoF7buQCqVFrqdoi7ClJmZyf7WqFEjjfbxIXl5eeDv7w+ICJMnT4Z69eoVaX+fQlGv4sMKYX5QkNeSsmXLwo8//gi9e/cGAIClS5eCk5MTzJw5k5um4OBgpaUlt27dSgtRECaHlZUVlC5dGkqXLg0eHh6Ffh8iglgs1qruQJNFmGQyGTOmAQAoV65ckResWr58OcTHx4O7uzssXLiwSPsqDC4uLlCuXDlISkqCly9f6r09gh8U5ItAr169ICQkhBXKzJo1CzIzMyEwMNDga0fPmzcPli9fzv4WGhpKS0oSFoVIJAJHR0dwdHSEKlWqaPRebRZhSkhIAEQER0fHIul+8OABM7pZv359kfdXWPIdNSUSiUHaI/hAQb6ITJgwAbKzs2HOnDkAALBs2TK4e/cubNmyxSDFeImJiTBmzBiWogcACAoKUiq8Iwji49jb20OFChWgQoUKhX5P6dKlISMjo8jV/WvXroW8vDzw8PAAsVisdoW4u3fvsp/PnDnDpjZ2795d64eCfN2GsHQmOIKETggNDUUAYJuzszPu2bMHBUHQS3uCIOCePXvQ2dlZqd3169frpT2CIJQpW7YsAgB6eHgUaT/Dhw9Xuoc12Z4+fap1u9WrV0cAQDc3tyLpJ4wbWhJLRwQEBEBkZCSb1/r27VsYOnQo9OrVC+Li4nTaVlxcHPTq1QuGDh3Kqujd3NwgMjISxo8fr9O2CIJQT/68eE18BIyJ/DoEXczvJ4wXCvI6pFevXnD//n0YMGAA+9uxY8fAx8cHfH19Yffu3VqPf0kkEti1axc0a9YMfHx8mNENAMDAgQPh3r17NAZPEAYk328gKSmJPWxrQ1hYGCDiRzfFYryzZ8+yv2tiiKRIWloaJCUlKR0HYZ5QkNcxZcqUgf3790NERISSn/nly5dh2LBhULlyZfDz84Pg4GCIiooq8Mvh7du3EBUVBcHBweDn5weVK1eG4cOHw5UrV9hr3Nzc4NChQ7Bv3z6qoicIA6M411zX2Tp9o6hXV0Y+hHFChXd6om/fvtCpUycIDw+HTZs2saUoU1NT4eDBg8xtCuD9FBwHBwewtbWFvLw8EIvF7ClbHd7e3jBu3DgYPHgwOdkRBCc+NJRp3749RzWaoQ+3PsI4oSCvR5ycnGD06NHg7+8PMTExsHHjRjh69KjKnNyPBfR8HBwcoFevXjBu3Djw9fU1Cnc9grBkPgzypgQFecuBgrwBEIlE0KJFC2jRogXIZDJ48OABxMbGsu3ly5cgkUggNzcX7OzswN7eHipXrgw+Pj5s8/LyopWiCMKIqF27Njg4OIBYLIbTp0+DRCIxiSI2iUQCZ86cAYD3nQcvLy/Oigh9IkJE5C2CIAjCFBk8eDDs27cPAAB2794NQ4cO5azo0+zevRuGDRsGAACDBg2CvXv3clZE6BMqvCMIgtCSsWPHsp83bdrEUUnhUdQ5btw4jkoIQ0A9eYIgCC1BRGjQoAErrI2Li4OGDRtyVlUwcXFxbAy+fv36cOPGDarvMXOoJ08QBKElIpFIqTe/aNEiMNZ+EyLC4sWL2e9jx46lAG8BUE+eIAiiCGRlZYGnpydbmS48PBwGDx7MWZUq4eHhrGbAzc0Nnjx5QlNwLQDqyRMEQRQBJycnpXHugIAAtoCMsZCYmKi0aNXmzZspwFsIFOQJgiCKSN++fcHPzw8A3lvGjhkzxmjS9ogIY8aMYe6aAwYMgD59+nBWRRgKStcTBEEQhJlCPXmCIAiCMFMoyBMEQRCEmUJBniAIgiDMFAryBEEQBGGmUJAnCIIgCDOFgjxBEARBmCkU5AmCIAjCTKEgTxAEQRBmCgV5giAIgjBTKMgTBEEQhJlCQZ4gCIIgzBQK8gRBEARhplCQJwiCIAgzhYI8QRAEQZgpFOQJgiAIwkyhIE8QBEEQZgoFeYIgCIIwUyjIEwRBEISZ8n+4R3Mi9IHiWwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots(figsize=(3, 2), dpi=200)\n", "gt.get_plot_mpl(graph, ax=ax, seed=1)\n", @@ -111,7 +133,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.5" + "version": "3.8.3" } }, "nbformat": 4, diff --git a/notebooks/mds-directed-example.ipynb b/notebooks/mds-directed-example.ipynb index c9b6725..be3b283 100644 --- a/notebooks/mds-directed-example.ipynb +++ b/notebooks/mds-directed-example.ipynb @@ -237,9 +237,9 @@ ], "metadata": { "kernelspec": { - "display_name": "qlp", + "display_name": "Python 3", "language": "python", - "name": "qlp" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -251,7 +251,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.5" + "version": "3.8.3" } }, "nbformat": 4, diff --git a/notebooks/mds-qlpdb_implicit_embedding.ipynb b/notebooks/mds-qlpdb_implicit_embedding.ipynb index e93346e..62f9f86 100644 --- a/notebooks/mds-qlpdb_implicit_embedding.ipynb +++ b/notebooks/mds-qlpdb_implicit_embedding.ipynb @@ -2255,9 +2255,9 @@ ], "metadata": { "kernelspec": { - "display_name": "qlp", + "display_name": "Python 3", "language": "python", - "name": "quantum_linear_programming" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -2269,7 +2269,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.8.5" } }, "nbformat": 4, diff --git a/notebooks/minimum-dominating-set.ipynb b/notebooks/minimum-dominating-set.ipynb index 635928a..4316504 100644 --- a/notebooks/minimum-dominating-set.ipynb +++ b/notebooks/minimum-dominating-set.ipynb @@ -20,319 +20,15 @@ "metadata": {}, "outputs": [ { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " Loading BokehJS ...\n", - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "\n", - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " var force = true;\n", - "\n", - " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", - " root._bokeh_onload_callbacks = [];\n", - " root._bokeh_is_loading = undefined;\n", - " }\n", - "\n", - " var JS_MIME_TYPE = 'application/javascript';\n", - " var HTML_MIME_TYPE = 'text/html';\n", - " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", - " var CLASS_NAME = 'output_bokeh rendered_html';\n", - "\n", - " /**\n", - " * Render data to the DOM node\n", - " */\n", - " function render(props, node) {\n", - " var script = document.createElement(\"script\");\n", - " node.appendChild(script);\n", - " }\n", - "\n", - " /**\n", - " * Handle when an output is cleared or removed\n", - " */\n", - " function handleClearOutput(event, handle) {\n", - " var cell = handle.cell;\n", - "\n", - " var id = cell.output_area._bokeh_element_id;\n", - " var server_id = cell.output_area._bokeh_server_id;\n", - " // Clean up Bokeh references\n", - " if (id != null && id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - "\n", - " if (server_id !== undefined) {\n", - " // Clean up Bokeh references\n", - " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", - " cell.notebook.kernel.execute(cmd, {\n", - " iopub: {\n", - " output: function(msg) {\n", - " var id = msg.content.text.trim();\n", - " if (id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - " }\n", - " }\n", - " });\n", - " // Destroy server and session\n", - " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", - " cell.notebook.kernel.execute(cmd);\n", - " }\n", - " }\n", - "\n", - " /**\n", - " * Handle when a new output is added\n", - " */\n", - " function handleAddOutput(event, handle) {\n", - " var output_area = handle.output_area;\n", - " var output = handle.output;\n", - "\n", - " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", - " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", - " return\n", - " }\n", - "\n", - " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", - "\n", - " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", - " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", - " // store reference to embed id on output_area\n", - " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", - " }\n", - " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", - " var bk_div = document.createElement(\"div\");\n", - " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", - " var script_attrs = bk_div.children[0].attributes;\n", - " for (var i = 0; i < script_attrs.length; i++) {\n", - " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", - " }\n", - " // store reference to server id on output_area\n", - " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", - " }\n", - " }\n", - "\n", - " function register_renderer(events, OutputArea) {\n", - "\n", - " function append_mime(data, metadata, element) {\n", - " // create a DOM node to render to\n", - " var toinsert = this.create_output_subarea(\n", - " metadata,\n", - " CLASS_NAME,\n", - " EXEC_MIME_TYPE\n", - " );\n", - " this.keyboard_manager.register_events(toinsert);\n", - " // Render to node\n", - " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", - " render(props, toinsert[toinsert.length - 1]);\n", - " element.append(toinsert);\n", - " return toinsert\n", - " }\n", - "\n", - " /* Handle when an output is cleared or removed */\n", - " events.on('clear_output.CodeCell', handleClearOutput);\n", - " events.on('delete.Cell', handleClearOutput);\n", - "\n", - " /* Handle when a new output is added */\n", - " events.on('output_added.OutputArea', handleAddOutput);\n", - "\n", - " /**\n", - " * Register the mime type and append_mime function with output_area\n", - " */\n", - " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", - " /* Is output safe? */\n", - " safe: true,\n", - " /* Index of renderer in `output_area.display_order` */\n", - " index: 0\n", - " });\n", - " }\n", - "\n", - " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", - " if (root.Jupyter !== undefined) {\n", - " var events = require('base/js/events');\n", - " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", - "\n", - " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", - " register_renderer(events, OutputArea);\n", - " }\n", - " }\n", - "\n", - " \n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_failed_load = false;\n", - " }\n", - "\n", - " var NB_LOAD_WARNING = {'data': {'text/html':\n", - " \"
\\n\"+\n", - " \"

\\n\"+\n", - " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", - " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", - " \"

\\n\"+\n", - " \"
    \\n\"+\n", - " \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n", - " \"
  • use INLINE resources instead, as so:
  • \\n\"+\n", - " \"
\\n\"+\n", - " \"\\n\"+\n", - " \"from bokeh.resources import INLINE\\n\"+\n", - " \"output_notebook(resources=INLINE)\\n\"+\n", - " \"\\n\"+\n", - " \"
\"}};\n", - "\n", - " function display_loaded() {\n", - " var el = document.getElementById(\"1001\");\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS is loading...\";\n", - " }\n", - " if (root.Bokeh !== undefined) {\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", - " }\n", - " } else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(display_loaded, 100)\n", - " }\n", - " }\n", - "\n", - "\n", - " function run_callbacks() {\n", - " try {\n", - " root._bokeh_onload_callbacks.forEach(function(callback) {\n", - " if (callback != null)\n", - " callback();\n", - " });\n", - " } finally {\n", - " delete root._bokeh_onload_callbacks\n", - " }\n", - " console.debug(\"Bokeh: all callbacks have finished\");\n", - " }\n", - "\n", - " function load_libs(css_urls, js_urls, callback) {\n", - " if (css_urls == null) css_urls = [];\n", - " if (js_urls == null) js_urls = [];\n", - "\n", - " root._bokeh_onload_callbacks.push(callback);\n", - " if (root._bokeh_is_loading > 0) {\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " }\n", - " if (js_urls == null || js_urls.length === 0) {\n", - " run_callbacks();\n", - " return null;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", - "\n", - " function on_load() {\n", - " root._bokeh_is_loading--;\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", - " run_callbacks()\n", - " }\n", - " }\n", - "\n", - " function on_error() {\n", - " console.error(\"failed to load \" + url);\n", - " }\n", - "\n", - " for (var i = 0; i < css_urls.length; i++) {\n", - " var url = css_urls[i];\n", - " const element = document.createElement(\"link\");\n", - " element.onload = on_load;\n", - " element.onerror = on_error;\n", - " element.rel = \"stylesheet\";\n", - " element.type = \"text/css\";\n", - " element.href = url;\n", - " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " for (var i = 0; i < js_urls.length; i++) {\n", - " var url = js_urls[i];\n", - " var element = document.createElement('script');\n", - " element.onload = on_load;\n", - " element.onerror = on_error;\n", - " element.async = false;\n", - " element.src = url;\n", - " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", - " document.head.appendChild(element);\n", - " }\n", - " };var element = document.getElementById(\"1001\");\n", - " if (element == null) {\n", - " console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n", - " return false;\n", - " }\n", - "\n", - " function inject_raw_css(css) {\n", - " const element = document.createElement(\"style\");\n", - " element.appendChild(document.createTextNode(css));\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " \n", - " var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n", - " var css_urls = [];\n", - " \n", - "\n", - " var inline_js = [\n", - " function(Bokeh) {\n", - " Bokeh.set_log_level(\"info\");\n", - " },\n", - " function(Bokeh) {\n", - " \n", - " \n", - " }\n", - " ];\n", - "\n", - " function run_inline_js() {\n", - " \n", - " if (root.Bokeh !== undefined || force === true) {\n", - " \n", - " for (var i = 0; i < inline_js.length; i++) {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " }\n", - " if (force === true) {\n", - " display_loaded();\n", - " }} else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(run_inline_js, 100);\n", - " } else if (!root._bokeh_failed_load) {\n", - " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", - " root._bokeh_failed_load = true;\n", - " } else if (force !== true) {\n", - " var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n", - " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", - " }\n", - "\n", - " }\n", - "\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", - " run_inline_js();\n", - " } else {\n", - " load_libs(css_urls, js_urls, function() {\n", - " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_inline_js();\n", - " });\n", - " }\n", - "}(window));" - ], - "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1001\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };var element = document.getElementById(\"1001\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n return false;\n }\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" - }, - "metadata": {}, - "output_type": "display_data" + "ename": "ModuleNotFoundError", + "evalue": "No module named 'bokeh'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnetworkx\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mbokeh\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mio\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mshow\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moutput_notebook\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mbokeh\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodels\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mPlot\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mRange1d\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mMultiLine\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mCircle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mHoverTool\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mbokeh\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodels\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgraphs\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mfrom_networkx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'bokeh'" + ] } ], "source": [ @@ -1594,9 +1290,9 @@ ], "metadata": { "kernelspec": { - "display_name": "quantum_linear_programming", + "display_name": "Python 3", "language": "python", - "name": "quantum_linear_programming" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -1608,7 +1304,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.8.3" } }, "nbformat": 4, diff --git a/notebooks/tdse_notebook.ipynb b/notebooks/tdse_notebook.ipynb index 14a85db..ba49741 100644 --- a/notebooks/tdse_notebook.ipynb +++ b/notebooks/tdse_notebook.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -126,21 +126,25 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "{'tag': 'NN(2)', 'total_vertices': 2, 'total_edges': 1, 'total_qubits': 5, 'max_edges': 1, 'adjacency': [[0, 1]], 'adjacency_hash': '2864ee150babb3f03de5e76a1733df4b'}\n", - "[[6.5, 0.0, -4.0, -16.0, -4.0], [0.0, -3.0, -4.0, 8.0, -4.0], [0.0, 0.0, 6.0, 0.0, 0.0], [0.0, 0.0, 0.0, 6.5, 0.0], [0.0, 0.0, 0.0, 0.0, 6.0]]\n", - "[ 2.75 1.5 -1. -1.25 -1. ]\n" + "{'tag': 'NN(2)', 'total_vertices': 2, 'total_edges': 1, 'total_qubits': 4, 'max_edges': 1, 'adjacency': [[0, 1]], 'adjacency_hash': '2864ee150babb3f03de5e76a1733df4b'}\n", + "[[-3.0, 8.0, -4.0, -4.0], [0.0, -3.0, -4.0, -4.0], [0.0, 0.0, 6.0, 0.0], [0.0, 0.0, 0.0, 6.0]]\n", + "[[ 0. 2. -1. -1.]\n", + " [ 0. 0. -1. -1.]\n", + " [ 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0.]]\n", + "[ 1.5 1.5 -1. -1. ]\n" ] } ], "source": [ - "embed = True # nvertices = [2, 3] available\n", + "embed = False # nvertices = [2, 3] available\n", "embedding = None\n", "\n", "if embed:\n", @@ -153,6 +157,7 @@ "graph_params = graph_summary(tag, graph, qubo)\n", "print(graph_params)\n", "print(qubo.todense().tolist())\n", + "print(Jij)\n", "print(hi)" ] }, @@ -467,7 +472,7 @@ "\n", "# brute force solving time-dependent schrodinger equation to simulate quantum annealing for small systems\n", "result = dict()\n", - "offset_min_list = [-0.05]\n", + "offset_min_list = [0.05]\n", "Aoffset = 0\n", "\n", "for offset_min in offset_min_list:\n", diff --git a/paper/.gitignore b/paper/.gitignore index 097b9f6..903fb49 100644 --- a/paper/.gitignore +++ b/paper/.gitignore @@ -2,3 +2,5 @@ main.dvi main.fdb_latexmk main.fls main.xdv +~$ver_Letter.docx + diff --git a/paper/Cover_Letter.docx b/paper/Cover_Letter.docx new file mode 100644 index 0000000..76000b0 Binary files /dev/null and b/paper/Cover_Letter.docx differ diff --git a/paper/Cover_Letter.pdf b/paper/Cover_Letter.pdf new file mode 100644 index 0000000..77ec3d6 Binary files /dev/null and b/paper/Cover_Letter.pdf differ diff --git a/paper/v1/DWave_scaling.pdf b/paper/v1/DWave_scaling.pdf new file mode 100644 index 0000000..835df25 Binary files /dev/null and b/paper/v1/DWave_scaling.pdf differ diff --git a/paper/v1/MDS_mds0.pdf b/paper/v1/MDS_mds0.pdf new file mode 100644 index 0000000..d87fd99 Binary files /dev/null and b/paper/v1/MDS_mds0.pdf differ diff --git a/paper/v1/MDS_mds1.pdf b/paper/v1/MDS_mds1.pdf new file mode 100644 index 0000000..1cb4e7c Binary files /dev/null and b/paper/v1/MDS_mds1.pdf differ diff --git a/paper/v1/MDS_mds2.pdf b/paper/v1/MDS_mds2.pdf new file mode 100644 index 0000000..4887eda Binary files /dev/null and b/paper/v1/MDS_mds2.pdf differ diff --git a/paper/v1/NN2_offset_scaling.pdf b/paper/v1/NN2_offset_scaling.pdf new file mode 100644 index 0000000..f13f5f5 Binary files /dev/null and b/paper/v1/NN2_offset_scaling.pdf differ diff --git a/paper/v1/NN2_offset_scaling_extended.pdf b/paper/v1/NN2_offset_scaling_extended.pdf new file mode 100644 index 0000000..cab120d Binary files /dev/null and b/paper/v1/NN2_offset_scaling_extended.pdf differ diff --git a/paper/v1/anneal_schedule.pdf b/paper/v1/anneal_schedule.pdf new file mode 100644 index 0000000..c3ba0a3 Binary files /dev/null and b/paper/v1/anneal_schedule.pdf differ diff --git a/paper/v1/anneal_schedule_extended.pdf b/paper/v1/anneal_schedule_extended.pdf new file mode 100644 index 0000000..01fef6f Binary files /dev/null and b/paper/v1/anneal_schedule_extended.pdf differ diff --git a/paper/v1/final_state_distribution.pdf b/paper/v1/final_state_distribution.pdf new file mode 100644 index 0000000..d611e18 Binary files /dev/null and b/paper/v1/final_state_distribution.pdf differ diff --git a/paper/v1/linear_graph.pdf b/paper/v1/linear_graph.pdf new file mode 100644 index 0000000..8e9cd5f Binary files /dev/null and b/paper/v1/linear_graph.pdf differ diff --git a/paper/v1/main.aux b/paper/v1/main.aux new file mode 100644 index 0000000..6f8d2b0 --- /dev/null +++ b/paper/v1/main.aux @@ -0,0 +1,160 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\citation{GLOVER1986533,doi:10.1287/ijoc.1.3.190,doi:10.1287/ijoc.2.1.4} +\citation{2020arXiv200713788H} +\citation{Fomin2009,vanRooij2009} +\newlabel{FirstPage}{{}{1}{}{section*.1}{}} +\@writefile{toc}{\contentsline {title}{Integer Programming with Quantum Annealing from an Open Quantum System}{1}{section*.2}\protected@file@percent } +\@writefile{toc}{\contentsline {abstract}{Abstract}{1}{section*.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {I}INTRODUCTION}{1}{section*.3}\protected@file@percent } +\newlabel{sec:introduction}{{I}{1}{}{section*.3}{}} +\newlabel{eq:initial-ip-def}{{1.1}{1}{}{equation.1.1}{}} +\newlabel{eq:ilp-constraints}{{1.2}{1}{}{equation.1.2}{}} +\citation{1998PhRvE..58.5355K,2000quant.ph..1106F,RevModPhys.80.1061} +\citation{doi:10.7566/JPSJ.89.044001} +\citation{2018Glover} +\citation{PhysRevA.96.042322,hsu2018quantum,10.1007/978-3-030-14082-3_14,2020RPPh...83e4401H} +\citation{doi:10.1146/annurev-conmatphys-031214-014726,PhysRevE.90.022103,RevModPhys.91.021001,ALET2018498,PhysRevB.82.174411,PhysRevLett.109.017202} +\citation{Chang:2018uoc} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Example of different dominating sets for $G(V, E)$. Vertices in the dominating set $D$ are highlighted in blue. {\textbf {a)}} A dominating set of $G$ with domination number $\overline {\overline {D}} = 2$. {\textbf {b)}} A minimal dominating set of $G$ with domination number of $\overline {\overline {D}} = 2$. {\textbf {c)}} The MDS of $G$ with domination number of $\overline {\overline {D}} = 1$.}}{2}{figure.1}\protected@file@percent } +\newlabel{fig:dominating_sets}{{1}{2}{Example of different dominating sets for $G(V, E)$. Vertices in the dominating set $D$ are highlighted in blue. {\textbf {a)}} A dominating set of $G$ with domination number $\overline {\overline {D}} = 2$. {\textbf {b)}} A minimal dominating set of $G$ with domination number of $\overline {\overline {D}} = 2$. {\textbf {c)}} The MDS of $G$ with domination number of $\overline {\overline {D}} = 1$}{figure.1}{}} +\newlabel{eq:tdhamiltonian}{{1.4}{2}{}{equation.1.4}{}} +\newlabel{eq:ilp:slack}{{1.5}{2}{}{equation.1.5}{}} +\newlabel{eq:HIsing}{{1.7}{2}{}{equation.1.7}{}} +\@writefile{toc}{\contentsline {section}{\numberline {II}RESULTS}{2}{section*.4}\protected@file@percent } +\newlabel{sec:results}{{II}{2}{}{section*.4}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {A}QUBO Formulation of ILP}{2}{section*.5}\protected@file@percent } +\newlabel{sec:results:qa1}{{II\tmspace +\thinmuskip {.1667em}A}{2}{}{section*.5}{}} +\newlabel{eq:int_to_bin}{{2.1}{3}{}{equation.2.1}{}} +\newlabel{eq:bit-vector-mapping}{{2.7}{3}{}{equation.2.7}{}} +\newlabel{eq:ilp-slack-bit-energy}{{2.8}{3}{}{equation.2.8}{}} +\newlabel{eq:matrix_form}{{2.10}{3}{}{equation.2.10}{}} +\newlabel{eq:qubo:components}{{2.11}{3}{}{equation.2.11}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {B}Annealer Results for the Dominating Set}{3}{section*.6}\protected@file@percent } +\newlabel{sec:results:qa}{{II\tmspace +\thinmuskip {.1667em}B}{3}{}{section*.6}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Linear graphs $G(n)$ used in this study. Nodes denote vertices of the graphs and lines are undirected edges.}}{3}{figure.2}\protected@file@percent } +\newlabel{fig:linear}{{2}{3}{Linear graphs $G(n)$ used in this study. Nodes denote vertices of the graphs and lines are undirected edges}{figure.2}{}} +\citation{PhysRevE.90.022103,RevModPhys.81.1665} +\citation{10.5555/1972505,preskill1998lecture} +\citation{2016PhRvA..93e2320K,2017PhRvL.118g0502M} +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Baseline result of D-Wave (black) compared to random guessing (dashed green). The jagged nature of random guessing reflects the degeneracy of the ground state. Negative offsets with a `s' tag (blue) are results from delays of large values of $|h_i|$, while negative offsets with the `w' label (red) delay the schedule of qubits with small values of $h_i$.}}{4}{figure.3}\protected@file@percent } +\newlabel{fig:baseline}{{3}{4}{Baseline result of D-Wave (black) compared to random guessing (dashed green). The jagged nature of random guessing reflects the degeneracy of the ground state. Negative offsets with a `s' tag (blue) are results from delays of large values of $|h_i|$, while negative offsets with the `w' label (red) delay the schedule of qubits with small values of $h_i$}{figure.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {C}Simulation Results}{4}{section*.7}\protected@file@percent } +\newlabel{sec:results:simulation}{{II\tmspace +\thinmuskip {.1667em}C}{4}{}{section*.7}{}} +\newlabel{eq:sim:linblad-eq}{{2.15}{4}{}{equation.2.15}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces The probability of finding the MDS for $G(2)$ from D-Wave (black) and simulation (dashed yellow) at annealing times of 1 $\mu s$.}}{4}{figure.4}\protected@file@percent } +\newlabel{fig:dwave1us}{{4}{4}{The probability of finding the MDS for $G(2)$ from D-Wave (black) and simulation (dashed yellow) at annealing times of 1 $\mu s$}{figure.4}{}} +\citation{dwave_temp} +\citation{2003Sci...299.1869C} +\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Final state distribution from D-Wave (solid bars) and simulation (black outline). The colors label the type of offset The $(0, 1, 0, 0, 0)$ state is the first solution where vertex 1 is in the dominating set. The $(1, 0, 0, 1, 0)$ state is the second solution where vertex 0 is in the dominating set. The first excited state is the $(1, 1, 1, 1, 1)$ state where both vertices are in the dominating set.}}{5}{figure.5}\protected@file@percent } +\newlabel{fig:final_state_distribution}{{5}{5}{Final state distribution from D-Wave (solid bars) and simulation (black outline). The colors label the type of offset The $(0, 1, 0, 0, 0)$ state is the first solution where vertex 1 is in the dominating set. The $(1, 0, 0, 1, 0)$ state is the second solution where vertex 0 is in the dominating set. The first excited state is the $(1, 1, 1, 1, 1)$ state where both vertices are in the dominating set}{figure.5}{}} +\@writefile{toc}{\contentsline {section}{\numberline {III}Discussion}{5}{section*.8}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {A}Dynamics of Time Evolution}{5}{section*.9}\protected@file@percent } +\newlabel{sec:discussion:time_evolution}{{III\tmspace +\thinmuskip {.1667em}A}{5}{}{section*.9}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Time-dependent probability for resolving the ground state for simulation results presented in Sec.\nobreakspace {}\ref {sec:results:simulation}. Different offsets are labeled in the same way as Fig.\nobreakspace {}\ref {fig:baseline}.}}{5}{figure.6}\protected@file@percent } +\newlabel{fig:td_prob}{{6}{5}{Time-dependent probability for resolving the ground state for simulation results presented in Sec.~\ref {sec:results:simulation}. Different offsets are labeled in the same way as Fig.~\ref {fig:baseline}}{figure.6}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {B}Idealized Quantum Annealing}{5}{section*.10}\protected@file@percent } +\newlabel{sec:discussion:idealqa}{{III\tmspace +\thinmuskip {.1667em}B}{5}{}{section*.10}{}} +\citation{2015PhRvB..91h1103L} +\citation{Goldenfeld:1992qy} +\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Extended annealing schedule and simulation result. \textbf {a)} The annealing time is increased by 10\% at both the start and end, and the initial values of $A(s)$ and $B(s)$ at non-zero offset are also not extrapolated in comparison to Fig.\nobreakspace {}\ref {fig:anneal_schedule}. Therefore, the initial and final Hamiltonian are no longer suffer systematic error at non-zero offset. \textbf {b)} The default (dashed yellow) result is one presented in Fig.\nobreakspace {}\ref {fig:dwave1us}. Results from extended schedules are presented shown with solid lines with full-counting statistics and amplitude damping (red), only full-counting-statistics (blue), and only amplitude damping (green). }}{6}{figure.7}\protected@file@percent } +\newlabel{fig:anneal_schedule_ext}{{7}{6}{Extended annealing schedule and simulation result. \textbf {a)} The annealing time is increased by 10\% at both the start and end, and the initial values of $A(s)$ and $B(s)$ at non-zero offset are also not extrapolated in comparison to Fig.~\ref {fig:anneal_schedule}. Therefore, the initial and final Hamiltonian are no longer suffer systematic error at non-zero offset. \textbf {b)} The default (dashed yellow) result is one presented in Fig.~\ref {fig:dwave1us}. Results from extended schedules are presented shown with solid lines with full-counting statistics and amplitude damping (red), only full-counting-statistics (blue), and only amplitude damping (green)}{figure.7}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {C}Final Remarks}{6}{section*.11}\protected@file@percent } +\newlabel{sec:results:final}{{III\tmspace +\thinmuskip {.1667em}C}{6}{}{section*.11}{}} +\@writefile{toc}{\contentsline {section}{\numberline {IV}METHODS}{6}{section*.12}\protected@file@percent } +\newlabel{sec:methods}{{IV}{6}{}{section*.12}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {A}Additional Mappings to QUBO}{6}{section*.13}\protected@file@percent } +\newlabel{sec:methods:ILP-to-QUBO}{{IV\tmspace +\thinmuskip {.1667em}A}{6}{}{section*.13}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {1}Minimum Dominating Set QUBO}{6}{section*.14}\protected@file@percent } +\newlabel{sec:methods:mds-qubo}{{IV\tmspace +\thinmuskip {.1667em}A\tmspace +\thinmuskip {.1667em}1}{6}{}{section*.14}{}} +\citation{dwave_oceans} +\citation{2008arXiv0804.4884C} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2}Integer Quadratic Optimization}{7}{section*.15}\protected@file@percent } +\newlabel{sec:methods:ilp:quadratic}{{IV\tmspace +\thinmuskip {.1667em}A\tmspace +\thinmuskip {.1667em}2}{7}{}{section*.15}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {B}ILP on the D-Wave}{7}{section*.16}\protected@file@percent } +\newlabel{sec:methods:ILP-on-D-Wave}{{IV\tmspace +\thinmuskip {.1667em}B}{7}{}{section*.16}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {1}Comment on ILP QUBO Penalty Term}{7}{section*.17}\protected@file@percent } +\newlabel{sec:methods:ilp-qubo-comments}{{IV\tmspace +\thinmuskip {.1667em}B\tmspace +\thinmuskip {.1667em}1}{7}{}{section*.17}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2}Minor Embedding}{7}{section*.18}\protected@file@percent } +\newlabel{sec:methods:minor_embedding}{{IV\tmspace +\thinmuskip {.1667em}B\tmspace +\thinmuskip {.1667em}2}{7}{}{section*.18}{}} +\citation{dwave_as,dwave_as_docu} +\@writefile{toc}{\contentsline {subsection}{\numberline {C}Simulation of a Quantum Annealer}{8}{section*.19}\protected@file@percent } +\newlabel{sec:methods:simulation}{{IV\tmspace +\thinmuskip {.1667em}C}{8}{}{section*.19}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {1}The Lindblad Equation}{8}{section*.20}\protected@file@percent } +\newlabel{sec:methods:lindblad}{{IV\tmspace +\thinmuskip {.1667em}C\tmspace +\thinmuskip {.1667em}1}{8}{}{section*.20}{}} +\newlabel{eq:annealH}{{4.16}{8}{}{equation.4.16}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2}Annealing Schedule and Offsets}{8}{section*.21}\protected@file@percent } +\newlabel{sec:methods:annealing-schedule}{{IV\tmspace +\thinmuskip {.1667em}C\tmspace +\thinmuskip {.1667em}2}{8}{}{section*.21}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Anneal schedules for amplitudes of initial Hamiltonian (dashed) and final Hamiltonian (solid). Offset 0.0 (black) and -0.05 (purple) are displayed. Intermediate values lie between and are suppressed for clarity. }}{8}{figure.8}\protected@file@percent } +\newlabel{fig:anneal_schedule}{{8}{8}{Anneal schedules for amplitudes of initial Hamiltonian (dashed) and final Hamiltonian (solid). Offset 0.0 (black) and -0.05 (purple) are displayed. Intermediate values lie between and are suppressed for clarity}{figure.8}{}} +\citation{github:cchang5/quantum_linear_programming} +\citation{Chang:2019khk} +\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Time-dependent vacuum probability of 5 qubits system under pure transverse field.}}{9}{figure.9}\protected@file@percent } +\newlabel{figcheck}{{9}{9}{Time-dependent vacuum probability of 5 qubits system under pure transverse field}{figure.9}{}} +\newlabel{eq:offset_test_hamiltonian}{{4.21}{9}{}{equation.4.21}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3}Pure Transverse Field Simulation}{9}{section*.22}\protected@file@percent } +\newlabel{sec:methods:simulation_details}{{IV\tmspace +\thinmuskip {.1667em}C\tmspace +\thinmuskip {.1667em}3}{9}{}{section*.22}{}} +\@writefile{toc}{\contentsline {section}{\numberline {V}DATA AVAILABILITY}{9}{section*.23}\protected@file@percent } +\newlabel{sec:open-source}{{V}{9}{}{section*.23}{}} +\@writefile{toc}{\contentsline {section}{\numberline {VI}ACKNOWLEDGEMENTS}{9}{section*.24}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {VII}AUTHOR CONTRIBUTIONS}{9}{section*.25}\protected@file@percent } +\bibdata{mainNotes,main.bib} +\bibcite{GLOVER1986533}{{1}{1986}{{Glover}}{{}}} +\bibcite{doi:10.1287/ijoc.1.3.190}{{2}{1989}{{Glover}}{{}}} +\bibcite{doi:10.1287/ijoc.2.1.4}{{3}{1990}{{Glover}}{{}}} +\bibcite{2020arXiv200713788H}{{4}{2020{}}{{{Hauke}\ \emph {et~al.}}}{{{Hauke}, {Mattiotti},\ and\ {Faccioli}}}} +\bibcite{Fomin2009}{{5}{2009}{{Fomin\ \emph {et~al.}}}{{Fomin, Grandoni,\ and\ Kratsch}}} +\bibcite{vanRooij2009}{{6}{2009}{{van Rooij\ \emph {et~al.}}}{{van Rooij, Nederlof,\ and\ van Dijk}}} +\bibcite{1998PhRvE..58.5355K}{{7}{1998}{{{Kadowaki}\ and\ {Nishimori}}}{{}}} +\bibcite{2000quant.ph..1106F}{{8}{2000}{{{Farhi}\ \emph {et~al.}}}{{{Farhi}, {Goldstone}, {Gutmann},\ and\ {Sipser}}}} +\bibcite{RevModPhys.80.1061}{{9}{2008}{{Das\ and\ Chakrabarti}}{{}}} +\bibcite{doi:10.7566/JPSJ.89.044001}{{10}{2020}{{Takada\ \emph {et~al.}}}{{Takada, Yamashiro,\ and\ Nishimori}}} +\bibcite{2018Glover}{{11}{2018}{{{Glover}\ \emph {et~al.}}}{{{Glover}, {Kochenberger},\ and\ {Du}}}} +\bibcite{PhysRevA.96.042322}{{12}{2017}{{Lanting\ \emph {et~al.}}}{{Lanting, King, Evert,\ and\ Hoskinson}}} +\bibcite{hsu2018quantum}{{13}{2018}{{Hsu\ \emph {et~al.}}}{{Hsu, Jin, Seidel, Neukart, Raedt,\ and\ Michielsen}}} +\bibcite{10.1007/978-3-030-14082-3_14}{{14}{2019}{{Yarkoni\ \emph {et~al.}}}{{Yarkoni, Wang, Plaat,\ and\ B{\"a}ck}}} +\bibcite{2020RPPh...83e4401H}{{15}{2020{}}{{{Hauke}\ \emph {et~al.}}}{{{Hauke}, {Katzgraber}, {Lechner}, {Nishimori},\ and\ {Oliver}}}} +\bibcite{doi:10.1146/annurev-conmatphys-031214-014726}{{16}{2015}{{Nandkishore\ and\ Huse}}{{}}} +\bibcite{PhysRevE.90.022103}{{17}{2014}{{Silaev\ \emph {et~al.}}}{{Silaev, Heikkil\"a,\ and\ Virtanen}}} +\bibcite{RevModPhys.91.021001}{{18}{2019}{{Abanin\ \emph {et~al.}}}{{Abanin, Altman, Bloch,\ and\ Serbyn}}} +\bibcite{ALET2018498}{{19}{2018}{{Alet\ and\ Laflorencie}}{{}}} +\bibcite{PhysRevB.82.174411}{{20}{2010}{{Pal\ and\ Huse}}{{}}} +\bibcite{PhysRevLett.109.017202}{{21}{2012}{{Bardarson\ \emph {et~al.}}}{{Bardarson, Pollmann,\ and\ Moore}}} +\bibcite{Chang:2018uoc}{{22}{2019}{{Chang\ \emph {et~al.}}}{{Chang, Gambhir, Humble,\ and\ Sota}}} +\bibcite{RevModPhys.81.1665}{{23}{2009}{{Esposito\ \emph {et~al.}}}{{Esposito, Harbola,\ and\ Mukamel}}} +\bibcite{10.5555/1972505}{{24}{2011}{{Nielsen\ and\ Chuang}}{{}}} +\bibcite{preskill1998lecture}{{25}{1998}{{Preskill}}{{}}} +\bibcite{2016PhRvA..93e2320K}{{26}{2016}{{{King}\ \emph {et~al.}}}{{{King}, {Hoskinson}, {Lanting}, {Andriyash},\ and\ {Amin}}}} +\bibcite{2017PhRvL.118g0502M}{{27}{2017}{{{Mandr{\`a}}\ \emph {et~al.}}}{{{Mandr{\`a}}, {Zhu},\ and\ {Katzgraber}}}} +\bibcite{dwave_temp}{{28}{2017}{{Systems}}{{}}} +\bibcite{2003Sci...299.1869C}{{29}{2003}{{{Chiorescu}\ \emph {et~al.}}}{{{Chiorescu}, {Nakamura}, {Harmans},\ and\ {Mooij}}}} +\bibcite{2015PhRvB..91h1103L}{{30}{2015}{{{Luitz}\ \emph {et~al.}}}{{{Luitz}, {Laflorencie},\ and\ {Alet}}}} +\bibcite{Goldenfeld:1992qy}{{31}{1992}{{Goldenfeld}}{{}}} +\bibcite{dwave_oceans}{{32}{2020{}}{{Systems}}{{}}} +\bibcite{2008arXiv0804.4884C}{{33}{2008}{{{Choi}}}{{}}} +\bibcite{dwave_as}{{34}{2020{}}{{Systems}}{{}}} +\bibcite{dwave_as_docu}{{35}{2020{}}{{Systems}}{{}}} +\bibcite{github:cchang5/quantum_linear_programming}{{36}{2020{}}{{Chang\ \emph {et~al.}}}{{Chang, Chen,\ and\ K\"o{}rber}}} +\bibcite{Chang:2019khk}{{37}{2020{}}{{Chang\ \emph {et~al.}}}{{Chang, K\"orber,\ and\ Walker-Loud}}} +\bibstyle{apsrev4-1} +\@writefile{toc}{\contentsline {section}{\numberline {VIII}CORRESPONDING AUTHOR}{10}{section*.26}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {IX}ADDITIONAL INFORMATION}{10}{section*.27}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {}References}{10}{section*.28}\protected@file@percent } +\newlabel{LastBibItem}{{37}{10}{}{section*.28}{}} +\newlabel{LastPage}{{}{10}{}{}{}} diff --git a/paper/v1/main.bbl b/paper/v1/main.bbl new file mode 100644 index 0000000..e1e339a --- /dev/null +++ b/paper/v1/main.bbl @@ -0,0 +1,429 @@ +%merlin.mbs apsrev4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked +%Control: key (0) +%Control: author (72) initials jnrlst +%Control: editor formatted (1) identically to author +%Control: production of article title (-1) disabled +%Control: page (0) single +%Control: year (1) truncated +%Control: production of eprint (0) enabled +\begin{thebibliography}{37}% +\makeatletter +\providecommand \@ifxundefined [1]{% + \@ifx{#1\undefined} +}% +\providecommand \@ifnum [1]{% + \ifnum #1\expandafter \@firstoftwo + \else \expandafter \@secondoftwo + \fi +}% +\providecommand \@ifx [1]{% + \ifx #1\expandafter \@firstoftwo + \else \expandafter \@secondoftwo + \fi +}% +\providecommand \natexlab [1]{#1}% +\providecommand \enquote [1]{``#1''}% +\providecommand \bibnamefont [1]{#1}% +\providecommand \bibfnamefont [1]{#1}% +\providecommand \citenamefont [1]{#1}% +\providecommand \href@noop [0]{\@secondoftwo}% +\providecommand \href [0]{\begingroup \@sanitize@url \@href}% +\providecommand \@href[1]{\@@startlink{#1}\@@href}% +\providecommand \@@href[1]{\endgroup#1\@@endlink}% +\providecommand \@sanitize@url [0]{\catcode `\\12\catcode `\$12\catcode + `\&12\catcode `\#12\catcode `\^12\catcode `\_12\catcode `\%12\relax}% +\providecommand \@@startlink[1]{}% +\providecommand \@@endlink[0]{}% +\providecommand \url [0]{\begingroup\@sanitize@url \@url }% +\providecommand \@url [1]{\endgroup\@href {#1}{\urlprefix }}% +\providecommand \urlprefix [0]{URL }% +\providecommand \Eprint [0]{\href }% +\providecommand \doibase [0]{http://dx.doi.org/}% +\providecommand \selectlanguage [0]{\@gobble}% +\providecommand \bibinfo [0]{\@secondoftwo}% +\providecommand \bibfield [0]{\@secondoftwo}% +\providecommand \translation [1]{[#1]}% +\providecommand \BibitemOpen [0]{}% +\providecommand \bibitemStop [0]{}% +\providecommand \bibitemNoStop [0]{.\EOS\space}% +\providecommand \EOS [0]{\spacefactor3000\relax}% +\providecommand \BibitemShut [1]{\csname bibitem#1\endcsname}% +\let\auto@bib@innerbib\@empty +% +\bibitem [{\citenamefont {Glover}(1986)}]{GLOVER1986533}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {Glover}},\ }\href {\doibase https://doi.org/10.1016/0305-0548(86)90048-1} + {\bibfield {journal} {\bibinfo {journal} {Computers \& Operations + Research}\ }\textbf {\bibinfo {volume} {13}},\ \bibinfo {pages} {533 } + (\bibinfo {year} {1986})},\ \bibinfo {note} {applications of Integer + Programming}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Glover}(1989)}]{doi:10.1287/ijoc.1.3.190}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {Glover}},\ }\href {\doibase 10.1287/ijoc.1.3.190} {\bibfield {journal} + {\bibinfo {journal} {ORSA Journal on Computing}\ }\textbf {\bibinfo {volume} + {1}},\ \bibinfo {pages} {190} (\bibinfo {year} {1989})},\ \Eprint + {http://arxiv.org/abs/https://doi.org/10.1287/ijoc.1.3.190} + {https://doi.org/10.1287/ijoc.1.3.190} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Glover}(1990)}]{doi:10.1287/ijoc.2.1.4}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {Glover}},\ }\href {\doibase 10.1287/ijoc.2.1.4} {\bibfield {journal} + {\bibinfo {journal} {ORSA Journal on Computing}\ }\textbf {\bibinfo {volume} + {2}},\ \bibinfo {pages} {4} (\bibinfo {year} {1990})},\ \Eprint + {http://arxiv.org/abs/https://doi.org/10.1287/ijoc.2.1.4} + {https://doi.org/10.1287/ijoc.2.1.4} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Hauke}}\ \emph + {et~al.}(2020{\natexlab{a}})\citenamefont {{Hauke}}, \citenamefont + {{Mattiotti}},\ and\ \citenamefont {{Faccioli}}}]{2020arXiv200713788H}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {P.}~\bibnamefont + {{Hauke}}}, \bibinfo {author} {\bibfnamefont {G.}~\bibnamefont + {{Mattiotti}}}, \ and\ \bibinfo {author} {\bibfnamefont {P.}~\bibnamefont + {{Faccioli}}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} + {arXiv e-prints}\ ,\ \bibinfo {eid} {arXiv:2007.13788}} (\bibinfo {year} + {2020}{\natexlab{a}})},\ \Eprint {http://arxiv.org/abs/2007.13788} + {arXiv:2007.13788 [quant-ph]} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Fomin}\ \emph {et~al.}(2009)\citenamefont {Fomin}, + \citenamefont {Grandoni},\ and\ \citenamefont {Kratsch}}]{Fomin2009}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.~V.}\ \bibnamefont + {Fomin}}, \bibinfo {author} {\bibfnamefont {F.}~\bibnamefont {Grandoni}}, \ + and\ \bibinfo {author} {\bibfnamefont {D.}~\bibnamefont {Kratsch}},\ }\href + {\doibase 10.1145/1552285.1552286} {\bibfield {journal} {\bibinfo {journal} + {Journal of the {ACM}}\ }\textbf {\bibinfo {volume} {56}},\ \bibinfo {pages} + {1} (\bibinfo {year} {2009})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {van Rooij}\ \emph {et~al.}(2009)\citenamefont {van + Rooij}, \citenamefont {Nederlof},\ and\ \citenamefont {van + Dijk}}]{vanRooij2009}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {J.~M.~M.}\ + \bibnamefont {van Rooij}}, \bibinfo {author} {\bibfnamefont {J.}~\bibnamefont + {Nederlof}}, \ and\ \bibinfo {author} {\bibfnamefont {T.~C.}\ \bibnamefont + {van Dijk}},\ }in\ \href {\doibase 10.1007/978-3-642-04128-0_50} {\emph + {\bibinfo {booktitle} {Lecture Notes in Computer Science}}}\ (\bibinfo + {publisher} {Springer Berlin Heidelberg},\ \bibinfo {year} {2009})\ pp.\ + \bibinfo {pages} {554--565}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Kadowaki}}\ and\ \citenamefont + {{Nishimori}}(1998)}]{1998PhRvE..58.5355K}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {T.}~\bibnamefont + {{Kadowaki}}}\ and\ \bibinfo {author} {\bibfnamefont {H.}~\bibnamefont + {{Nishimori}}},\ }\href {\doibase 10.1103/PhysRevE.58.5355} {\bibfield + {journal} {\bibinfo {journal} {Phys. Rev. E}\ }\textbf {\bibinfo {volume} + {58}},\ \bibinfo {pages} {5355} (\bibinfo {year} {1998})},\ \Eprint + {http://arxiv.org/abs/cond-mat/9804280} {cond-mat/9804280} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {{Farhi}}\ \emph {et~al.}(2000)\citenamefont + {{Farhi}}, \citenamefont {{Goldstone}}, \citenamefont {{Gutmann}},\ and\ + \citenamefont {{Sipser}}}]{2000quant.ph..1106F}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {E.}~\bibnamefont + {{Farhi}}}, \bibinfo {author} {\bibfnamefont {J.}~\bibnamefont + {{Goldstone}}}, \bibinfo {author} {\bibfnamefont {S.}~\bibnamefont + {{Gutmann}}}, \ and\ \bibinfo {author} {\bibfnamefont {M.}~\bibnamefont + {{Sipser}}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} + {eprint arXiv:quant-ph/0001106}\ } (\bibinfo {year} {2000})},\ \Eprint + {http://arxiv.org/abs/quant-ph/0001106} {quant-ph/0001106} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Das}\ and\ \citenamefont + {Chakrabarti}(2008)}]{RevModPhys.80.1061}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {A.}~\bibnamefont + {Das}}\ and\ \bibinfo {author} {\bibfnamefont {B.~K.}\ \bibnamefont + {Chakrabarti}},\ }\href {\doibase 10.1103/RevModPhys.80.1061} {\bibfield + {journal} {\bibinfo {journal} {Rev. Mod. Phys.}\ }\textbf {\bibinfo {volume} + {80}},\ \bibinfo {pages} {1061} (\bibinfo {year} {2008})}\BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Takada}\ \emph {et~al.}(2020)\citenamefont {Takada}, + \citenamefont {Yamashiro},\ and\ \citenamefont + {Nishimori}}]{doi:10.7566/JPSJ.89.044001}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {K.}~\bibnamefont + {Takada}}, \bibinfo {author} {\bibfnamefont {Y.}~\bibnamefont {Yamashiro}}, \ + and\ \bibinfo {author} {\bibfnamefont {H.}~\bibnamefont {Nishimori}},\ }\href + {\doibase 10.7566/JPSJ.89.044001} {\bibfield {journal} {\bibinfo {journal} + {Journal of the Physical Society of Japan}\ }\textbf {\bibinfo {volume} + {89}},\ \bibinfo {pages} {044001} (\bibinfo {year} {2020})},\ \Eprint + {http://arxiv.org/abs/https://doi.org/10.7566/JPSJ.89.044001} + {https://doi.org/10.7566/JPSJ.89.044001} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Glover}}\ \emph {et~al.}(2018)\citenamefont + {{Glover}}, \citenamefont {{Kochenberger}},\ and\ \citenamefont + {{Du}}}]{2018Glover}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {{Glover}}}, \bibinfo {author} {\bibfnamefont {G.}~\bibnamefont + {{Kochenberger}}}, \ and\ \bibinfo {author} {\bibfnamefont {Y.}~\bibnamefont + {{Du}}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} {arXiv + e-prints}\ ,\ \bibinfo {eid} {arXiv:1811.11538}} (\bibinfo {year} {2018})},\ + \Eprint {http://arxiv.org/abs/1811.11538} {arXiv:1811.11538 [cs.DS]} + \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Lanting}\ \emph {et~al.}(2017)\citenamefont + {Lanting}, \citenamefont {King}, \citenamefont {Evert},\ and\ \citenamefont + {Hoskinson}}]{PhysRevA.96.042322}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {T.}~\bibnamefont + {Lanting}}, \bibinfo {author} {\bibfnamefont {A.~D.}\ \bibnamefont {King}}, + \bibinfo {author} {\bibfnamefont {B.}~\bibnamefont {Evert}}, \ and\ \bibinfo + {author} {\bibfnamefont {E.}~\bibnamefont {Hoskinson}},\ }\href {\doibase + 10.1103/PhysRevA.96.042322} {\bibfield {journal} {\bibinfo {journal} {Phys. + Rev. A}\ }\textbf {\bibinfo {volume} {96}},\ \bibinfo {pages} {042322} + (\bibinfo {year} {2017})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Hsu}\ \emph {et~al.}(2018)\citenamefont {Hsu}, + \citenamefont {Jin}, \citenamefont {Seidel}, \citenamefont {Neukart}, + \citenamefont {Raedt},\ and\ \citenamefont {Michielsen}}]{hsu2018quantum}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {T.-J.}\ \bibnamefont + {Hsu}}, \bibinfo {author} {\bibfnamefont {F.}~\bibnamefont {Jin}}, \bibinfo + {author} {\bibfnamefont {C.}~\bibnamefont {Seidel}}, \bibinfo {author} + {\bibfnamefont {F.}~\bibnamefont {Neukart}}, \bibinfo {author} {\bibfnamefont + {H.~D.}\ \bibnamefont {Raedt}}, \ and\ \bibinfo {author} {\bibfnamefont + {K.}~\bibnamefont {Michielsen}},\ }\href@noop {} {\enquote {\bibinfo {title} + {Quantum annealing with anneal path control: application to 2-sat problems + with known energy landscapes},}\ } (\bibinfo {year} {2018}),\ \Eprint + {http://arxiv.org/abs/1810.00194} {arXiv:1810.00194 [quant-ph]} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Yarkoni}\ \emph {et~al.}(2019)\citenamefont + {Yarkoni}, \citenamefont {Wang}, \citenamefont {Plaat},\ and\ \citenamefont + {B{\"a}ck}}]{10.1007/978-3-030-14082-3_14}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {S.}~\bibnamefont + {Yarkoni}}, \bibinfo {author} {\bibfnamefont {H.}~\bibnamefont {Wang}}, + \bibinfo {author} {\bibfnamefont {A.}~\bibnamefont {Plaat}}, \ and\ \bibinfo + {author} {\bibfnamefont {T.}~\bibnamefont {B{\"a}ck}},\ }in\ \href@noop {} + {\emph {\bibinfo {booktitle} {Quantum Technology and Optimization + Problems}}},\ \bibinfo {editor} {edited by\ \bibinfo {editor} {\bibfnamefont + {S.}~\bibnamefont {Feld}}\ and\ \bibinfo {editor} {\bibfnamefont + {C.}~\bibnamefont {Linnhoff-Popien}}}\ (\bibinfo {publisher} {Springer + International Publishing},\ \bibinfo {address} {Cham},\ \bibinfo {year} + {2019})\ pp.\ \bibinfo {pages} {157--168}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Hauke}}\ \emph + {et~al.}(2020{\natexlab{b}})\citenamefont {{Hauke}}, \citenamefont + {{Katzgraber}}, \citenamefont {{Lechner}}, \citenamefont {{Nishimori}},\ and\ + \citenamefont {{Oliver}}}]{2020RPPh...83e4401H}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {P.}~\bibnamefont + {{Hauke}}}, \bibinfo {author} {\bibfnamefont {H.~G.}\ \bibnamefont + {{Katzgraber}}}, \bibinfo {author} {\bibfnamefont {W.}~\bibnamefont + {{Lechner}}}, \bibinfo {author} {\bibfnamefont {H.}~\bibnamefont + {{Nishimori}}}, \ and\ \bibinfo {author} {\bibfnamefont {W.~D.}\ \bibnamefont + {{Oliver}}},\ }\href {\doibase 10.1088/1361-6633/ab85b8} {\bibfield + {journal} {\bibinfo {journal} {Reports on Progress in Physics}\ }\textbf + {\bibinfo {volume} {83}},\ \bibinfo {eid} {054401} (\bibinfo {year} + {2020}{\natexlab{b}})},\ \Eprint {http://arxiv.org/abs/1903.06559} + {arXiv:1903.06559 [quant-ph]} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Nandkishore}\ and\ \citenamefont + {Huse}(2015)}]{doi:10.1146/annurev-conmatphys-031214-014726}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {R.}~\bibnamefont + {Nandkishore}}\ and\ \bibinfo {author} {\bibfnamefont {D.~A.}\ \bibnamefont + {Huse}},\ }\href {\doibase 10.1146/annurev-conmatphys-031214-014726} + {\bibfield {journal} {\bibinfo {journal} {Annual Review of Condensed Matter + Physics}\ }\textbf {\bibinfo {volume} {6}},\ \bibinfo {pages} {15} (\bibinfo + {year} {2015})},\ \Eprint + {http://arxiv.org/abs/https://doi.org/10.1146/annurev-conmatphys-031214-014726} + {https://doi.org/10.1146/annurev-conmatphys-031214-014726} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Silaev}\ \emph {et~al.}(2014)\citenamefont {Silaev}, + \citenamefont {Heikkil\"a},\ and\ \citenamefont + {Virtanen}}]{PhysRevE.90.022103}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {M.}~\bibnamefont + {Silaev}}, \bibinfo {author} {\bibfnamefont {T.~T.}\ \bibnamefont + {Heikkil\"a}}, \ and\ \bibinfo {author} {\bibfnamefont {P.}~\bibnamefont + {Virtanen}},\ }\href {\doibase 10.1103/PhysRevE.90.022103} {\bibfield + {journal} {\bibinfo {journal} {Phys. Rev. E}\ }\textbf {\bibinfo {volume} + {90}},\ \bibinfo {pages} {022103} (\bibinfo {year} {2014})}\BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Abanin}\ \emph {et~al.}(2019)\citenamefont {Abanin}, + \citenamefont {Altman}, \citenamefont {Bloch},\ and\ \citenamefont + {Serbyn}}]{RevModPhys.91.021001}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.~A.}\ \bibnamefont + {Abanin}}, \bibinfo {author} {\bibfnamefont {E.}~\bibnamefont {Altman}}, + \bibinfo {author} {\bibfnamefont {I.}~\bibnamefont {Bloch}}, \ and\ \bibinfo + {author} {\bibfnamefont {M.}~\bibnamefont {Serbyn}},\ }\href {\doibase + 10.1103/RevModPhys.91.021001} {\bibfield {journal} {\bibinfo {journal} + {Rev. Mod. Phys.}\ }\textbf {\bibinfo {volume} {91}},\ \bibinfo {pages} + {021001} (\bibinfo {year} {2019})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Alet}\ and\ \citenamefont + {Laflorencie}(2018)}]{ALET2018498}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {Alet}}\ and\ \bibinfo {author} {\bibfnamefont {N.}~\bibnamefont + {Laflorencie}},\ }\href {\doibase https://doi.org/10.1016/j.crhy.2018.03.003} + {\bibfield {journal} {\bibinfo {journal} {Comptes Rendus Physique}\ + }\textbf {\bibinfo {volume} {19}},\ \bibinfo {pages} {498 } (\bibinfo {year} + {2018})},\ \bibinfo {note} {quantum simulation / Simulation + quantique}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Pal}\ and\ \citenamefont + {Huse}(2010)}]{PhysRevB.82.174411}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {A.}~\bibnamefont + {Pal}}\ and\ \bibinfo {author} {\bibfnamefont {D.~A.}\ \bibnamefont {Huse}},\ + }\href {\doibase 10.1103/PhysRevB.82.174411} {\bibfield {journal} {\bibinfo + {journal} {Phys. Rev. B}\ }\textbf {\bibinfo {volume} {82}},\ \bibinfo + {pages} {174411} (\bibinfo {year} {2010})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Bardarson}\ \emph {et~al.}(2012)\citenamefont + {Bardarson}, \citenamefont {Pollmann},\ and\ \citenamefont + {Moore}}]{PhysRevLett.109.017202}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {J.~H.}\ \bibnamefont + {Bardarson}}, \bibinfo {author} {\bibfnamefont {F.}~\bibnamefont {Pollmann}}, + \ and\ \bibinfo {author} {\bibfnamefont {J.~E.}\ \bibnamefont {Moore}},\ + }\href {\doibase 10.1103/PhysRevLett.109.017202} {\bibfield {journal} + {\bibinfo {journal} {Phys. Rev. Lett.}\ }\textbf {\bibinfo {volume} {109}},\ + \bibinfo {pages} {017202} (\bibinfo {year} {2012})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Chang}\ \emph {et~al.}(2019)\citenamefont {Chang}, + \citenamefont {Gambhir}, \citenamefont {Humble},\ and\ \citenamefont + {Sota}}]{Chang:2018uoc}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {C.~C.}\ \bibnamefont + {Chang}}, \bibinfo {author} {\bibfnamefont {A.}~\bibnamefont {Gambhir}}, + \bibinfo {author} {\bibfnamefont {T.~S.}\ \bibnamefont {Humble}}, \ and\ + \bibinfo {author} {\bibfnamefont {S.}~\bibnamefont {Sota}},\ }\href {\doibase + 10.1038/s41598-019-46729-0} {\bibfield {journal} {\bibinfo {journal} {Sci. + Rep.}\ }\textbf {\bibinfo {volume} {9}},\ \bibinfo {pages} {10258} (\bibinfo + {year} {2019})},\ \Eprint {http://arxiv.org/abs/1812.06917} {arXiv:1812.06917 + [quant-ph]} \BibitemShut {NoStop}% +%%CITATION = ARXIV:1812.06917;%% +\bibitem [{\citenamefont {Esposito}\ \emph {et~al.}(2009)\citenamefont + {Esposito}, \citenamefont {Harbola},\ and\ \citenamefont + {Mukamel}}]{RevModPhys.81.1665}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {M.}~\bibnamefont + {Esposito}}, \bibinfo {author} {\bibfnamefont {U.}~\bibnamefont {Harbola}}, \ + and\ \bibinfo {author} {\bibfnamefont {S.}~\bibnamefont {Mukamel}},\ }\href + {\doibase 10.1103/RevModPhys.81.1665} {\bibfield {journal} {\bibinfo + {journal} {Rev. Mod. Phys.}\ }\textbf {\bibinfo {volume} {81}},\ \bibinfo + {pages} {1665} (\bibinfo {year} {2009})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Nielsen}\ and\ \citenamefont + {Chuang}(2011)}]{10.5555/1972505}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {M.~A.}\ \bibnamefont + {Nielsen}}\ and\ \bibinfo {author} {\bibfnamefont {I.~L.}\ \bibnamefont + {Chuang}},\ }\href@noop {} {\emph {\bibinfo {title} {Quantum Computation and + Quantum Information: 10th Anniversary Edition}}},\ \bibinfo {edition} {10th}\ + ed.\ (\bibinfo {publisher} {Cambridge University Press},\ \bibinfo {address} + {USA},\ \bibinfo {year} {2011})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Preskill}(1998)}]{preskill1998lecture}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {J.}~\bibnamefont + {Preskill}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} + {California Institute of Technology}\ }\textbf {\bibinfo {volume} {16}} + (\bibinfo {year} {1998})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{King}}\ \emph {et~al.}(2016)\citenamefont {{King}}, + \citenamefont {{Hoskinson}}, \citenamefont {{Lanting}}, \citenamefont + {{Andriyash}},\ and\ \citenamefont {{Amin}}}]{2016PhRvA..93e2320K}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {A.~D.}\ \bibnamefont + {{King}}}, \bibinfo {author} {\bibfnamefont {E.}~\bibnamefont {{Hoskinson}}}, + \bibinfo {author} {\bibfnamefont {T.}~\bibnamefont {{Lanting}}}, \bibinfo + {author} {\bibfnamefont {E.}~\bibnamefont {{Andriyash}}}, \ and\ \bibinfo + {author} {\bibfnamefont {M.~H.}\ \bibnamefont {{Amin}}},\ }\href {\doibase + 10.1103/PhysRevA.93.052320} {\bibfield {journal} {\bibinfo {journal} + {\pra}\ }\textbf {\bibinfo {volume} {93}},\ \bibinfo {eid} {052320} (\bibinfo + {year} {2016})},\ \Eprint {http://arxiv.org/abs/1512.07325} {arXiv:1512.07325 + [quant-ph]} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Mandr{\`a}}}\ \emph {et~al.}(2017)\citenamefont + {{Mandr{\`a}}}, \citenamefont {{Zhu}},\ and\ \citenamefont + {{Katzgraber}}}]{2017PhRvL.118g0502M}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {S.}~\bibnamefont + {{Mandr{\`a}}}}, \bibinfo {author} {\bibfnamefont {Z.}~\bibnamefont {{Zhu}}}, + \ and\ \bibinfo {author} {\bibfnamefont {H.~G.}\ \bibnamefont + {{Katzgraber}}},\ }\href {\doibase 10.1103/PhysRevLett.118.070502} {\bibfield + {journal} {\bibinfo {journal} {\prl}\ }\textbf {\bibinfo {volume} {118}},\ + \bibinfo {eid} {070502} (\bibinfo {year} {2017})},\ \Eprint + {http://arxiv.org/abs/1606.07146} {arXiv:1606.07146 [quant-ph]} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Systems}(2017)}]{dwave_temp}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.-W.}\ \bibnamefont + {Systems}},\ }\href + {https://www.dwavesys.com/sites/default/files/D-Wave%202000Q%20Tech%20Collateral_0117F_0.pdf} + {\enquote {\bibinfo {title} {The d-wave 2000q quantum computer technology + overview},}\ } (\bibinfo {year} {2017})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Chiorescu}}\ \emph {et~al.}(2003)\citenamefont + {{Chiorescu}}, \citenamefont {{Nakamura}}, \citenamefont {{Harmans}},\ and\ + \citenamefont {{Mooij}}}]{2003Sci...299.1869C}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {I.}~\bibnamefont + {{Chiorescu}}}, \bibinfo {author} {\bibfnamefont {Y.}~\bibnamefont + {{Nakamura}}}, \bibinfo {author} {\bibfnamefont {C.~J.~P.~M.}\ \bibnamefont + {{Harmans}}}, \ and\ \bibinfo {author} {\bibfnamefont {J.~E.}\ \bibnamefont + {{Mooij}}},\ }\href {\doibase 10.1126/science.1081045} {\bibfield {journal} + {\bibinfo {journal} {Science}\ }\textbf {\bibinfo {volume} {299}},\ \bibinfo + {pages} {1869} (\bibinfo {year} {2003})},\ \Eprint + {http://arxiv.org/abs/cond-mat/0305461} {arXiv:cond-mat/0305461 + [cond-mat.mes-hall]} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Luitz}}\ \emph {et~al.}(2015)\citenamefont + {{Luitz}}, \citenamefont {{Laflorencie}},\ and\ \citenamefont + {{Alet}}}]{2015PhRvB..91h1103L}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.~J.}\ \bibnamefont + {{Luitz}}}, \bibinfo {author} {\bibfnamefont {N.}~\bibnamefont + {{Laflorencie}}}, \ and\ \bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {{Alet}}},\ }\href {\doibase 10.1103/PhysRevB.91.081103} {\bibfield + {journal} {\bibinfo {journal} {\prb}\ }\textbf {\bibinfo {volume} {91}},\ + \bibinfo {eid} {081103} (\bibinfo {year} {2015})},\ \Eprint + {http://arxiv.org/abs/1411.0660} {arXiv:1411.0660 [cond-mat.dis-nn]} + \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Goldenfeld}(1992)}]{Goldenfeld:1992qy}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {N.}~\bibnamefont + {Goldenfeld}},\ }\href@noop {} {\emph {\bibinfo {title} {{Lectures on phase + transitions and the renormalization group}}}}\ (\bibinfo {year} + {1992})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Systems}(2020{\natexlab{a}})}]{dwave_oceans}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.-W.}\ \bibnamefont + {Systems}},\ }\href {https://github.com/dwavesystems/dwave-ocean-sdk} + {\enquote {\bibinfo {title} {D-wave cloud client},}\ } (\bibinfo {year} + {2020}{\natexlab{a}})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Choi}}(2008)}]{2008arXiv0804.4884C}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {V.}~\bibnamefont + {{Choi}}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} {ArXiv + e-prints}\ } (\bibinfo {year} {2008})},\ \Eprint + {http://arxiv.org/abs/0804.4884} {arXiv:0804.4884 [quant-ph]} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Systems}(2020{\natexlab{b}})}]{dwave_as}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.-W.}\ \bibnamefont + {Systems}},\ }\href + {https://support.dwavesys.com/hc/en-us/articles/360005267253-QPU-Specific-Anneal-Schedules} + {\enquote {\bibinfo {title} {Qpu-specific anneal schedules},}\ } (\bibinfo + {year} {2020}{\natexlab{b}})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Systems}(2020{\natexlab{c}})}]{dwave_as_docu}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.-W.}\ \bibnamefont + {Systems}},\ }\href {https://docs.dwavesys.com/docs/latest/doc_qpu.html} + {\enquote {\bibinfo {title} {Technical description of the d-wave quantum + processing unit},}\ } (\bibinfo {year} {2020}{\natexlab{c}})\BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Chang}\ \emph + {et~al.}(2020{\natexlab{a}})\citenamefont {Chang}, \citenamefont {Chen},\ + and\ \citenamefont {K\"o{}rber}}]{github:cchang5/quantum_linear_programming}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {C.~C.}\ \bibnamefont + {Chang}}, \bibinfo {author} {\bibfnamefont {C.-C.}\ \bibnamefont {Chen}}, \ + and\ \bibinfo {author} {\bibfnamefont {C.}~\bibnamefont {K\"o{}rber}},\ + }\href@noop {} {\enquote {\bibinfo {title} {Quantum linear programming},}\ + }\bibinfo {howpublished} + {\url{https://github.com/cchang5/quantum_linear_programming} \texttt{tag: + arXiv}} (\bibinfo {year} {2020}{\natexlab{a}})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Chang}\ \emph + {et~al.}(2020{\natexlab{b}})\citenamefont {Chang}, \citenamefont {K\"orber},\ + and\ \citenamefont {Walker-Loud}}]{Chang:2019khk}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {C.~C.}\ \bibnamefont + {Chang}}, \bibinfo {author} {\bibfnamefont {C.}~\bibnamefont {K\"orber}}, \ + and\ \bibinfo {author} {\bibfnamefont {A.}~\bibnamefont {Walker-Loud}},\ + }\href {\doibase 10.21105/joss.02007} {\bibfield {journal} {\bibinfo + {journal} {J. Open Source Softw.}\ }\textbf {\bibinfo {volume} {5}},\ + \bibinfo {pages} {2007} (\bibinfo {year} {2020}{\natexlab{b}})},\ \Eprint + {http://arxiv.org/abs/1912.03580} {arXiv:1912.03580 [hep-lat]} \BibitemShut + {NoStop}% +\end{thebibliography}% diff --git a/paper/v1/main.blg b/paper/v1/main.blg new file mode 100644 index 0000000..c7fa66a --- /dev/null +++ b/paper/v1/main.blg @@ -0,0 +1,69 @@ +This is BibTeX, Version 0.99d (TeX Live 2020) +Capacity: max_strings=200000, hash_size=200000, hash_prime=170003 +The top-level auxiliary file: main.aux +The style file: apsrev4-1.bst +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated wiz_functions (elt_size=4) to 6000 items from 3000. +Database file #1: mainNotes.bib +Database file #2: main.bib +Warning--string name "august" is undefined +--line 191 of file main.bib +Warning--string name "august" is undefined +--line 198 of file main.bib +Reallocated singl_function (elt_size=4) to 100 items from 50. +merlin.mbs apsrev4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked +Control: key (0) +Control: author (72) initials jnrlst +Control: editor formatted (1) identically to author +Control: production of article title (-1) disabled +Control: page (0) single +Control: year (1) truncated +Control: production of eprint (0) enabled +Warning--missing publisher in Goldenfeld:1992qy +You've used 37 entries, + 5847 wiz_defined-function locations, + 1896 strings with 22911 characters, +and the built_in function-call counts, 34959 in all, are: += -- 2317 +> -- 852 +< -- 211 ++ -- 282 +- -- 198 +* -- 5530 +:= -- 3505 +add.period$ -- 43 +call.type$ -- 37 +change.case$ -- 158 +chr.to.int$ -- 45 +cite$ -- 38 +duplicate$ -- 3309 +empty$ -- 2599 +format.name$ -- 502 +if$ -- 6837 +int.to.chr$ -- 5 +int.to.str$ -- 45 +missing$ -- 396 +newline$ -- 164 +num.names$ -- 112 +pop$ -- 1349 +preamble$ -- 1 +purify$ -- 185 +quote$ -- 0 +skip$ -- 1239 +stack$ -- 0 +substring$ -- 813 +swap$ -- 3114 +text.length$ -- 102 +text.prefix$ -- 0 +top$ -- 8 +type$ -- 505 +warning$ -- 1 +while$ -- 100 +width$ -- 0 +write$ -- 357 +(There were 3 warnings) diff --git a/paper/v1/main.log b/paper/v1/main.log new file mode 100644 index 0000000..2c9be18 --- /dev/null +++ b/paper/v1/main.log @@ -0,0 +1,885 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2020.4.7) 19 NOV 2020 11:05 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**main.tex +(./main.tex +LaTeX2e <2020-02-02> patch level 5 +L3 programming layer <2020-03-06> +(/usr/local/texlive/2020/texmf-dist/tex/latex/revtex/revtex4-1.cls +Document Class: revtex4-1 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revt +ex4/ for documentation) + Copyright (c) 2009 The American Physical Society. + mailto:revtex@aps.org + Licensed under the LPPL: +http://www.ctan.org/tex-archive/macros/latex/base/lppl.txt + Arthur Ogawa + Based on work by David Carlisle . +ltxutil[2010/07/25/20:33:00 4.1r utilities package (portions licensed from W. E +. Baxter web at superscript.com)] +LaTeX Info: Redefining \@centercr on input line 308. +Class revtex4-1 Info: Repairing broken LaTeX eqnarray on input line 358. +\eqncolsep=\skip47 +Class revtex4-1 Info: Repairing hyperref-unfriendly LaTeX definition of \mpfoot +note on input line 433. +Class revtex4-1 Info: Repairing broken LateX \@sect on input line 755. +\intertabularlinepenalty=\count167 +\@tbpen=\count168 +\@arstrutbox@hline=\box45 +Class revtex4-1 Info: Repairing broken LaTeX \@xbitor on input line 1786. +Class revtex4-1 Info: Making \typeout \long on input line 2046. +ltxfront[2010/07/25/20:33:00 4.1r frontmatter package (AO,DPC)] +\c@affil=\count169 +\c@collab=\count170 +\absbox=\box46 +ltxgrid[2010/07/25/20:33:00 4.1r page grid package (portions licensed from W. E +. Baxter web at superscript.com)] +\c@linecount=\count171 +\output@latex=\toks15 +\box@size@1=\box47 +\box@size@2=\box48 +\@protection@box=\box49 +\@topmark@saved=\toks16 +\footins@saved=\box50 +\footins@recovered=\box51 +\column@recovered=\box52 +\pagesofar=\box53 +\footsofar=\box54 +\pagegrid@col=\count172 + +Class revtex4-1 Warning: Failed to recognize \@vspace, \@vspacer, \@no@pgbk, \@ +newline, and \\; no patches applied. Please get a more up-to-date class, . + +\c@part=\count173 +\c@section=\count174 +\c@subsection=\count175 +\c@subsubsection=\count176 +\c@paragraph=\count177 +\c@subparagraph=\count178 +\abovecaptionskip=\skip48 +\belowcaptionskip=\skip49 +\c@figure=\count179 +\fbox@1=\box55 +\c@table=\count180 +\fbox@2=\box56 +\c@video=\count181 +\fbox@4=\box57 +\@bibdataout=\write3 +\widetext@top=\box58 +\widetext@bot=\box59 +Class revtex4-1 Info: Selecting society aps on input line 7542. +(/usr/local/texlive/2020/texmf-dist/tex/latex/revtex/aps4-1.rtx +File: aps4-1 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for docu +mentation) +Class revtex4-1 Info: RevTeX society APS selected on input line 31. +) +Class revtex4-1 Info: Selecting journal prd on input line 7544. +Class revtex4-1 Info: APS journal PRD selected on input line 7545. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/revtex/aps10pt4-1.rtx +File: aps10pt4-1 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for +documentation) +Class revtex4-1 Info: RevTeX pointsize 10pt selected on input line 30. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/textcase/textcase.sty +Package: textcase 2019/09/14 v1.00 Text only upper/lower case changing (DPC) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip16 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/natbib/natbib.sty +Package: natbib 2010/09/13 8.31b (PWD, AO) +\bibhang=\skip50 +\bibsep=\skip51 +LaTeX Info: Redefining \cite on input line 694. +\c@NAT@ctr=\count182 +) +Class revtex4-1 Info: Repairing natbib's \BibitemShut on input line 7549. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/revtex/revsymb4-1.sty +Package: revsymb4-1 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ f +or documentation) +LaTeX Info: Redefining \REV@mathfrak on input line 119. +)) +(/usr/local/texlive/2020/texmf-dist/tex/latex/cjk/texinput/CJK.sty +Package: CJK 2015/04/18 4.8.4 + +(/usr/local/texlive/2020/texmf-dist/tex/latex/cjk/texinput/mule/MULEenc.sty +Package: MULEenc 2015/04/18 4.8.4 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/cjk/texinput/CJK.enc +File: CJK.enc 2015/04/18 4.8.4 +Now handling font encoding C00 ... +... no UTF-8 mapping file for font encoding C00 +Now handling font encoding C05 ... +... no UTF-8 mapping file for font encoding C05 +Now handling font encoding C09 ... +... no UTF-8 mapping file for font encoding C09 +Now handling font encoding C10 ... +... no UTF-8 mapping file for font encoding C10 +Now handling font encoding C20 ... +... no UTF-8 mapping file for font encoding C20 +Now handling font encoding C19 ... +... no UTF-8 mapping file for font encoding C19 +Now handling font encoding C40 ... +... no UTF-8 mapping file for font encoding C40 +Now handling font encoding C42 ... +... no UTF-8 mapping file for font encoding C42 +Now handling font encoding C43 ... +... no UTF-8 mapping file for font encoding C43 +Now handling font encoding C50 ... +... no UTF-8 mapping file for font encoding C50 +Now handling font encoding C52 ... +... no UTF-8 mapping file for font encoding C52 +Now handling font encoding C49 ... +... no UTF-8 mapping file for font encoding C49 +Now handling font encoding C60 ... +... no UTF-8 mapping file for font encoding C60 +Now handling font encoding C61 ... +... no UTF-8 mapping file for font encoding C61 +Now handling font encoding C63 ... +... no UTF-8 mapping file for font encoding C63 +Now handling font encoding C64 ... +... no UTF-8 mapping file for font encoding C64 +Now handling font encoding C65 ... +... no UTF-8 mapping file for font encoding C65 +Now handling font encoding C70 ... +... no UTF-8 mapping file for font encoding C70 +Now handling font encoding C31 ... +... no UTF-8 mapping file for font encoding C31 +Now handling font encoding C32 ... +... no UTF-8 mapping file for font encoding C32 +Now handling font encoding C33 ... +... no UTF-8 mapping file for font encoding C33 +Now handling font encoding C34 ... +... no UTF-8 mapping file for font encoding C34 +Now handling font encoding C35 ... +... no UTF-8 mapping file for font encoding C35 +Now handling font encoding C36 ... +... no UTF-8 mapping file for font encoding C36 +Now handling font encoding C37 ... +... no UTF-8 mapping file for font encoding C37 +Now handling font encoding C80 ... +... no UTF-8 mapping file for font encoding C80 +Now handling font encoding C81 ... +... no UTF-8 mapping file for font encoding C81 +Now handling font encoding C01 ... +... no UTF-8 mapping file for font encoding C01 +Now handling font encoding C11 ... +... no UTF-8 mapping file for font encoding C11 +Now handling font encoding C21 ... +... no UTF-8 mapping file for font encoding C21 +Now handling font encoding C41 ... +... no UTF-8 mapping file for font encoding C41 +Now handling font encoding C62 ... +... no UTF-8 mapping file for font encoding C62 +) +LaTeX Info: Redefining \selectfont on input line 755. +\CJK@indent=\box60 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks17 +\inpenc@posthook=\toks18 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2020/02/11 v2.0o Standard LaTeX package +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2020/01/20 v2.17e AMS math features +\@mathmargin=\skip52 + +For additional information on amsmath, use the `?' option. +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks19 +\ex@=\dimen134 +) +LaTeX Info: Redefining \text on input line 28. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen135 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count183 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count184 +\leftroot@=\count185 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count186 +\DOTSCASE@=\count187 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box61 +\strutbox@=\box62 +\big@size=\dimen136 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count188 +\c@MaxMatrixCols=\count189 +\dotsspace@=\muskip17 +\c@parentequation=\count190 +\dspbrk@lvl=\count191 +\tag@help=\toks20 +\row@=\count192 +\column@=\count193 +\maxfields@=\count194 +\andhelp@=\toks21 +\eqnshift@=\dimen137 +\alignsep@=\dimen138 +\tagshift@=\dimen139 +\tagwidth@=\dimen140 +\totwidth@=\dimen141 +\lineht@=\dimen142 +\@envbody=\toks22 +\multlinegap=\skip53 +\multlinetaggap=\skip54 +\mathdisplay@stack=\toks23 +LaTeX Info: Redefining \[ on input line 2859. +LaTeX Info: Redefining \] on input line 2860. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/mathtools/mathtools.sty +Package: mathtools 2020/03/24 v1.24 mathematical typesetting tools + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks24 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count195 +\calc@Bcount=\count196 +\calc@Adimen=\dimen143 +\calc@Bdimen=\dimen144 +\calc@Askip=\skip55 +\calc@Bskip=\skip56 +LaTeX Info: Redefining \setlength on input line 80. +LaTeX Info: Redefining \addtolength on input line 81. +\calc@Ccount=\count197 +\calc@Cskip=\skip57 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/mathtools/mhsetup.sty +Package: mhsetup 2017/03/31 v1.3 programming setup (MH) +) +LaTeX Info: Thecontrolsequence`\('isalreadyrobust on input line 130. +LaTeX Info: Thecontrolsequence`\)'isalreadyrobust on input line 130. +LaTeX Info: Thecontrolsequence`\['isalreadyrobust on input line 130. +LaTeX Info: Thecontrolsequence`\]'isalreadyrobust on input line 130. +\g_MT_multlinerow_int=\count198 +\l_MT_multwidth_dim=\dimen145 +\origjot=\skip58 +\l_MT_shortvdotswithinadjustabove_dim=\dimen146 +\l_MT_shortvdotswithinadjustbelow_dim=\dimen147 +\l_MT_above_intertext_sep=\dimen148 +\l_MT_below_intertext_sep=\dimen149 +\l_MT_above_shortintertext_sep=\dimen150 +\l_MT_below_shortintertext_sep=\dimen151 +\xmathstrut@box=\box63 +\xmathstrut@dim=\dimen152 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +LaTeX Info: Redefining \frak on input line 111. +LaTeX Info: Redefining \Bbb on input line 113. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/doublestroke/dsfont.sty +Package: dsfont 1995/08/01 v0.1 Double stroke roman fonts +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/tools/bm.sty +Package: bm 2019/07/24 v1.2d Bold Symbol Support (DPC/FMi) +\symboldoperators=\mathgroup6 +\symboldletters=\mathgroup7 +\symboldsymbols=\mathgroup8 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 141. +LaTeX Info: Redefining \bm on input line 209. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/bbm-macros/bbm.sty +Package: bbm 1999/03/15 V 1.2 provides fonts for set symbols - TH +LaTeX Font Info: Overwriting math alphabet `\mathbbm' in version `bold' +(Font) U/bbm/m/n --> U/bbm/bx/n on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathbbmss' in version `bold' +(Font) U/bbmss/m/n --> U/bbmss/bx/n on input line 35. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 105. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen153 +\Gin@req@width=\dimen154 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/enumitem/enumitem.sty +Package: enumitem 2019/06/20 v3.9 Customized lists +\labelindent=\skip59 +\enit@outerparindent=\dimen155 +\enit@toks=\toks25 +\enit@inbox=\box64 +\enit@count@id=\count199 +\enitdp@description=\count266 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX + +(/usr/local/texlive/2020/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2020/03/06 v1.0d TeX engine tests +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/local/texlive/2020/texmf-dist/tex/generic/infwarerr/infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/pdfescape/pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/hycolor/hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/auxhook/auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO) +) +\@linkdim=\dimen156 +\Hy@linkcounter=\count267 +\Hy@pagecounter=\count268 + +(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/intcalc/intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/etexcmds/etexcmds.sty +Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) +) +\Hy@SavedSpaceFactor=\count269 +Package hyperref Info: Hyper figures OFF on input line 4547. +Package hyperref Info: Link nesting OFF on input line 4552. +Package hyperref Info: Hyper index ON on input line 4555. +Package hyperref Info: Plain pages OFF on input line 4562. +Package hyperref Info: Backreferencing OFF on input line 4567. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4800. +LaTeX Info: Redefining \href on input line 5070. +\c@Hy@tempcnt=\count270 +LaTeX Info: Redefining \url on input line 5159. +\XeTeXLinkMargin=\dimen157 + +(/usr/local/texlive/2020/texmf-dist/tex/generic/bitset/bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + +(/usr/local/texlive/2020/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count271 +\Field@Width=\dimen158 +\Fld@charsize=\dimen159 +Package hyperref Info: Hyper figures OFF on input line 6430. +Package hyperref Info: Link nesting OFF on input line 6435. +Package hyperref Info: Hyper index ON on input line 6438. +Package hyperref Info: backreferencing OFF on input line 6445. +Package hyperref Info: Link coloring OFF on input line 6450. +Package hyperref Info: Link coloring with OCG OFF on input line 6455. +Package hyperref Info: PDF/A mode OFF on input line 6460. +LaTeX Info: Redefining \ref on input line 6500. +LaTeX Info: Redefining \pageref on input line 6504. + +(/usr/local/texlive/2020/texmf-dist/tex/generic/atbegshi/atbegshi.sty +Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO) +) +\Hy@abspage=\count272 +\c@Item=\count273 +\c@Hfootnote=\count274 +) +Package hyperref Info: Driver (autodetected): hpdftex. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX + +(/usr/local/texlive/2020/texmf-dist/tex/latex/atveryend/atveryend.sty +Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO) +) +\Fld@listcount=\count275 +\c@bookmark@seq@number=\count276 + +(/usr/local/texlive/2020/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) + +(/usr/local/texlive/2020/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +86. +) +\Hy@SectionHShift=\skip60 +) +Package hyperref Info: Option `colorlinks' set `true' on input line 21. +Class revtex4-1 Info: Unrecognized LaTeX tabular. Please update this document c +lass! (Proceeding with fingers crossed.) on input line 29. +Class revtex4-1 Info: cite was not loaded (OK!) on input line 29. +Class revtex4-1 Info: mcite was not loaded (OK!) on input line 29. +Class revtex4-1 Info: multicol was not loaded (OK!) on input line 29. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def +File: l3backend-pdfmode.def 2020-03-12 L3 backend support: PDF mode +\l__kernel_color_stack_int=\count277 +\l__pdf_internal_box=\box65 +) +(./main.aux) +\openout1 = `main.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C00/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C05/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C09/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C10/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C20/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C19/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C40/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C42/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C43/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C50/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C52/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C49/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C60/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C61/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C63/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C64/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C65/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C70/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C31/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C32/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C33/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C34/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C35/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C36/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C37/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C80/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C81/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C01/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C11/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C21/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C41/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C62/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. + +(/usr/local/texlive/2020/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count278 +\scratchdimen=\dimen160 +\scratchbox=\box66 +\nofMPsegments=\count279 +\nofMParguments=\count280 +\everyMPshowfont=\toks26 +\MPscratchCnt=\count281 +\MPscratchDim=\dimen161 +\MPnumerator=\count282 +\makeMPintoPDFobject=\count283 +\everyMPtoPDFconversion=\toks27 +) (/usr/local/texlive/2020/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +\AtBeginShipoutBox=\box67 +Package hyperref Info: Link coloring ON on input line 29. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section + +(/usr/local/texlive/2020/texmf-dist/tex/latex/refcount/refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/gettitlestring/gettitlestring.s +ty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) +) +\c@section@level=\count284 +) +LaTeX Info: Redefining \ref on input line 29. +LaTeX Info: Redefining \pageref on input line 29. +LaTeX Info: Redefining \nameref on input line 29. + (./main.out) (./main.out) +\@outlinefile=\write4 +\openout4 = `main.out'. + +Class revtex4-1 Info: Taking \maketitle back from hyperref on input line 29. +\openout3 = `mainNotes.bib'. + +LaTeX Font Info: Trying to load font information for U+msa on input line 72. + + +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 72. + + +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Trying to load font information for U+bbm on input line 95. + + +(/usr/local/texlive/2020/texmf-dist/tex/latex/bbm-macros/ubbm.fd +File: ubbm.fd 1999/03/15 V 1.2 Font definition for bbm font - TH +) +Underfull \hbox (badness 2343) in paragraph at lines 98--102 +[]\T1/cmr/m/n/10 In gen-eral, ILP is clas-si-cally NP-complete, and + [] + + +Underfull \hbox (badness 3679) in paragraph at lines 98--102 +\T1/cmr/m/n/10 as a re-sult, heuris-tic meth-ods are em-ployed [[]-- + [] + + + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./MDS_mds0.pdf): PDF inclusi +on: found PDF version <1.6>, but at most version <1.5> allowed +<./MDS_mds0.pdf, id=123, 1927.2pt x 481.8pt> +File: ./MDS_mds0.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./MDS_mds0.pdf used on input line 118. +(pdftex.def) Requested size: 101.99844pt x 25.49557pt. + + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./MDS_mds1.pdf): PDF inclusi +on: found PDF version <1.6>, but at most version <1.5> allowed +<./MDS_mds1.pdf, id=124, 1927.2pt x 481.8pt> +File: ./MDS_mds1.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./MDS_mds1.pdf used on input line 120. +(pdftex.def) Requested size: 101.99844pt x 25.49557pt. + + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./MDS_mds2.pdf): PDF inclusi +on: found PDF version <1.6>, but at most version <1.5> allowed +<./MDS_mds2.pdf, id=125, 1927.2pt x 481.8pt> +File: ./MDS_mds2.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./MDS_mds2.pdf used on input line 122. +(pdftex.def) Requested size: 101.99844pt x 25.49557pt. +[1{/usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] +[2 <./MDS_mds0.pdf> <./MDS_mds1.pdf> <./MDS_mds2.pdf>] +LaTeX Font Info: Trying to load font information for U+dsrom on input line 2 +15. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/doublestroke/Udsrom.fd +File: Udsrom.fd 1995/08/01 v0.1 Double stroke roman font definitions +) +Underfull \hbox (badness 1377) in paragraph at lines 241--246 +\T1/cmr/m/n/10 where $\OML/cmm/m/it/10 p$ \T1/cmr/m/n/10 is an ex-ter-nal pa-ra +m-e-ter rep-re-sent-ing the + [] + + + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./linear_graph.pdf): PDF inc +lusion: found PDF version <1.6>, but at most version <1.5> allowed +<./linear_graph.pdf, id=223, 3613.5pt x 481.8pt> +File: ./linear_graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./linear_graph.pdf used on input line 278. +(pdftex.def) Requested size: 196.80075pt x 26.23808pt. +LaTeX Font Info: Trying to load font information for T1+cmtt on input line 2 +96. +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/t1cmtt.fd +File: t1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions +) [3 <./linear_graph.pdf>] +<./DWave_scaling.pdf, id=274, 505.89pt x 289.08pt> +File: ./DWave_scaling.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./DWave_scaling.pdf used on input line 300. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. +<./NN2_offset_scaling.pdf, id=276, 505.89pt x 289.08pt> +File: ./NN2_offset_scaling.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./NN2_offset_scaling.pdf used on input line 319. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. + [4 <./DWave_scaling.pdf> <./NN2_offset_scaling.pdf + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./NN2_offset_scaling.pdf): P +DF inclusion: multiple pdfs with page group included in a single page +>] +<./final_state_distribution.pdf, id=390, 505.89pt x 289.08pt> +File: ./final_state_distribution.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./final_state_distribution.pdf used on input line 360 +. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. + +Underfull \hbox (badness 1117) in paragraph at lines 370--377 +[]\T1/cmr/m/n/10 The time-dependent over-lap with the ex-act Ising + [] + +<./time_dependent_probability.pdf, id=392, 505.89pt x 289.08pt> +File: ./time_dependent_probability.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./time_dependent_probability.pdf used on input line 3 +80. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. +<./anneal_schedule_extended.pdf, id=398, 505.89pt x 289.08pt> +File: ./anneal_schedule_extended.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./anneal_schedule_extended.pdf used on input line 397 +. +(pdftex.def) Requested size: 255.0pt x 145.71738pt. +<./NN2_offset_scaling_extended.pdf, id=399, 505.89pt x 289.08pt> +File: ./NN2_offset_scaling_extended.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./NN2_offset_scaling_extended.pdf used on input line +399. +(pdftex.def) Requested size: 255.0pt x 145.71738pt. + +Overfull \hbox (8.0pt too wide) in paragraph at lines 396--403 + []$[]$ + [] + +[5 <./final_state_distribution.pdf> <./time_dependent_probability.pdf + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./time_dependent_probability +.pdf): PDF inclusion: multiple pdfs with page group included in a single page +>] [6 <./anneal_schedule_extended.pdf> <./NN2_offset_scaling_extended.pdf + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./NN2_offset_scaling_extende +d.pdf): PDF inclusion: multiple pdfs with page group included in a single page +>] +Underfull \hbox (badness 1168) in paragraph at lines 483--484 +[]\T1/cmr/m/n/10 Because quan-tum an-neal-ing is ca-pa-ble of solv-ing + [] + + +Underfull \hbox (badness 1406) in paragraph at lines 489--490 +[]\T1/cmr/m/n/10 In this case the $\OML/cmm/m/it/10 Q[]$ \T1/cmr/m/n/10 com-po- +nent of the QUBO, + [] + +[7] +Overfull \hbox (8.88724pt too wide) detected at line 556 +[] + [] + + +Overfull \hbox (3.85936pt too wide) detected at line 566 +[] + [] + + +Underfull \hbox (badness 4518) in paragraph at lines 579--582 +\T1/cmr/m/n/10 where the pro-jec-tion op-er-a-tor onto the de-gen-er- + [] + +<./anneal_schedule.pdf, id=623, 505.89pt x 289.08pt> +File: ./anneal_schedule.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./anneal_schedule.pdf used on input line 597. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. +[8 <./anneal_schedule.pdf>] +<./vacuum_probability.pdf, id=683, 505.89pt x 289.08pt> +File: ./vacuum_probability.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./vacuum_probability.pdf used on input line 640. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. + [9 <./vacuum_probability.pdf>] (./main.bbl +Underfull \hbox (badness 10000) in paragraph at lines 126--131 + \T1/cmr/m/n/9 eprint arXiv:quant-ph/0001106 (2000), [][]quant- + [] + + +Underfull \hbox (badness 8000) in paragraph at lines 221--230 + []\T1/cmr/m/n/9 R. Nand-k-ishore and D. A. Huse, [][]An-nual Re- + [] + + +Underfull \hbox (badness 2903) in paragraph at lines 221--230 + \T1/cmr/m/n/9 view of Con-densed Mat-ter Physics \T1/cmr/bx/n/9 6\T1/cmr/m/n/9 + , 15 (2015)[][], + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 221--230 + [][]\T1/cmr/m/n/9 https://doi.org/10.1146/annurev-conmatphys-031214- + [] + + +Underfull \hbox (badness 4378) in paragraph at lines 413--419 + \T1/cmr/m/n/9 lin-ear pro-gram-ming,'' [][]$\T1/cmtt/m/n/9 https : / / github +. com / cchang5 / + [] + +) [10] +Package atveryend Info: Empty hook `AfterLastShipout' on input line 703. + (./main.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 703. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 703. +Package rerunfilecheck Info: File `main.out' has not changed. +(rerunfilecheck) Checksum: 82891F563DA23218001A05FCBC380036;1954. + ) +Here is how much of TeX's memory you used: + 10820 strings out of 480608 + 156731 string characters out of 5903631 + 488908 words of memory out of 5000000 + 26313 multiletter control sequences out of 15000+600000 + 555594 words of font info for 95 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 34i,14n,37p,1252b,459s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/local/texlive/2020/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc} + < +/usr/local/texlive/2020/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb> + +Output written on main.pdf (10 pages, 774613 bytes). +PDF statistics: + 963 PDF objects out of 1000 (max. 8388607) + 622 compressed objects within 7 object streams + 133 named destinations out of 1000 (max. 500000) + 285 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/paper/v1/main.out b/paper/v1/main.out new file mode 100644 index 0000000..4000e80 --- /dev/null +++ b/paper/v1/main.out @@ -0,0 +1,28 @@ +\BOOKMARK [0][-]{section*.2}{Integer Programming with Quantum Annealing from an Open Quantum System}{}% 2 +\BOOKMARK [1][-]{section*.1}{Abstract}{section*.2}% 1 +\BOOKMARK [1][-]{section*.3}{INTRODUCTION}{section*.2}% 3 +\BOOKMARK [1][-]{section*.4}{RESULTS}{section*.2}% 4 +\BOOKMARK [2][-]{section*.5}{QUBO Formulation of ILP}{section*.4}% 5 +\BOOKMARK [2][-]{section*.6}{Annealer Results for the Dominating Set}{section*.4}% 6 +\BOOKMARK [2][-]{section*.7}{Simulation Results}{section*.4}% 7 +\BOOKMARK [1][-]{section*.8}{Discussion}{section*.2}% 8 +\BOOKMARK [2][-]{section*.9}{Dynamics of Time Evolution}{section*.8}% 9 +\BOOKMARK [2][-]{section*.10}{Idealized Quantum Annealing}{section*.8}% 10 +\BOOKMARK [2][-]{section*.11}{Final Remarks}{section*.8}% 11 +\BOOKMARK [1][-]{section*.12}{METHODS}{section*.2}% 12 +\BOOKMARK [2][-]{section*.13}{Additional Mappings to QUBO}{section*.12}% 13 +\BOOKMARK [3][-]{section*.14}{Minimum Dominating Set QUBO}{section*.13}% 14 +\BOOKMARK [3][-]{section*.15}{Integer Quadratic Optimization}{section*.13}% 15 +\BOOKMARK [2][-]{section*.16}{ILP on the D-Wave}{section*.12}% 16 +\BOOKMARK [3][-]{section*.17}{Comment on ILP QUBO Penalty Term}{section*.16}% 17 +\BOOKMARK [3][-]{section*.18}{Minor Embedding}{section*.16}% 18 +\BOOKMARK [2][-]{section*.19}{Simulation of a Quantum Annealer}{section*.12}% 19 +\BOOKMARK [3][-]{section*.20}{The Lindblad Equation}{section*.19}% 20 +\BOOKMARK [3][-]{section*.21}{Annealing Schedule and Offsets}{section*.19}% 21 +\BOOKMARK [3][-]{section*.22}{Pure Transverse Field Simulation}{section*.19}% 22 +\BOOKMARK [1][-]{section*.23}{DATA AVAILABILITY}{section*.2}% 23 +\BOOKMARK [1][-]{section*.24}{ACKNOWLEDGEMENTS}{section*.2}% 24 +\BOOKMARK [1][-]{section*.25}{AUTHOR CONTRIBUTIONS}{section*.2}% 25 +\BOOKMARK [1][-]{section*.26}{CORRESPONDING AUTHOR}{section*.2}% 26 +\BOOKMARK [1][-]{section*.27}{ADDITIONAL INFORMATION}{section*.2}% 27 +\BOOKMARK [1][-]{section*.28}{References}{section*.2}% 28 diff --git a/paper/v1/main.pdf b/paper/v1/main.pdf new file mode 100644 index 0000000..7116fc2 Binary files /dev/null and b/paper/v1/main.pdf differ diff --git a/paper/v1/main.tex b/paper/v1/main.tex new file mode 100644 index 0000000..f3380fb --- /dev/null +++ b/paper/v1/main.tex @@ -0,0 +1,703 @@ +\documentclass[prd,twocolumn,tightenlines,preprintnumbers,showpacs,superscriptaddress,notitlepage,nofootinbib,eqsecnum,floatfix,longbibliography,aps,10pt]{revtex4-1} +\pdfoutput=1 +\usepackage{CJK} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath} +\usepackage{mathtools} +\usepackage{amsfonts,dsfont} +\usepackage{bm,bbm} +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage{enumitem} + +\usepackage{hyperref} +\hypersetup{ + colorlinks=true, % false: boxed links; true: colored links + linkcolor=blue, % color of internal links + citecolor=blue, % color of links to bibliography + filecolor=blue, % color of file links + urlcolor=blue % color of external links +} + +% disable subsections and subsubsections in the TOC +\makeatletter +\def\l@subsubsection#1#2{} +\makeatother + + +\begin{document} +\title{Integer Programming with Quantum Annealing from an Open Quantum System} + +\author{Chia~Cheng~Chang} +\affiliation{RIKEN iTHEMS, Wako, Saitama 351-0198, Japan} +\affiliation{Department of Physics, University of California, Berkeley, California 94720, USA} +\affiliation{Nuclear Science Division, Lawrence Berkeley National Laboratory, Berkeley, California 94720, USA} + \author{Chih-Chieh~Chen } +\affiliation{R\&D Group, Grid Inc., Tokyo 107-0061, Japan} +\affiliation{Nuclear Science Division, Lawrence Berkeley National Laboratory, Berkeley, California 94720, USA} +\author{Christopher K\"orber} +\affiliation{Institut f\"ur Theoretische Physik II, Ruhr-Universit\"at Bochum, D-44780 Bochum, Germany} +\affiliation{Department of Physics, University of California, Berkeley, California 94720, USA} +\affiliation{Nuclear Science Division, Lawrence Berkeley National Laboratory, Berkeley, California 94720, USA} +\author{Travis~S.~Humble} +\affiliation{Computational Sciences and Engineering, Oak Ridge National Laboratory, Oak Ridge, Tennessee, 37831, USA} +\author{Jim~Ostrowski} +\affiliation{Industrial and Systems Engineering, University of Tennessee, Knoxville, Tennessee 37996, USA} + +\newcommand{\alert}[1]{\textbf{\color{red}{#1}}} +\renewcommand{\vec}[1]{\boldsymbol{#1}} + +\newcommand{\ghissue}[2]{ + \noindent\fbox{\parbox{0.49\textwidth}{ + \alert{[#1]}% + \\% + \href{https://github.com/cchang5/quantum\_linear\_programming/pull/#2}{See GitHub issue #2}}% + } +} + + +\begin{abstract} + While quantum computing proposes promising solutions to computational problems not accessible with classical approaches, due to current hardware constraints, most quantum algorithms are not yet capable of computing systems of practical relevance, and classical counterparts outperform them. + To practically benefit from quantum architecture, one has to identify problems and algorithms with favorable scaling and improve on corresponding limitations depending on available hardware. + For this reason, we developed an algorithm that solves integer linear programming problems, a classically NP-hard problem, on a quantum annealer, and investigated problem and hardware-specific limitations. + This work presents the formalism of how to map ILP problems to the annealing architectures, how to systematically improve computations utilizing optimized anneal schedules, and models the anneal process through a simulation. + It illustrates the effects of decoherence and many body localization for the minimum dominating set problem, and compares annealing results against numerical simulations of the quantum architecture. + We find that the algorithm outperforms random guessing but is limited to small problems and that annealing schedules can be adjusted to reduce the effects of decoherence. + Simulations qualitatively reproduce algorithmic improvements of the modified annealing schedule, suggesting the improvements have origins from quantum effects. +\end{abstract} + +\preprint{RIKEN-iTHEMS-Report-20} + +\maketitle +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\tableofcontents + +\flushbottom +\maketitle + +%======================================================================================== +\section{INTRODUCTION} +\label{sec:introduction} +%======================================================================================== +Integer Linear Programming (ILP) is an integer optimization problem subject to inequality constraints +\begin{align} + \label{eq:initial-ip-def} + \vec x_0 = \mathrm{arg} & \min\limits_{x}\left(\sum_i c_i x_i\right) +\end{align} +subject to +\begin{align} + \label{eq:ilp-constraints} + & \sum_i A_{ai}x_i +b_a \leq 0 \,, \\ + & x_i \in \mathbbm{Z} \geq 0\, , +\end{align} +where $i=1, \cdots, N$ is the number of dependent variables and $a=1, \cdots, M$ the number of constraint equations. + +In general, ILP is classically NP-complete, and as a result, heuristic methods are employed~\cite{GLOVER1986533, doi:10.1287/ijoc.1.3.190, doi:10.1287/ijoc.2.1.4}. +Standard classical heuristic algorithms follow a greedy scheme which iteratively approximates optimal solutions--starting from a random initial guess, these algorithms apply locally optimal choices at each step. +The NP-hardness of ILP can be understood by realizing that while the solution to an $n$-dimensional linear problem must lie on the vertices of the feasibility region, while the optimal integer solution may in general be at any integer solution inside the feasibility region. +While greedy algorithms do not guarantee optimal global solutions, they find approximate solutions in polynomial time, which can be utilized in further computations. ILP is a commonly tackled problem applicable to situations such as scheduling, network optimization, and graph optimization such as the minimum dominating set problem (MDS). ILP can also be used to identify reaction pathways of biological system, and has recently been explored in the context of quantum annealing~\cite{2020arXiv200713788H}. + +An important ILP application is the MDS problem, which is representatively considered in this work. +For a given a graph $G(E,V)$, defined by the set of $V$ vertices and $E$ edges, a dominating set $D$ is a specific subset of vertices $D \subseteq V$. +In particular, $D$ is a dominating set if all vertices in $V$ but not in $D$ are adjacent to at least one vertex in $D$. +This is equivalent to requiring the set of nearest-neighbor vertices of $D$ (exclusive) and $D$ cover all vertices $N(D) \cup D = V$ (an example is given by Fig.~\ref{fig:dominating_sets}a). +The set $D$ is a minimal dominating set if there is no proper subset of $D$ that is a dominating set, {\it{i.e.}}, the removal of any vertex in $D$ results in $N(D) \cup D \neq V$. +An example is given by Fig.~\ref{fig:dominating_sets}b. +The domination number of $D$ is given by the cardinality of $|D| \equiv \overline{\overline{D}}$. +The MDS is defined by $D$ with the smallest domination number. +Fig.~\ref{fig:dominating_sets}c shows an example of the MDS of $G(V, E)$ and is different from the minimal dominating set. +We emphasize that while the maximum independent set is always a minimal dominating set as exemplified by Fig.~\ref{fig:dominating_sets}b, the MDS, in general, can have a smaller domination number. +As a result, the solution to the dominating set problem can not be obtained by solving the maximum independent set problem, a well-studied problem for quantum annealers. + +\begin{figure*} + \centering + \begin{tabular}{p{0.2\textwidth}p{0.1\textwidth}p{0.2\textwidth}p{0.1\textwidth}p{0.2\textwidth}} + \includegraphics[width=0.2\textwidth]{./MDS_mds0.pdf} +&& + \includegraphics[width=0.2\textwidth]{./MDS_mds1.pdf} +&& + \includegraphics[width=0.2\textwidth]{./MDS_mds2.pdf}\\ + \centering\textbf{a} && \centering\textbf{b} && \centering\textbf{c} + \end{tabular} + \caption{Example of different dominating sets for $G(V, E)$. Vertices in the dominating set $D$ are highlighted in blue. {\textbf{a)}} A dominating set of $G$ with domination number $\overline{\overline{D}} = 2$. {\textbf{b)}} A minimal dominating set of $G$ with domination number of $\overline{\overline{D}} = 2$. {\textbf{c)}} The MDS of $G$ with domination number of $\overline{\overline{D}} = 1$.} + \label{fig:dominating_sets} +\end{figure*} + +For general graphs, existing algorithms on classical computers find MDS solutions in exponential time $\sim O( 1.5^n)$ \cite{Fomin2009, vanRooij2009} or approximate solutions in polynomial time. For example, greedy algorithms locally optimize decisions about which nodes to add to the dominating set. +Thus one is guaranteed to find a dominating set but not necessarily an MDS. + +In this work, we present a method to obtain optimal solutions to ILP by employing quantum annealing methods. + +Current implementations of quantum annealing solve the quadratic binary optimization problem (QUBO) by slowly varying a time-dependent Hamiltonian~\cite{1998PhRvE..58.5355K, 2000quant.ph..1106F, RevModPhys.80.1061}. +Through the adiabatic theorem of quantum mechanics, the annealer is initially prepared in a trivial ground state while the final Hamiltonian encodes the solution to the ILP. +Due to the explosion in research efforts towards hardware implementations of quantum annealers and future improvements to the annealing schedule~\cite{doi:10.7566/JPSJ.89.044001}, mapping ILP to QUBO provides a path forward towards obtaining optimal solutions to the class of integer optimization problems~\cite{2018Glover}. + +In the simplest model for quantum annealing, the pure state of a quantum system evolves adiabatically to prepare an eigenstate of the encoded problem Hamiltonian. The time-dependent Hamiltonian is given as +\begin{equation} + H(t) = A(t) H^{\textrm{init}} + B(t) H^{\textrm{problem}}, \label{eq:tdhamiltonian} +\end{equation} +and $H^\textrm{init}=-\sum_i\sigma^x_i$ (on the D-Wave), while $H^\textrm{problem}$ encodes the problem to be solved. In practice, and as discussed in Sec.~\ref{sec:methods:lindblad}, modeling dynamics that arise during quantum annealing requires a more robust description of the thermally populated mixed quantum states and the open dynamical processes that govern population of the sought-after eigenstate. + +The mapping of ILPs to QUBOs we propose is realized by introducing slack variables $s_a$ which turn the inequalities Eq.~\eqref{eq:ilp-constraints} to equalities +\begin{align} + \label{eq:ilp:slack} + & \sum_i A_{a i}x_i + s_a + b_a = 0, \\ + & x_i, s_a \in \mathbb{Z} \geq 0. +\end{align} +While, in general, the coefficients of the inequality constraints are not required to be integer valued, this real valued inequalities can be trivially rescaled such that $s_i \in \mathbbm{Z}$ given fixed precision coefficients $A_{ij}$ and $b_i$. +Furthermore, this formalism can be generalized to constrained quadratic optimizations \ref{sec:methods:ilp:quadratic}. + +We improve the quantum annealer's performance by utilizing annealing offsets, which effectively delay the annealing schedule on a per-qubit basis~\cite{PhysRevA.96.042322,hsu2018quantum,10.1007/978-3-030-14082-3_14,2020RPPh...83e4401H}. +Converting to the Ising representation of the the problem Hamiltonian, +\begin{equation} + \label{eq:HIsing} + H^{\textrm{problem}} \leftrightarrow H^{\textrm{Ising}} = \sum_{ij} J_{ij} \sigma^z_i \sigma^z_j + \sum_i h_i \sigma^z_i , +\end{equation} +we recognize that Eq.~(\ref{eq:HIsing}) exhibits spin-glass properties. More specifically, if the $h_i$ coefficients are randomly drawn from a Bernoulli distribution, one expects spin-localization behavior to influence the outcome of the anneal. +In the case of quantum annealing, when an algorithm is mapped to its Ising representation, the values of $h_i$ will frequently take on various values, mimicking spin-glass like behavior. +More explicitly, the spin-glass enters a glassy state when more disorder is introduced ($|h_i|$ becomes large), and as a consequence, the wavefunction experiences many body localization (MBL) effects, the many-body analog of Anderson localization~\cite{doi:10.1146/annurev-conmatphys-031214-014726,PhysRevE.90.022103,RevModPhys.91.021001,ALET2018498,PhysRevB.82.174411,PhysRevLett.109.017202}. + +Our improvement strategy is motivated by the MBL hypothesis. +As a result, we employ a modified annealing schedule that relies on partitioning the Hamiltonian into regions of relatively weak and strong external magnetic fields. + + +To understand which phenomena are relevant for describing the proposed offset study's scaling behavior, whether they are rooted in the quantum nature or related to hardware constraints, we simulate the anneal for a small MDS problem. This simulation solves the von Neumann equations accounting for different quantum decoherence models and explores whether algorithmic improvements on hardware are present in idealized systems. + +%======================================================================================== +\section{RESULTS} +\label{sec:results} +%======================================================================================== + +We first present the QUBO mapping for ILP (\ref{sec:results:qa1}), and demonstrate the methodology on an example implementation in case of the Minimal Dominating Set problem (\ref{sec:results:qa}) on the D-Wave quantum annealer. Results from quantum annealing are compared and discussed in contrast to simulations (\ref{sec:results:simulation}). + +%---------------------------------------------------------------------------------------- +\subsection{QUBO Formulation of ILP} +\label{sec:results:qa1} +%---------------------------------------------------------------------------------------- +Following Eq.~(\ref{eq:ilp:slack}), the ILP problems simplifies to solving a system of linear equations on integer valued variables. We map the integer variables $\vec z = \vec x, \vec s$ appearing in Eq.~\eqref{eq:ilp:slack} to qubits under the following transformation~\cite{Chang:2018uoc} +\begin{align} + z_i = & \sum_{r=0}^{R_i-1} 2^r \psi_{ri} + \label{eq:int_to_bin} +\end{align} +where $\psi_{ri} \in \{0, 1\}$. The number of qubits used to represent the $i$-th integer variable is allowed to vary with $R_i$. +The integer-vector qubit transformation can be expressed as a rectangular matrix. +For example, a vector of two integer variables $z_0$ and $z_1$ represented by one and two qubits respectively is given as +\begin{align} + \begin{pmatrix} + z_0 \\ + z_1 + \end{pmatrix} + = & + \begin{pmatrix} + 2^0 & 0 & 0 \\ + 0 & 2^0 & 2^1 + \end{pmatrix} + \begin{pmatrix} + \psi_{00} \\ + \psi_{01} \\ + \psi_{11} + \end{pmatrix} + \equiv T^z \begin{pmatrix} + \psi_{00} \\ + \psi_{01} \\ + \psi_{11} + \end{pmatrix} +\end{align} +If all variables are represented by the same number of qubits--$R_i$ is a constant for all $i$--then one can express the transformation as tensor product of bit vectors +\begin{align} + \mathcal{R} = & \begin{pmatrix} 2^0 & \dots & 2^{R-1}\end{pmatrix}, \\ + \mathcal{Z} = & \begin{pmatrix} z_0 & \dots & z_{N-1}\end{pmatrix}, \\ + |\mathds{1}| = & |\mathcal{Z}|, \\ + T^z = & \mathds{1}\otimes \mathcal{R}. +\end{align} + +As a result, the $\vec x$ and $\vec s$ map to the binary vector $\vec \Psi$ under the transformation +\begin{equation} + \label{eq:bit-vector-mapping} + \begin{pmatrix} + \vec x \\ \vec s + \end{pmatrix} + = + \begin{pmatrix} + T_x & 0 \\ 0 & T_s + \end{pmatrix} + \begin{pmatrix} + \vec \Psi_x \\ \vec \Psi_s + \end{pmatrix} + = + T + \vec \Psi +\end{equation} + +The integer linear optimization problem is then solved through the minimization of the quadratic objective function +\begin{align} + \label{eq:ilp-slack-bit-energy} + \chi^2(\vec \Psi) + &= + \vec c^T T_x \vec \Psi_x + p \left\| A T_x \vec \Psi_x + T_s \vec \Psi_s + \vec b \right\|^2 +\end{align} +where $p$ is an external parameter representing the strength of the penalty when violating constraints. +This parameter needs to be sufficiently large, e.g., $p \geq \vec c \cdot \vec x$, to ensure the constraints are indeed fulfilled\footnote{Depending on the problem, $p$ can be smaller as well. +For example, in the case of the MDS, $p\geq 1$ suffices.}. +The objective function $\chi^2$ can be represented as a QUBO Hamiltonian +\begin{align} + \chi^2(\vec \Psi) = & + \vec \Psi^T + \begin{pmatrix} + Q_{xx} & Q_{xs} \\ + Q_{sx} & Q_{ss} + \end{pmatrix} + \vec \Psi + p\left \| \vec b \right\|^2, \\ + \equiv & \vec \Psi^T Q \vec \Psi + C, + \label{eq:matrix_form} +\end{align} +where +{\small +\begin{align} + \label{eq:qubo:components} + Q_{xx} = & p {T_{x}}^T \left[ A^T A + \mathrm{diag} \left(A^T \vec b + \vec b^T A\right) \right] T_x + \mathrm{diag}(\vec c) T_x, \\ + Q_{xs} = & Q_{sx}^T = p {T_{x}}^T A^T T_s, \\ + Q_{ss} = & p\left[ {T_{s}}^T T_s + \mathrm{diag}\left( {T_{s}}^T \vec b + \vec b^T T_s\right) \right]. +\end{align}} +The function $\mathrm{diag}(\vec v)$ transforms a vector $\vec v$ into a diagonal matrix, and absorbs the linear contributions of the QUBO into the diagonal elements of the quadratic representation. + +The integer solution to the original ILP is computed by $\vec x^{(0)} = T_x \vec \Psi_x^{(0)}$ and the original solution to the problem is computed by shifting the annealer extracted energy $E \equiv \chi^2(\vec \Psi^{(0)}) $ by $p \left \| \vec b \right\|^2$. +The slack components of this vector $\vec \Psi_s$ can be utilized to check if the constraints are indeed fulfilled. + +%---------------------------------------------------------------------------------------- +\subsection{Annealer Results for the Dominating Set} +\label{sec:results:qa} +%---------------------------------------------------------------------------------------- +\begin{figure}[b] + \centering + \begin{tabular}{cc} + $G(n):$ & + \raisebox{-.4\height}{\includegraphics[width=0.8\columnwidth]{./linear_graph.pdf}} + \end{tabular} + \caption{Linear graphs $G(n)$ used in this study. Nodes denote vertices of the graphs and lines are undirected edges.} +\label{fig:linear} +\end{figure} + +We demonstrate the proposed algorithm in order to obtain the MDS on a series of linear graphs $G(n)$, as shown in Fig.~\ref{fig:linear}. This type of graph is chosen because the small number of nearest-neighbor connections is more efficiently embedded into the chimera graph, allowing scaling plots to be generated when using a D-Wave quantum annealer. In particular, the number of qubits required to solve MDS scales at worse as $n_V \log_2 n_V$ where $n_V$ is the number of vertices for a generic graph before minor embedding. Details of the mapping of ILP to MDS is given in Sec.~\ref{sec:methods:mds-qubo}. + +For the graph $G(n)$ the MDS solution is known analytically, and contains both unique and degenerate solutions. In particular, the domination number for $G(n)$ is $\lceil n/3 \rceil$ while the number of MDS solutions for $n$ vertices is +\begin{align} +&1 &&\textrm{if} && n\textrm{ mod }3=0,\nonumber \\ +&2\lfloor n/3 \rfloor + 1 && \textrm{if}&& n\textrm{ mod }3=1,\nonumber \\ +&\lfloor n/3 \rfloor + 2 && \textrm{if} && n \textrm{ mod }3 = 2, +\end{align} +and gives the probability of randomly guessing the MDS of $G(n)$. + +For even the smallest graph $G(2)$, the MDS problem is not native to the chimera graph and must be embedded. Following the hypothesis of MBL, we, therefore, must look at the values of $h_i$ after embedding. The qubits split into two groups depending on the value of $h_i$ relative to $(\textrm{max}|\{h\}| + \textrm{min}|\{h\}|) / 2$ given the set of external magnetic fields $\{h\}$ defined by a specific embedding. Further detail is given in Sec.~\ref{sec:methods:minor_embedding}. We study the effects of delaying the anneal schedule of one group of qubits over the other and present the results of this study is shown in Fig.~\ref{fig:baseline}. + +Due to near-term limitations, hardware realizations of quantum annealing are unique, and possess for example, different lattice layouts (due to faulty qubits), annealing schedules, and qubit fidelity. For the following studies, we perform experiments specifically on the \texttt{DW\_2000Q\_6} solver. The annealing time is set to 500$\mu$s after performing a study on various annealing times the $G(6)$ graph. The black line (offset$=0.0$) in Fig.~\ref{fig:baseline} shows results from the baseline experiment, without modification to the D-Wave annealing schedule, and observe improvement over random guessing (dashed green). + +\begin{figure} + \centering + \includegraphics[width=\columnwidth]{./DWave_scaling.pdf} + \caption{Baseline result of D-Wave (black) compared to random guessing (dashed green). The jagged nature of random guessing reflects the degeneracy of the ground state. Negative offsets with a `s' tag (blue) are results from delays of large values of $|h_i|$, while negative offsets with the `w' label (red) delay the schedule of qubits with small values of $h_i$.} + \label{fig:baseline} +\end{figure} + +We explore one avenue towards improving the experiment results by introducing per-qubit annealing offsets into the time evolution. +The blue (red) results delay qubits' annealing subject to stronger (weaker) external fields. We observe improvement (diminishment) in the experimental results when qubits subject to stronger (weaker) final external fields are delayed in the annealing schedule, in agreement with the MBL hypothesis. The phenomena is observed across different problem sizes and hints at the possibility of a generic improvement strategy. + + +%---------------------------------------------------------------------------------------- +\subsection{Simulation Results} +%---------------------------------------------------------------------------------------- +\label{sec:results:simulation} +To understand the effects of annealing offsets, we simulate the annealing process for the $G(2)$ graph embedded in chimera topography. +We repeat the same anneal process with a shortend total annealing time of 1 $\mu s$, reducing the computational demands of the simulation, and count the number of correct ground state occurrences. +The resulting ground state probability as a function of offset measured over 100,000 observations is shown in Fig.~\ref{fig:dwave1us}. + +\begin{figure}[b] + \centering + \includegraphics[width=\columnwidth]{./NN2_offset_scaling.pdf} + \caption{The probability of finding the MDS for $G(2)$ from D-Wave (black) and simulation (dashed yellow) at annealing times of 1 $\mu s$.} + \label{fig:dwave1us} +\end{figure} + + +To solve for time evolution dynamics of quantum annealing including thermal and the decoherence effects, we solve for the master equation in Lindblad form +\begin{align} + \label{eq:sim:linblad-eq} + \partial_t \rho (t) = \frac{-i}{\hbar} [H(t) , \rho(t)] + \mathcal{L}(\rho(t), H(t)) +\end{align} +where $\hbar$ is the reduced Plank's constant, $\rho (t)$ is the density matrix at time $t$, $H(t)$ is the time-dependent Hamiltonian and $\mathcal{L}$ is the Linblad operator implementing the decoherence models. +In this work, we consider two types of decoherence models: full-counting statistics~\cite{PhysRevE.90.022103,RevModPhys.81.1665} and single-qubit amplitude damping (local damping)~\cite{10.5555/1972505,preskill1998lecture}. +The full-counting statistics term models the global decoherence to all the qubits due to the classical reservoir. +The local damping term models the decoherence of each qubit independently. +Details of the master equation are given in Sec.~\ref{sec:methods:lindblad}. +Implementation of the annealing schedule and annealing offsets for the simulation are discussed in Sec.~\ref{sec:methods:annealing-schedule}. + +The graph $G(2)$ has degenerate ground states depending on whether qubit 0 or 1 is chosen to be the MDS solution. +This degeneracy is reflected in the experimental result and provides a non-trivial benchmark for our simulation. +Fig.~\ref{fig:final_state_distribution} show the final state distribution of the three lowest-lying state. +The states $(0, 1, 0, 0, 0)$ and $(1, 0, 0, 1, 0)$ are the two degenerate ground states of the embedded Hamiltonian, while $(1, 1, 1, 1, 1)$ is the first excited state which yields an incorrect solution\footnote{According to Eq.~\eqref{eq:bit-vector-mapping}, the first two vector components represent the nodes of the graph while the following components represent the slack variables after embedding.}. +All other states receive negligible probability at the end of annealing. +The simulation (black) captures the main features of the experimental result: +\begin{enumerate} + \item Significant probability of populating both ground states (rather than populating only one) + \item Asymmetry in ground state population due to offsets and spanning approximately the correct range + \item Population of first excited state with systematically lower probability when the strong field is delayed +\end{enumerate} +The asymmetry in the ground state distribution at non-zero offset results from annealing offsets lifting the ground state degeneracy. +The non-degenerate ground state switches between the two states within the broken symmetry, depending on which qubit group is delayed. At zero offset, a slight asymmetry exists in the simulation because the Hamiltonian is only degenerate at the last moment, while the D-Wave is also subject to sampling bias~\cite{2016PhRvA..93e2320K, 2017PhRvL.118g0502M}. + +This result can be obtained by tuning three free parameters: the simulation temperature to the order of 10 milliKelvin, and the two coefficients of the two decoherence models at the order of 1 to 10 $ns$. These values are consistent with the reported D-Wave operating temperature~\cite{dwave_temp} and coherence times for flux qubits~\cite{2003Sci...299.1869C}. +Additional insights of the simulation are given in Sec.~\ref{sec:discussion:time_evolution}. + +The resulting probability of recovering the correct solution as a function of annealing offset is given in Fig.~\ref{fig:dwave1us}. +We confirm that the simulation's offset-scaling follows the experiment's scaling, which suggests that the improvements are related to quantum mechanics. +An additional study where an extended annealing schedule is employed in the simulation, which removes systematic errors introduced by annealing offsets and effects of local damping are presented in Sec.~\ref{sec:discussion:idealqa}, and further supports this observation. + +\begin{figure} + \centering + \includegraphics[width=\columnwidth]{./final_state_distribution.pdf} + \caption{Final state distribution from D-Wave (solid bars) and simulation (black outline). The colors label the type of offset The $(0, 1, 0, 0, 0)$ state is the first solution where vertex 1 is in the dominating set. The $(1, 0, 0, 1, 0)$ state is the second solution where vertex 0 is in the dominating set. The first excited state is the $(1, 1, 1, 1, 1)$ state where both vertices are in the dominating set.} + \label{fig:final_state_distribution} +\end{figure} + + +\section{Discussion} +\subsection{Dynamics of Time Evolution} +\label{sec:discussion:time_evolution} + +The time-dependent overlap with the exact Ising ground state is shown in Fig.~\ref{fig:td_prob} from applying the simulator to $G(2)$. We observe for all cases that the system undergoes what is analogous to a magnetic phase transition around $s\sim 0.4$. +After the phase transition, we can confirm that the system collapses to effectively a classical state in the sense that the density matrix becomes a diagonal matrix. +The steady increase in probability after the phase transition is a sensitive balance between the competing effects between full-counting statistics and local damping. +In our example, the full-counting statistics decoherance rate is tuned to be slightly stronger compared to the local dampening decoherance rate, effectively resulting in a final thermal annealing process after the phase transition. +If local damping were relatively larger, then the probability after the phase transition will slowly decrease as the system decoheres into its local ground state. +While we believe both effects are essential to simulate D-Wave, due to the competing effects of both decoherence models, we emphasize that a fully quantitative comparison of both decoherence models cannot be made just considering the $G(2)$ graph. +However, we emphasize that the simulation suggests that the ground state is recovered predominantly due to the quantum phase transition happing around $s\sim 0.4$. + +\begin{figure} + \centering + \includegraphics[width=\columnwidth]{./time_dependent_probability.pdf} + \caption{Time-dependent probability for resolving the ground state for simulation results presented in Sec.~\ref{sec:results:simulation}. Different offsets are labeled in the same way as Fig.~\ref{fig:baseline}.} + \label{fig:td_prob} +\end{figure} + +Finally, we comment that effects of full-counting statistics are required for the simulation to obtain the final state distribution shown in Fig.~\ref{fig:final_state_distribution}. +Because of the smallness of the $G(2)$ problem (and the utilized total annealing time of 1$\mu s$), the annealing offsets lift the ground state degeneracy in a manor that diabatic transitions do not occur--setting a discrete, fixed groundstate probability for given offsets. +Thus, if dynamical thermalization effects were absent, the simulation would populate predominantly one of the two unique ground states depending on the offsets. +Once dynamical thermalization effects are present, the final state distribution continously depends on offsets and becomes a very sensitive observable to tune the simulation temperature, which, if properly tuned, agrees well with the experimental operating temperature. + + +\subsection{Idealized Quantum Annealing} +\label{sec:discussion:idealqa} + +\begin{figure*} + \centering + \begin{tabular}{p{0.5\textwidth}p{0.5\textwidth}} + \includegraphics[width=0.5\textwidth]{./anneal_schedule_extended.pdf} + & + \includegraphics[width=0.5\textwidth]{./NN2_offset_scaling_extended.pdf}\\ + \centering \textbf{a} & \centering \textbf{b} + \end{tabular} + \centering + \caption{Extended annealing schedule and simulation result. \textbf{a)} The annealing time is increased by 10\% at both the start and end, and the initial values of $A(s)$ and $B(s)$ at non-zero offset are also not extrapolated in comparison to Fig.~\ref{fig:anneal_schedule}. Therefore, the initial and final Hamiltonian are no longer suffer systematic error at non-zero offset. \textbf{b)} The default (dashed yellow) result is one presented in Fig.~\ref{fig:dwave1us}. Results from extended schedules are presented shown with solid lines with full-counting statistics and amplitude damping (red), only full-counting-statistics (blue), and only amplitude damping (green). + } + \label{fig:anneal_schedule_ext} +\end{figure*} + +In the simulation, we also reserve the ability to remove systematic errors associated with finite annealing schedules by extending them, as shown by the red data points in Fig.~\ref{fig:anneal_schedule_ext}. With the extended schedule, all qubits start and end with the same values of $A$ and $B$ and faithfully preserves the initial and final Hamiltonians. The dependence on offset for $G(2)$ (Fig.~\ref{fig:dwave1us}) remains the same under the extended anneal schedule (Fig.~\ref{fig:anneal_schedule_ext}), confirming that the behavior is not a systematic artifact. + +The quantum system can be further idealized by including either solely the full-counting statistics model (blue) or solely the local decoherence model (green)\footnote{For problems without diabatic transitions, like the MDS problem for a $G(2)$ graph and an anneal time of $1\mu s$, removing all decoherence models results in ground state probabilities equal to unity.}. We observe in both cases that the overall scaling follows the story of the MBL hypothesis. Perhaps more importantly, we observe that a simulation without local decoherence, where the relaxation is dependent on precisely the instantaneous value of $|h_i|$, exhibits the same scaling as the experiment. This result suggests that our strategy for setting annealing offsets is improving the algorithm beyond the simple explanation of qubits freezing due to single-particle amplitude damping. The simulation with only amplitude damping (green) does not fully capture the results of the experiment. We observe hints of a phase transition depending on the offset (which may be considered some measure of disorder) when dynamical thermalization effects are removed. This observation is a strong evidence for the inclusion of the full-counting statistics model. + +\subsection{Final Remarks} +\label{sec:results:final} +We want to emphasize that while the annealing offsets are motivated by the MBL hypothesis, and the results also follow those expectations, we do not have definitive proof that MBL plays a crucial role. +Observations of MBL inevitably require the study of finite-size scaling~\cite{2015PhRvB..91h1103L}, and our current simulation, while being extremely thorough and explicit, is exponentially slow to evaluate, making evaluations of even $G(3)$ unfeasible. +However, the intersection of time-dependent quantum mechanics and emergent phenomena~\cite{Goldenfeld:1992qy} is an exciting direction that is pertinent to adiabatic quantum computing. + +%======================================================================================== +\section{METHODS} +\label{sec:methods} +%======================================================================================== +%---------------------------------------------------------------------------------------- +\subsection{Additional Mappings to QUBO} +\label{sec:methods:ILP-to-QUBO} +%---------------------------------------------------------------------------------------- +%---------------------------------------------------------------------------------------- +\subsubsection{Minimum Dominating Set QUBO} +\label{sec:methods:mds-qubo} +%---------------------------------------------------------------------------------------- + +The solution to the MDS problem can be expressed as an integer optimization problem given by, +\begin{align} + f(\vec x) = & \min\left(\sum_{v \in V} x_v\right), \\ +\end{align} +subject to +\begin{align} + & x_v + \sum_{j \in \mathcal{N}(v)} x_j \geq 1, \\ + & x_v \in \{0, 1\} +\end{align} +where $\mathcal{N}(v)$ represents the set of all direct neighbors of vertex $v$ and the dimension of the dependent variable $x$ is the number of vertices $n_V \equiv \overline{\overline{V}}$. +The problem minimizes the number of vertices in $D$ with a binary variable $\vec x = \vec \Psi_x$ encoded by single qubit, subject to the constraint that at least one vertex in $\mathcal{N}(\nu)$ is in $D$. +For each vertex in $V$ we introduce slack variables +\begin{equation} + \vec s \in \left\{ \mathbb{Z}^{n_V} \, \middle| \, 0 \leq s_{v} \leq |\mathcal{N}(v)| \quad \forall v\in V \right\} \, , +\end{equation} +which is related to the qubit vector $\vec \Psi_s$ by $\vec s = T_s \vec \Psi_s$. +The inequality constraint is encoded by +\begin{align} + f(\vec \Psi_x) + = + & \min\left(\vec 1 \cdot \vec \Psi_x \right) \, , +\end{align} +subject to +\begin{align} + & + (\mathbbm{1} + J)\vec \Psi_x - T_s \Psi_s - \vec 1 = 0\,, + \\ + & + (\vec \Psi_s)_\nu \in \{ 0, 1\} +\end{align} +where the nearest-neighbor sum is expressed by the adjacency matrix $J$ (zero diagonal and symmetric for non-directional graphs). +The algorithm uses +\begin{equation} + N_q = \overline{\overline{V}} + \sum_{v \in V} \log_2 \mathcal{N}(v) +\end{equation} +qubits to encode the vertices and slack variables before embedding. +Therefore, the (logical) binary vector $\vec \Psi$ at worst scales with $n_V \log_2 n_V$ qubits for fully connected graphs. + +The target QUBO in the notation of Eq.~\eqref{eq:matrix_form} reads + {\small + \begin{align} + Q_{xx} & = \mathbbm{1} + p\left[J^T J + J^T + J - \mathrm{diag}\left(J^T \vec 1 + \vec 1^T J\right) - \mathbbm{1} \right] \,, \\ + Q_{sx} & = - p(\mathbbm{1}+J)^TT_s\,, \\ + Q_{ss} & = p\left[{T_s}^T T_s + \mathrm{diag}\left(T_s^T \vec 1 + \vec 1^T T_s\right)\right]\,, \\ + C & = p \overline{\overline{V}}\,. + \end{align}} + +%---------------------------------------------------------------------------------------- +\subsubsection{Integer Quadratic Optimization} +\label{sec:methods:ilp:quadratic} +%---------------------------------------------------------------------------------------- + +Because quantum annealing is capable of solving quadratic problems, we extend the proposed algorithm to solve integer quadratic optimization problems as well such that +\begin{align} + \vec x_0 = \mathrm{arg}\min\limits_{x}\left(\sum_{ij} x_i d_{ij} x_j + \sum_i c_i x_i\right) +\end{align} +without the introduction of auxiliary qubits. + +In this case the $Q_{xx}$ component of the QUBO, Eq.~\eqref{eq:qubo:components} obtains a new term +\begin{equation} + Q_{xx} \to Q_{xx} + T_x^T d T_x \, . +\end{equation} + +%---------------------------------------------------------------------------------------- +\subsection{ILP on the D-Wave} +\label{sec:methods:ILP-on-D-Wave} +%---------------------------------------------------------------------------------------- + +%---------------------------------------------------------------------------------------- +\subsubsection{Comment on ILP QUBO Penalty Term} +\label{sec:methods:ilp-qubo-comments} +%---------------------------------------------------------------------------------------- + +The minimal energy solution to Eq.~\eqref{eq:initial-ip-def} and Eq.~\eqref{eq:ilp-slack-bit-energy} are exactly the same if the penalty term is greater or equal to the energy gap of the first excited solution: $p \geq E_1 - E_0$. +Thus some knowledge of the problem is required. +In principle, it is possible to set the penalty term arbitrarily large, at the cost of problem resolution: large values for $p$ increase the highest available energy of the system by multiples of $p$. +After normalization of the QUBO, this corresponds to decreasing the energy gap between the ground state and the first excited state. +Thus, if solvers have finite precision, one must estimate reasonable values for $p$: for large $p$ more solutions fulfill the constraints, while for small $p$, more solutions minimize the objective function. + +%---------------------------------------------------------------------------------------- +\subsubsection{Minor Embedding} +\label{sec:methods:minor_embedding} +%---------------------------------------------------------------------------------------- +Our proposed offset strategy is motivated by the structure of the Hamiltonian being evaluated by the annealer. +As a result, details of the embedding are important. We obtain an embedding for $G(n)$ with the \texttt{embed\_qubo} function provided by the D-Wave Ocean Python package~\cite{dwave_oceans} under the \texttt{dwave.embedding} module~\cite{2008arXiv0804.4884C}. +The same embedding is used for all D-Wave solves of the same graph (independent of offset), and consequently the simulation solves the resulting embedded Hamiltonian for $G(2)$. +Additionally, solving the same graph as a function of offset on the exact same qubits removes (or at least keeps consistent) the systematic effects due to solving a problem on different physical qubits. +We note that comparisons between different graphs in Fig.~\ref{fig:baseline} are subject to this uncontrolled systematic. + +After embedding the QUBO for $G(2)$ requires 5 qubits (an increase from 4), where by construction, qubits 0 and 3 form the qubit chain. +We confirm through brute force evaluation of the eigenvalue decomposition of the 5 qubit Hamiltonian, that the embedding provided by D-Wave solves the expected ILP problem for $G(2)$, with degenerate ground states at $(0, 1, 0, 0, 0)$ and $(1, 0, 0, 1, 0)$ corresponding to whether vertex 0 or 1 is chosen for the MDS solution, and $(1, 1, 1, 1, 1)$ as the first (non-degenerate) excited state where both vertex 1 and 0 are in the set yielding a valid dominating set but not the MDS. + +The resulting Ising Hamiltonian has external field equal to $h = (2.75, 1.5, -1.0, -1.25, -1.0)$. +Following the offset strategy described in Sec.~\ref{sec:results:qa}, qubit(s) 0 (1, 2, 3, 4) are placed in the set with relatively stronger (weaker) final external fields. +This imbalance in the two groups may perhaps explain the reason why effects of delaying the weaker fields are more pronounced, since delaying the strong fields only differs from the baseline by a single qubit. + + + +%---------------------------------------------------------------------------------------- +\subsection{Simulation of a Quantum Annealer} +\label{sec:methods:simulation} +%---------------------------------------------------------------------------------------- + +%---------------------------------------------------------------------------------------- +\subsubsection{The Lindblad Equation} +\label{sec:methods:lindblad} +%---------------------------------------------------------------------------------------- + +To solve for time evolution dynamics of quantum annealing including thermal and the decoherence effects, we evaluate the master equation Eq.~\eqref{eq:sim:linblad-eq} in Lindblad form. +The explicit time-dependence of the Hamiltonian is given by +\begin{align} + \label{eq:annealH} + H(t) = & - \sum_i A_i(t)\sigma^x_i +\sum_i B_{i}(t) h_i \sigma^z_i \notag \\ + & + \sum_{i>j} \sqrt{B_{i}(t)B_{j}(t)} J_{ij} \sigma^z_i \sigma^z_j , +\end{align} +where $A_i(t)$ and $B_{i}(t)$ are site-dependent annealing schedule functions. +The site dependency takes into account of the annealing offsets. +The simulation takes two decoherance models into account. +Full-counting statistics and local decoherence. + +For full-counting statistics, the Lindblad operator is +\begin{align} +\mathcal{L}_{\textrm{fc}}(\rho (t), H(t)) = & \Gamma_{\textrm{fc}} \sum_{j, i0$, $S_{ij}=|E_i \rangle \langle E_j|$ denotes the many-body lowering operator and $\Gamma_{fc} = 1/T_{fc}$ is the full-counting decoherence rate for coherence time $T_{fc}$. +That is, due to the interaction with the classical thermal bath, there is a probability that the system hops from each higher-energy many-body state to a lower-energy many-body state. +The probability of the inverse process is given by a Boltzmann factor. + +To model the local decoherence of each qubits in the non-interacting limit, we also consider the amplitude damping for non-interacting qubits. +For the local decoherance model, the Lindblad operator is +\begin{align} +\mathcal{L}_{\textrm{loc}}(\rho (t), H(t)) = & \Gamma_{\textrm{loc}} \sum_j \left(2L_j \rho(t) L_j^\dagger - \{ L^\dagger_j L_j, \rho(t) \} \right)\notag \\ +& + e^{- 2 \beta |h_j| } \left(2L_j^\dagger \rho(t) L_j - \{ L_j L_j^\dagger, \rho(t) \} \right) , +\end{align} +where $j$ is the index for qubit. +$L_j= \sigma^{+}_j=|1\rangle \langle 0|$ for $h_j>0$ and $L_j= \sigma^{-}_j=|0\rangle \langle 1|$ for $h_j<0$. +That is, each qubit is damped toward its local ground state if we ignore all the interactions. + +The initial condition is the Gibbs canonical ensemble +\begin{equation} +\rho (0) = \frac{e^{-\beta H(0)}}{\mbox{Tr}\left(e^{-\beta H(0)}\right)} , +\end{equation} +where $\beta$ is the inverse temperature. +The probability to get the ground state at measurement is +\begin{align} +P = \mbox{Tr} \left( \rho (t) \pi_{\mbox{gnd}} \right) , +\end{align} +where the projection operator onto the degenerated ground states subspace is defined as $\pi_{\mbox{gnd}}=\sum_{i\in G} |\mbox{gnd}_i\rangle \langle \mbox{gnd}_i| $. +Here $\{ | \mbox{gnd}_i \rangle | i \in G \}$ forms an orthonormal basis for the degenerated ground states subspace, i.e., $\langle \mbox{gnd}_j | \mbox{gnd}_i \rangle = \delta_{ij}$. + +For the simulation results presented, we set the temperature to 22.5 milliKelvin. +The coherence time for local decoherence is set to 15$ns$, and 1$ns$ for full-counting statistics. + +%---------------------------------------------------------------------------------------- +\subsubsection{Annealing Schedule and Offsets} +\label{sec:methods:annealing-schedule} +%---------------------------------------------------------------------------------------- +In this section, we discuss the details of the annealing schedule with respect to the dimensionless normalized time $s$. +On D-Wave solvers, annealing offsets effectively advance or delay the annealing schedule of individual qubits (see E.~\eqref{eq:annealH}). +In Fig.~\ref{fig:anneal_schedule}, the default D-Wave annealing schedule is shown in black, in addition to the effects of applying negative offsets (effective time delay) to $A(s)$ and $B(s)$ in blue. +Further documentation is provided by D-Wave in Ref.~\cite{dwave_as, dwave_as_docu}. + +\begin{figure}[htb] + \centering + \includegraphics[width=\columnwidth]{./anneal_schedule.pdf} + \caption{ + Anneal schedules for amplitudes of initial Hamiltonian (dashed) and final Hamiltonian (solid). + Offset 0.0 (black) and -0.05 (purple) are displayed. + Intermediate values lie between and are suppressed for clarity. + } + \label{fig:anneal_schedule} +\end{figure} + +The coefficients $A(s)$ and $B(s)$ follow the underlying control variable $c(s)$, which is designed to grow the persistent current $I_p(s)$ linearly in time. +The effective time delay is implemented by introducing an offset as $c(s) + \delta$. +Because annealing schedules are finite, systematic errors are introduced because the final values of $A(s)$ and $B(s)$ will differ for qubits with different offsets. +Additionally, the values of the coefficients are unknown outside of $s\in [0, 1]$. +We only employ negative offsets such that this unkonwn coefficient range, approximated by a linear extrapolation, only enters at the beginning of the annealing process. + +We verify that our implementation of annealing offsets on the simulator is consistent with D-Wave by solving the following three qubit Hamiltonian +\begin{align} + \label{eq:offset_test_hamiltonian} + H^{\textrm{problem}} = + \begin{pmatrix} + -0.25 & 1 & 0 \\ + 0 & -0.25 & 0 \\ + 0 & 0 & -0.25 + \end{pmatrix} +\end{align} +which has a doubly-degenerate ground state of $(0, 1, 1)$ and $(1, 0, 1)$. An annealing offset is then applied to either qubit 0 or 1, and thus breaks the ground state degeneracy of the system. Because of the systematic error introduced when assigning an offset to a qubit, the final Hamiltonian given by Eq.~(\ref{eq:annealH}) will have small deviations from the input problem Hamiltonian. For example, we expect a negative offset to qubit 0 to Eq.~(\ref{eq:offset_test_hamiltonian}) will yield $(1, 0, 1)$ as the unique ground state given Eq.~(\ref{eq:annealH}). + +We confirm that with different combinations of annealing offsets, the degeneracy is lifted on the D-Wave results as expected by solving for the modified problem Hamiltonian spectrum, as well as dialing in annealing offset in the simulation of this three qubit test case. + + +%---------------------------------------------------------------------------------------- +\subsubsection{Pure Transverse Field Simulation} +\label{sec:methods:simulation_details} +%---------------------------------------------------------------------------------------- +To check the correctness of simulator and unit conversion, we tested a simple annealing schedule for pure transverse field, i.e. $A(s)=A(0)$ and $B(s)=0$. +The initial state is pure zero state $\rho=|00...0\rangle \langle 00...0|$. +In this case the analytical solution can be obtained for the wave function oscillation. +The time-dependent probability is $P_{0}=\cos^{2n}(s)=\cos^{2n}(t/T)$ where $n$ is the number of qubits and $T$ is the annealing time. +For annealing time $T=1/A(0)$, we expect to see perfect one-period oscillation. The energy spectrum for this system can be analytically obtained, so we also checked the Boltzmann distribution in the initial density matrix construction. The oscillation is depicted in Fig.~\ref{figcheck}, where the simulation matches the expected theoretical behavior. + + +\begin{figure} + \centering + \includegraphics[width=\columnwidth]{./vacuum_probability.pdf} + \caption{Time-dependent vacuum probability of 5 qubits system under pure transverse field.} + \label{figcheck} +\end{figure} + + +%======================================================================================== +\section{DATA AVAILABILITY} +\label{sec:open-source} +%======================================================================================== +We provide access to all the software utilized and data presented in this publication in the associated GitHub repository~\cite{github:cchang5/quantum_linear_programming}. +The utilized software is contained in two installable Python modules: +\begin{itemize}[leftmargin=*] + \itemsep0em + \item[] \texttt{qlp} for mapping MDS problems to QUBOs and performing simulations, + \item[] \texttt{qlpdb} for interfacing and documenting simulation and experiment data through EspressoDB~\cite{Chang:2019khk}. +\end{itemize} +The data itself is stored in a SQLite file and associated repository subdirectories. +We provide further documentation in the repository \texttt{readme} file. + + +%======================================================================================== +\section{ACKNOWLEDGEMENTS} +%======================================================================================== + +We thank Long Gang Pang for initial discussions. +We thank David Johnson, Vlad Papish and the rest of D-Wave Support for answering detailed questions about the D-Wave annealer. + +This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Nuclear Physics, Quantum Horizons: QIS Research and Innovation for Nuclear Science under Award Number FWP-NQISCCAWL. +Lawrence Berkeley National Laboratory (LBNL) is operated by The Regents of the University of California (UC) for the U.S. Department of Energy (DOE) under Federal Prime Agreement DE-AC02-05CH11231. +C.K. gratefully acknowledges funding through the Alexander von Humboldt Foundation through a Feodor Lynen Research Fellowship. +This work used resources of the Oak Ridge Leadership Computing Facility, which is a DOE Office of Science User Facility supported under Contract DE-AC05-00OR22725. +This manuscript has been authored by UT-Battelle, LLC under Contract No. DE-AC05-00OR22725 with the U.S. Department of Energy. +The United States Government retains and the publisher, by accepting the article for publication, acknowledges that the United States Government retains a non-exclusive, paid-up, irrevocable, world-wide license to publish or reproduce the published form of this manuscript, or allow others to do so, for United States Government purposes. The Department of Energy will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan. (http://energy.gov/downloads/doe-public-access-plan). + + +%======================================================================================== +\section{AUTHOR CONTRIBUTIONS} +%======================================================================================== + +Initial idea was proposed by Chang. +Ostrowski guided the ILP problem selection. +All authors contributed to the design of test cases. +Calculations and code development for the D-Wave were performed by Chang and K\"orber. +Code for numerical simulations was developed by Chen and K\"orber, and cross-checked by Chang. +Simulations were performed by Chang and Chen. +Chang, Chen, K\"orber, and Humble interpreted the results. +All authors contributed to writing and editing of the final manuscript. + +%======================================================================================== +\section{CORRESPONDING AUTHOR} +%======================================================================================== +Correspondence to chiachang@berkeley.edu. + +%======================================================================================== +\section{ADDITIONAL INFORMATION} +%======================================================================================== + +\textbf{Competing Interests:} The authors declare no competing interests. + +\bibliographystyle{apsrev4-1} +\bibliography{main.bib} +%======================================================================================== +\end{document} diff --git a/paper/v1/mainNotes.bib b/paper/v1/mainNotes.bib new file mode 100644 index 0000000..e69de29 diff --git a/paper/v1/time_dependent_probability.pdf b/paper/v1/time_dependent_probability.pdf new file mode 100644 index 0000000..8aa4eec Binary files /dev/null and b/paper/v1/time_dependent_probability.pdf differ diff --git a/paper/v1/vacuum_probability.pdf b/paper/v1/vacuum_probability.pdf new file mode 100644 index 0000000..d4b1a73 Binary files /dev/null and b/paper/v1/vacuum_probability.pdf differ diff --git a/paper/v2/DWave_scaling.pdf b/paper/v2/DWave_scaling.pdf new file mode 100644 index 0000000..835df25 Binary files /dev/null and b/paper/v2/DWave_scaling.pdf differ diff --git a/paper/v2/MDS_mds0.pdf b/paper/v2/MDS_mds0.pdf new file mode 100644 index 0000000..d87fd99 Binary files /dev/null and b/paper/v2/MDS_mds0.pdf differ diff --git a/paper/v2/MDS_mds1.pdf b/paper/v2/MDS_mds1.pdf new file mode 100644 index 0000000..1cb4e7c Binary files /dev/null and b/paper/v2/MDS_mds1.pdf differ diff --git a/paper/v2/MDS_mds2.pdf b/paper/v2/MDS_mds2.pdf new file mode 100644 index 0000000..4887eda Binary files /dev/null and b/paper/v2/MDS_mds2.pdf differ diff --git a/paper/v2/NN2_offset_scaling.pdf b/paper/v2/NN2_offset_scaling.pdf new file mode 100644 index 0000000..f13f5f5 Binary files /dev/null and b/paper/v2/NN2_offset_scaling.pdf differ diff --git a/paper/v2/NN2_offset_scaling_extended.pdf b/paper/v2/NN2_offset_scaling_extended.pdf new file mode 100644 index 0000000..cab120d Binary files /dev/null and b/paper/v2/NN2_offset_scaling_extended.pdf differ diff --git a/paper/v2/anneal_schedule.pdf b/paper/v2/anneal_schedule.pdf new file mode 100644 index 0000000..c3ba0a3 Binary files /dev/null and b/paper/v2/anneal_schedule.pdf differ diff --git a/paper/v2/anneal_schedule_extended.pdf b/paper/v2/anneal_schedule_extended.pdf new file mode 100644 index 0000000..01fef6f Binary files /dev/null and b/paper/v2/anneal_schedule_extended.pdf differ diff --git a/paper/v2/final_state_distribution.pdf b/paper/v2/final_state_distribution.pdf new file mode 100644 index 0000000..d611e18 Binary files /dev/null and b/paper/v2/final_state_distribution.pdf differ diff --git a/paper/v2/linear_graph.pdf b/paper/v2/linear_graph.pdf new file mode 100644 index 0000000..8e9cd5f Binary files /dev/null and b/paper/v2/linear_graph.pdf differ diff --git a/paper/v2/main.aux b/paper/v2/main.aux new file mode 100644 index 0000000..7b6a9d4 --- /dev/null +++ b/paper/v2/main.aux @@ -0,0 +1,160 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\citation{GLOVER1986533,doi:10.1287/ijoc.1.3.190,doi:10.1287/ijoc.2.1.4} +\citation{2020arXiv200713788H} +\citation{Fomin2009,vanRooij2009} +\newlabel{FirstPage}{{}{1}{}{section*.1}{}} +\@writefile{toc}{\contentsline {title}{Integer Programming with Quantum Annealing from an Open Quantum System}{1}{section*.2}\protected@file@percent } +\@writefile{toc}{\contentsline {abstract}{Abstract}{1}{section*.1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {I}INTRODUCTION}{1}{section*.3}\protected@file@percent } +\newlabel{sec:introduction}{{I}{1}{}{section*.3}{}} +\newlabel{eq:initial-ip-def}{{1.1}{1}{}{equation.1.1}{}} +\newlabel{eq:ilp-constraints}{{1.2}{1}{}{equation.1.2}{}} +\citation{1998PhRvE..58.5355K,2000quant.ph..1106F,RevModPhys.80.1061} +\citation{doi:10.7566/JPSJ.89.044001} +\citation{2018Glover} +\citation{PhysRevA.96.042322,hsu2018quantum,10.1007/978-3-030-14082-3_14,2020RPPh...83e4401H} +\citation{doi:10.1146/annurev-conmatphys-031214-014726,PhysRevE.90.022103,RevModPhys.91.021001,ALET2018498,PhysRevB.82.174411,PhysRevLett.109.017202} +\citation{Chang:2018uoc} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Example of different dominating sets for $G(V, E)$. Vertices in the dominating set $D$ are highlighted in blue. {\textbf {a)}} A dominating set of $G$ with domination number $\overline {\overline {D}} = 2$. {\textbf {b)}} A minimal dominating set of $G$ with domination number of $\overline {\overline {D}} = 2$. {\textbf {c)}} The MDS of $G$ with domination number of $\overline {\overline {D}} = 1$.}}{2}{figure.1}\protected@file@percent } +\newlabel{fig:dominating_sets}{{1}{2}{Example of different dominating sets for $G(V, E)$. Vertices in the dominating set $D$ are highlighted in blue. {\textbf {a)}} A dominating set of $G$ with domination number $\overline {\overline {D}} = 2$. {\textbf {b)}} A minimal dominating set of $G$ with domination number of $\overline {\overline {D}} = 2$. {\textbf {c)}} The MDS of $G$ with domination number of $\overline {\overline {D}} = 1$}{figure.1}{}} +\newlabel{eq:tdhamiltonian}{{1.4}{2}{}{equation.1.4}{}} +\newlabel{eq:ilp:slack}{{1.5}{2}{}{equation.1.5}{}} +\newlabel{eq:HIsing}{{1.7}{2}{}{equation.1.7}{}} +\@writefile{toc}{\contentsline {section}{\numberline {II}RESULTS}{2}{section*.4}\protected@file@percent } +\newlabel{sec:results}{{II}{2}{}{section*.4}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {A}QUBO Formulation of ILP}{3}{section*.5}\protected@file@percent } +\newlabel{sec:results:qa1}{{II\tmspace +\thinmuskip {.1667em}A}{3}{}{section*.5}{}} +\newlabel{eq:int_to_bin}{{2.1}{3}{}{equation.2.1}{}} +\newlabel{eq:bit-vector-mapping}{{2.7}{3}{}{equation.2.7}{}} +\newlabel{eq:ilp-slack-bit-energy}{{2.8}{3}{}{equation.2.8}{}} +\newlabel{eq:matrix_form}{{2.10}{3}{}{equation.2.10}{}} +\newlabel{eq:qubo:components}{{2.11}{3}{}{equation.2.11}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {B}Annealer Results for the Dominating Set}{3}{section*.6}\protected@file@percent } +\newlabel{sec:results:qa}{{II\tmspace +\thinmuskip {.1667em}B}{3}{}{section*.6}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Linear graphs $G(n)$ used in this study. Nodes denote vertices of the graphs and lines are undirected edges.}}{3}{figure.2}\protected@file@percent } +\newlabel{fig:linear}{{2}{3}{Linear graphs $G(n)$ used in this study. Nodes denote vertices of the graphs and lines are undirected edges}{figure.2}{}} +\citation{PhysRevE.90.022103,RevModPhys.81.1665} +\citation{10.5555/1972505,preskill1998lecture} +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Baseline result of D-Wave (black) compared to random guessing (dashed green). The jagged nature of random guessing reflects the degeneracy of the ground state. Negative offsets with a `s' tag (blue) are results from delays of large values of $|h_i|$, while negative offsets with the `w' label (red) delay the schedule of qubits with small values of $h_i$.}}{4}{figure.3}\protected@file@percent } +\newlabel{fig:baseline}{{3}{4}{Baseline result of D-Wave (black) compared to random guessing (dashed green). The jagged nature of random guessing reflects the degeneracy of the ground state. Negative offsets with a `s' tag (blue) are results from delays of large values of $|h_i|$, while negative offsets with the `w' label (red) delay the schedule of qubits with small values of $h_i$}{figure.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {C}Simulation Results}{4}{section*.7}\protected@file@percent } +\newlabel{sec:results:simulation}{{II\tmspace +\thinmuskip {.1667em}C}{4}{}{section*.7}{}} +\newlabel{eq:sim:linblad-eq}{{2.15}{4}{}{equation.2.15}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces The probability of finding the MDS for $G(2)$ from D-Wave (black) and simulation (dashed yellow) at annealing times of 1 $\mu s$.}}{4}{figure.4}\protected@file@percent } +\newlabel{fig:dwave1us}{{4}{4}{The probability of finding the MDS for $G(2)$ from D-Wave (black) and simulation (dashed yellow) at annealing times of 1 $\mu s$}{figure.4}{}} +\citation{2016PhRvA..93e2320K,2017PhRvL.118g0502M} +\citation{dwave_temp} +\citation{2003Sci...299.1869C} +\@writefile{toc}{\contentsline {section}{\numberline {III}Discussion}{5}{section*.8}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {A}Dynamics of Time Evolution}{5}{section*.9}\protected@file@percent } +\newlabel{sec:discussion:time_evolution}{{III\tmspace +\thinmuskip {.1667em}A}{5}{}{section*.9}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Final state distribution from D-Wave (solid bars) and simulation (black outline). The colors label the type of offset The $(0, 1, 0, 0, 0)$ state is the first solution where vertex 1 is in the dominating set. The $(1, 0, 0, 1, 0)$ state is the second solution where vertex 0 is in the dominating set. The first excited state is the $(1, 1, 1, 1, 1)$ state where both vertices are in the dominating set.}}{5}{figure.5}\protected@file@percent } +\newlabel{fig:final_state_distribution}{{5}{5}{Final state distribution from D-Wave (solid bars) and simulation (black outline). The colors label the type of offset The $(0, 1, 0, 0, 0)$ state is the first solution where vertex 1 is in the dominating set. The $(1, 0, 0, 1, 0)$ state is the second solution where vertex 0 is in the dominating set. The first excited state is the $(1, 1, 1, 1, 1)$ state where both vertices are in the dominating set}{figure.5}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Time-dependent probability for resolving the ground state for simulation results presented in Sec.\nobreakspace {}\ref {sec:results:simulation}. Different offsets are labeled in the same way as Fig.\nobreakspace {}\ref {fig:baseline}.}}{5}{figure.6}\protected@file@percent } +\newlabel{fig:td_prob}{{6}{5}{Time-dependent probability for resolving the ground state for simulation results presented in Sec.~\ref {sec:results:simulation}. Different offsets are labeled in the same way as Fig.~\ref {fig:baseline}}{figure.6}{}} +\citation{2015PhRvB..91h1103L} +\citation{Goldenfeld:1992qy} +\@writefile{toc}{\contentsline {subsection}{\numberline {B}Idealized Quantum Annealing}{6}{section*.10}\protected@file@percent } +\newlabel{sec:discussion:idealqa}{{III\tmspace +\thinmuskip {.1667em}B}{6}{}{section*.10}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {C}Final Remarks}{6}{section*.11}\protected@file@percent } +\newlabel{sec:results:final}{{III\tmspace +\thinmuskip {.1667em}C}{6}{}{section*.11}{}} +\@writefile{toc}{\contentsline {section}{\numberline {IV}METHODS}{6}{section*.12}\protected@file@percent } +\newlabel{sec:methods}{{IV}{6}{}{section*.12}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {A}Additional Mappings to QUBO}{6}{section*.13}\protected@file@percent } +\newlabel{sec:methods:ILP-to-QUBO}{{IV\tmspace +\thinmuskip {.1667em}A}{6}{}{section*.13}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {1}Minimum Dominating Set QUBO}{6}{section*.14}\protected@file@percent } +\newlabel{sec:methods:mds-qubo}{{IV\tmspace +\thinmuskip {.1667em}A\tmspace +\thinmuskip {.1667em}1}{6}{}{section*.14}{}} +\citation{dwave_oceans} +\citation{2008arXiv0804.4884C} +\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Extended annealing schedule and simulation result. \textbf {a)} The annealing time is increased by 10\% at both the start and end, and the initial values of $A(s)$ and $B(s)$ at non-zero offset are also not extrapolated in comparison to Fig.\nobreakspace {}\ref {fig:anneal_schedule}. Therefore, the initial and final Hamiltonian are no longer suffer systematic error at non-zero offset. \textbf {b)} The default (dashed yellow) result is one presented in Fig.\nobreakspace {}\ref {fig:dwave1us}. Results from extended schedules are presented shown with solid lines with full-counting statistics and amplitude damping (red), only full-counting-statistics (blue), and only amplitude damping (green). }}{7}{figure.7}\protected@file@percent } +\newlabel{fig:anneal_schedule_ext}{{7}{7}{Extended annealing schedule and simulation result. \textbf {a)} The annealing time is increased by 10\% at both the start and end, and the initial values of $A(s)$ and $B(s)$ at non-zero offset are also not extrapolated in comparison to Fig.~\ref {fig:anneal_schedule}. Therefore, the initial and final Hamiltonian are no longer suffer systematic error at non-zero offset. \textbf {b)} The default (dashed yellow) result is one presented in Fig.~\ref {fig:dwave1us}. Results from extended schedules are presented shown with solid lines with full-counting statistics and amplitude damping (red), only full-counting-statistics (blue), and only amplitude damping (green)}{figure.7}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2}Integer Quadratic Optimization}{7}{section*.15}\protected@file@percent } +\newlabel{sec:methods:ilp:quadratic}{{IV\tmspace +\thinmuskip {.1667em}A\tmspace +\thinmuskip {.1667em}2}{7}{}{section*.15}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {B}ILP on the D-Wave}{7}{section*.16}\protected@file@percent } +\newlabel{sec:methods:ILP-on-D-Wave}{{IV\tmspace +\thinmuskip {.1667em}B}{7}{}{section*.16}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {1}Comment on ILP QUBO Penalty Term}{7}{section*.17}\protected@file@percent } +\newlabel{sec:methods:ilp-qubo-comments}{{IV\tmspace +\thinmuskip {.1667em}B\tmspace +\thinmuskip {.1667em}1}{7}{}{section*.17}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2}Minor Embedding}{7}{section*.18}\protected@file@percent } +\newlabel{sec:methods:minor_embedding}{{IV\tmspace +\thinmuskip {.1667em}B\tmspace +\thinmuskip {.1667em}2}{7}{}{section*.18}{}} +\citation{dwave_as,dwave_as_docu} +\@writefile{toc}{\contentsline {subsection}{\numberline {C}Simulation of a Quantum Annealer}{8}{section*.19}\protected@file@percent } +\newlabel{sec:methods:simulation}{{IV\tmspace +\thinmuskip {.1667em}C}{8}{}{section*.19}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {1}The Lindblad Equation}{8}{section*.20}\protected@file@percent } +\newlabel{sec:methods:lindblad}{{IV\tmspace +\thinmuskip {.1667em}C\tmspace +\thinmuskip {.1667em}1}{8}{}{section*.20}{}} +\newlabel{eq:annealH}{{4.16}{8}{}{equation.4.16}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2}Annealing Schedule and Offsets}{8}{section*.21}\protected@file@percent } +\newlabel{sec:methods:annealing-schedule}{{IV\tmspace +\thinmuskip {.1667em}C\tmspace +\thinmuskip {.1667em}2}{8}{}{section*.21}{}} +\citation{github:cchang5/quantum_linear_programming} +\citation{Chang:2019khk} +\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Anneal schedules for amplitudes of initial Hamiltonian (dashed) and final Hamiltonian (solid). Offset 0.0 (black) and -0.05 (purple) are displayed. Intermediate values lie between and are suppressed for clarity. }}{9}{figure.8}\protected@file@percent } +\newlabel{fig:anneal_schedule}{{8}{9}{Anneal schedules for amplitudes of initial Hamiltonian (dashed) and final Hamiltonian (solid). Offset 0.0 (black) and -0.05 (purple) are displayed. Intermediate values lie between and are suppressed for clarity}{figure.8}{}} +\newlabel{eq:offset_test_hamiltonian}{{4.21}{9}{}{equation.4.21}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3}Pure Transverse Field Simulation}{9}{section*.22}\protected@file@percent } +\newlabel{sec:methods:simulation_details}{{IV\tmspace +\thinmuskip {.1667em}C\tmspace +\thinmuskip {.1667em}3}{9}{}{section*.22}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Time-dependent vacuum probability of 5 qubits system under pure transverse field.}}{9}{figure.9}\protected@file@percent } +\newlabel{figcheck}{{9}{9}{Time-dependent vacuum probability of 5 qubits system under pure transverse field}{figure.9}{}} +\@writefile{toc}{\contentsline {section}{\numberline {V}DATA AVAILABILITY}{9}{section*.23}\protected@file@percent } +\newlabel{sec:open-source}{{V}{9}{}{section*.23}{}} +\@writefile{toc}{\contentsline {section}{\numberline {VI}ACKNOWLEDGEMENTS}{9}{section*.24}\protected@file@percent } +\bibdata{mainNotes,main.bib} +\bibcite{GLOVER1986533}{{1}{1986}{{Glover}}{{}}} +\bibcite{doi:10.1287/ijoc.1.3.190}{{2}{1989}{{Glover}}{{}}} +\bibcite{doi:10.1287/ijoc.2.1.4}{{3}{1990}{{Glover}}{{}}} +\bibcite{2020arXiv200713788H}{{4}{2020{}}{{{Hauke}\ \emph {et~al.}}}{{{Hauke}, {Mattiotti},\ and\ {Faccioli}}}} +\bibcite{Fomin2009}{{5}{2009}{{Fomin\ \emph {et~al.}}}{{Fomin, Grandoni,\ and\ Kratsch}}} +\bibcite{vanRooij2009}{{6}{2009}{{van Rooij\ \emph {et~al.}}}{{van Rooij, Nederlof,\ and\ van Dijk}}} +\bibcite{1998PhRvE..58.5355K}{{7}{1998}{{{Kadowaki}\ and\ {Nishimori}}}{{}}} +\bibcite{2000quant.ph..1106F}{{8}{2000}{{{Farhi}\ \emph {et~al.}}}{{{Farhi}, {Goldstone}, {Gutmann},\ and\ {Sipser}}}} +\bibcite{RevModPhys.80.1061}{{9}{2008}{{Das\ and\ Chakrabarti}}{{}}} +\bibcite{doi:10.7566/JPSJ.89.044001}{{10}{2020}{{Takada\ \emph {et~al.}}}{{Takada, Yamashiro,\ and\ Nishimori}}} +\bibcite{2018Glover}{{11}{2018}{{{Glover}\ \emph {et~al.}}}{{{Glover}, {Kochenberger},\ and\ {Du}}}} +\bibcite{PhysRevA.96.042322}{{12}{2017}{{Lanting\ \emph {et~al.}}}{{Lanting, King, Evert,\ and\ Hoskinson}}} +\bibcite{hsu2018quantum}{{13}{2018}{{Hsu\ \emph {et~al.}}}{{Hsu, Jin, Seidel, Neukart, Raedt,\ and\ Michielsen}}} +\bibcite{10.1007/978-3-030-14082-3_14}{{14}{2019}{{Yarkoni\ \emph {et~al.}}}{{Yarkoni, Wang, Plaat,\ and\ B{\"a}ck}}} +\bibcite{2020RPPh...83e4401H}{{15}{2020{}}{{{Hauke}\ \emph {et~al.}}}{{{Hauke}, {Katzgraber}, {Lechner}, {Nishimori},\ and\ {Oliver}}}} +\bibcite{doi:10.1146/annurev-conmatphys-031214-014726}{{16}{2015}{{Nandkishore\ and\ Huse}}{{}}} +\bibcite{PhysRevE.90.022103}{{17}{2014}{{Silaev\ \emph {et~al.}}}{{Silaev, Heikkil\"a,\ and\ Virtanen}}} +\bibcite{RevModPhys.91.021001}{{18}{2019}{{Abanin\ \emph {et~al.}}}{{Abanin, Altman, Bloch,\ and\ Serbyn}}} +\bibcite{ALET2018498}{{19}{2018}{{Alet\ and\ Laflorencie}}{{}}} +\bibcite{PhysRevB.82.174411}{{20}{2010}{{Pal\ and\ Huse}}{{}}} +\bibcite{PhysRevLett.109.017202}{{21}{2012}{{Bardarson\ \emph {et~al.}}}{{Bardarson, Pollmann,\ and\ Moore}}} +\bibcite{Chang:2018uoc}{{22}{2019}{{Chang\ \emph {et~al.}}}{{Chang, Gambhir, Humble,\ and\ Sota}}} +\bibcite{RevModPhys.81.1665}{{23}{2009}{{Esposito\ \emph {et~al.}}}{{Esposito, Harbola,\ and\ Mukamel}}} +\bibcite{10.5555/1972505}{{24}{2011}{{Nielsen\ and\ Chuang}}{{}}} +\bibcite{preskill1998lecture}{{25}{1998}{{Preskill}}{{}}} +\bibcite{2016PhRvA..93e2320K}{{26}{2016}{{{King}\ \emph {et~al.}}}{{{King}, {Hoskinson}, {Lanting}, {Andriyash},\ and\ {Amin}}}} +\bibcite{2017PhRvL.118g0502M}{{27}{2017}{{{Mandr{\`a}}\ \emph {et~al.}}}{{{Mandr{\`a}}, {Zhu},\ and\ {Katzgraber}}}} +\bibcite{dwave_temp}{{28}{2017}{{Systems}}{{}}} +\bibcite{2003Sci...299.1869C}{{29}{2003}{{{Chiorescu}\ \emph {et~al.}}}{{{Chiorescu}, {Nakamura}, {Harmans},\ and\ {Mooij}}}} +\@writefile{toc}{\contentsline {section}{\numberline {VII}AUTHOR CONTRIBUTIONS}{10}{section*.25}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {VIII}CORRESPONDING AUTHOR}{10}{section*.26}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {IX}ADDITIONAL INFORMATION}{10}{section*.27}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {}References}{10}{section*.28}\protected@file@percent } +\bibcite{2015PhRvB..91h1103L}{{30}{2015}{{{Luitz}\ \emph {et~al.}}}{{{Luitz}, {Laflorencie},\ and\ {Alet}}}} +\bibcite{Goldenfeld:1992qy}{{31}{1992}{{Goldenfeld}}{{}}} +\bibcite{dwave_oceans}{{32}{2020{}}{{Systems}}{{}}} +\bibcite{2008arXiv0804.4884C}{{33}{2008}{{{Choi}}}{{}}} +\bibcite{dwave_as}{{34}{2020{}}{{Systems}}{{}}} +\bibcite{dwave_as_docu}{{35}{2020{}}{{Systems}}{{}}} +\bibcite{github:cchang5/quantum_linear_programming}{{36}{2020{}}{{Chang\ \emph {et~al.}}}{{Chang, Chen,\ and\ K\"o{}rber}}} +\bibcite{Chang:2019khk}{{37}{2020{}}{{Chang\ \emph {et~al.}}}{{Chang, K\"orber,\ and\ Walker-Loud}}} +\bibstyle{apsrev4-1} +\newlabel{LastBibItem}{{37}{11}{}{section*.28}{}} +\newlabel{LastPage}{{}{11}{}{}{}} diff --git a/paper/v2/main.bbl b/paper/v2/main.bbl new file mode 100644 index 0000000..e1e339a --- /dev/null +++ b/paper/v2/main.bbl @@ -0,0 +1,429 @@ +%merlin.mbs apsrev4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked +%Control: key (0) +%Control: author (72) initials jnrlst +%Control: editor formatted (1) identically to author +%Control: production of article title (-1) disabled +%Control: page (0) single +%Control: year (1) truncated +%Control: production of eprint (0) enabled +\begin{thebibliography}{37}% +\makeatletter +\providecommand \@ifxundefined [1]{% + \@ifx{#1\undefined} +}% +\providecommand \@ifnum [1]{% + \ifnum #1\expandafter \@firstoftwo + \else \expandafter \@secondoftwo + \fi +}% +\providecommand \@ifx [1]{% + \ifx #1\expandafter \@firstoftwo + \else \expandafter \@secondoftwo + \fi +}% +\providecommand \natexlab [1]{#1}% +\providecommand \enquote [1]{``#1''}% +\providecommand \bibnamefont [1]{#1}% +\providecommand \bibfnamefont [1]{#1}% +\providecommand \citenamefont [1]{#1}% +\providecommand \href@noop [0]{\@secondoftwo}% +\providecommand \href [0]{\begingroup \@sanitize@url \@href}% +\providecommand \@href[1]{\@@startlink{#1}\@@href}% +\providecommand \@@href[1]{\endgroup#1\@@endlink}% +\providecommand \@sanitize@url [0]{\catcode `\\12\catcode `\$12\catcode + `\&12\catcode `\#12\catcode `\^12\catcode `\_12\catcode `\%12\relax}% +\providecommand \@@startlink[1]{}% +\providecommand \@@endlink[0]{}% +\providecommand \url [0]{\begingroup\@sanitize@url \@url }% +\providecommand \@url [1]{\endgroup\@href {#1}{\urlprefix }}% +\providecommand \urlprefix [0]{URL }% +\providecommand \Eprint [0]{\href }% +\providecommand \doibase [0]{http://dx.doi.org/}% +\providecommand \selectlanguage [0]{\@gobble}% +\providecommand \bibinfo [0]{\@secondoftwo}% +\providecommand \bibfield [0]{\@secondoftwo}% +\providecommand \translation [1]{[#1]}% +\providecommand \BibitemOpen [0]{}% +\providecommand \bibitemStop [0]{}% +\providecommand \bibitemNoStop [0]{.\EOS\space}% +\providecommand \EOS [0]{\spacefactor3000\relax}% +\providecommand \BibitemShut [1]{\csname bibitem#1\endcsname}% +\let\auto@bib@innerbib\@empty +% +\bibitem [{\citenamefont {Glover}(1986)}]{GLOVER1986533}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {Glover}},\ }\href {\doibase https://doi.org/10.1016/0305-0548(86)90048-1} + {\bibfield {journal} {\bibinfo {journal} {Computers \& Operations + Research}\ }\textbf {\bibinfo {volume} {13}},\ \bibinfo {pages} {533 } + (\bibinfo {year} {1986})},\ \bibinfo {note} {applications of Integer + Programming}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Glover}(1989)}]{doi:10.1287/ijoc.1.3.190}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {Glover}},\ }\href {\doibase 10.1287/ijoc.1.3.190} {\bibfield {journal} + {\bibinfo {journal} {ORSA Journal on Computing}\ }\textbf {\bibinfo {volume} + {1}},\ \bibinfo {pages} {190} (\bibinfo {year} {1989})},\ \Eprint + {http://arxiv.org/abs/https://doi.org/10.1287/ijoc.1.3.190} + {https://doi.org/10.1287/ijoc.1.3.190} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Glover}(1990)}]{doi:10.1287/ijoc.2.1.4}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {Glover}},\ }\href {\doibase 10.1287/ijoc.2.1.4} {\bibfield {journal} + {\bibinfo {journal} {ORSA Journal on Computing}\ }\textbf {\bibinfo {volume} + {2}},\ \bibinfo {pages} {4} (\bibinfo {year} {1990})},\ \Eprint + {http://arxiv.org/abs/https://doi.org/10.1287/ijoc.2.1.4} + {https://doi.org/10.1287/ijoc.2.1.4} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Hauke}}\ \emph + {et~al.}(2020{\natexlab{a}})\citenamefont {{Hauke}}, \citenamefont + {{Mattiotti}},\ and\ \citenamefont {{Faccioli}}}]{2020arXiv200713788H}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {P.}~\bibnamefont + {{Hauke}}}, \bibinfo {author} {\bibfnamefont {G.}~\bibnamefont + {{Mattiotti}}}, \ and\ \bibinfo {author} {\bibfnamefont {P.}~\bibnamefont + {{Faccioli}}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} + {arXiv e-prints}\ ,\ \bibinfo {eid} {arXiv:2007.13788}} (\bibinfo {year} + {2020}{\natexlab{a}})},\ \Eprint {http://arxiv.org/abs/2007.13788} + {arXiv:2007.13788 [quant-ph]} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Fomin}\ \emph {et~al.}(2009)\citenamefont {Fomin}, + \citenamefont {Grandoni},\ and\ \citenamefont {Kratsch}}]{Fomin2009}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.~V.}\ \bibnamefont + {Fomin}}, \bibinfo {author} {\bibfnamefont {F.}~\bibnamefont {Grandoni}}, \ + and\ \bibinfo {author} {\bibfnamefont {D.}~\bibnamefont {Kratsch}},\ }\href + {\doibase 10.1145/1552285.1552286} {\bibfield {journal} {\bibinfo {journal} + {Journal of the {ACM}}\ }\textbf {\bibinfo {volume} {56}},\ \bibinfo {pages} + {1} (\bibinfo {year} {2009})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {van Rooij}\ \emph {et~al.}(2009)\citenamefont {van + Rooij}, \citenamefont {Nederlof},\ and\ \citenamefont {van + Dijk}}]{vanRooij2009}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {J.~M.~M.}\ + \bibnamefont {van Rooij}}, \bibinfo {author} {\bibfnamefont {J.}~\bibnamefont + {Nederlof}}, \ and\ \bibinfo {author} {\bibfnamefont {T.~C.}\ \bibnamefont + {van Dijk}},\ }in\ \href {\doibase 10.1007/978-3-642-04128-0_50} {\emph + {\bibinfo {booktitle} {Lecture Notes in Computer Science}}}\ (\bibinfo + {publisher} {Springer Berlin Heidelberg},\ \bibinfo {year} {2009})\ pp.\ + \bibinfo {pages} {554--565}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Kadowaki}}\ and\ \citenamefont + {{Nishimori}}(1998)}]{1998PhRvE..58.5355K}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {T.}~\bibnamefont + {{Kadowaki}}}\ and\ \bibinfo {author} {\bibfnamefont {H.}~\bibnamefont + {{Nishimori}}},\ }\href {\doibase 10.1103/PhysRevE.58.5355} {\bibfield + {journal} {\bibinfo {journal} {Phys. Rev. E}\ }\textbf {\bibinfo {volume} + {58}},\ \bibinfo {pages} {5355} (\bibinfo {year} {1998})},\ \Eprint + {http://arxiv.org/abs/cond-mat/9804280} {cond-mat/9804280} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {{Farhi}}\ \emph {et~al.}(2000)\citenamefont + {{Farhi}}, \citenamefont {{Goldstone}}, \citenamefont {{Gutmann}},\ and\ + \citenamefont {{Sipser}}}]{2000quant.ph..1106F}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {E.}~\bibnamefont + {{Farhi}}}, \bibinfo {author} {\bibfnamefont {J.}~\bibnamefont + {{Goldstone}}}, \bibinfo {author} {\bibfnamefont {S.}~\bibnamefont + {{Gutmann}}}, \ and\ \bibinfo {author} {\bibfnamefont {M.}~\bibnamefont + {{Sipser}}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} + {eprint arXiv:quant-ph/0001106}\ } (\bibinfo {year} {2000})},\ \Eprint + {http://arxiv.org/abs/quant-ph/0001106} {quant-ph/0001106} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Das}\ and\ \citenamefont + {Chakrabarti}(2008)}]{RevModPhys.80.1061}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {A.}~\bibnamefont + {Das}}\ and\ \bibinfo {author} {\bibfnamefont {B.~K.}\ \bibnamefont + {Chakrabarti}},\ }\href {\doibase 10.1103/RevModPhys.80.1061} {\bibfield + {journal} {\bibinfo {journal} {Rev. Mod. Phys.}\ }\textbf {\bibinfo {volume} + {80}},\ \bibinfo {pages} {1061} (\bibinfo {year} {2008})}\BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Takada}\ \emph {et~al.}(2020)\citenamefont {Takada}, + \citenamefont {Yamashiro},\ and\ \citenamefont + {Nishimori}}]{doi:10.7566/JPSJ.89.044001}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {K.}~\bibnamefont + {Takada}}, \bibinfo {author} {\bibfnamefont {Y.}~\bibnamefont {Yamashiro}}, \ + and\ \bibinfo {author} {\bibfnamefont {H.}~\bibnamefont {Nishimori}},\ }\href + {\doibase 10.7566/JPSJ.89.044001} {\bibfield {journal} {\bibinfo {journal} + {Journal of the Physical Society of Japan}\ }\textbf {\bibinfo {volume} + {89}},\ \bibinfo {pages} {044001} (\bibinfo {year} {2020})},\ \Eprint + {http://arxiv.org/abs/https://doi.org/10.7566/JPSJ.89.044001} + {https://doi.org/10.7566/JPSJ.89.044001} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Glover}}\ \emph {et~al.}(2018)\citenamefont + {{Glover}}, \citenamefont {{Kochenberger}},\ and\ \citenamefont + {{Du}}}]{2018Glover}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {{Glover}}}, \bibinfo {author} {\bibfnamefont {G.}~\bibnamefont + {{Kochenberger}}}, \ and\ \bibinfo {author} {\bibfnamefont {Y.}~\bibnamefont + {{Du}}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} {arXiv + e-prints}\ ,\ \bibinfo {eid} {arXiv:1811.11538}} (\bibinfo {year} {2018})},\ + \Eprint {http://arxiv.org/abs/1811.11538} {arXiv:1811.11538 [cs.DS]} + \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Lanting}\ \emph {et~al.}(2017)\citenamefont + {Lanting}, \citenamefont {King}, \citenamefont {Evert},\ and\ \citenamefont + {Hoskinson}}]{PhysRevA.96.042322}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {T.}~\bibnamefont + {Lanting}}, \bibinfo {author} {\bibfnamefont {A.~D.}\ \bibnamefont {King}}, + \bibinfo {author} {\bibfnamefont {B.}~\bibnamefont {Evert}}, \ and\ \bibinfo + {author} {\bibfnamefont {E.}~\bibnamefont {Hoskinson}},\ }\href {\doibase + 10.1103/PhysRevA.96.042322} {\bibfield {journal} {\bibinfo {journal} {Phys. + Rev. A}\ }\textbf {\bibinfo {volume} {96}},\ \bibinfo {pages} {042322} + (\bibinfo {year} {2017})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Hsu}\ \emph {et~al.}(2018)\citenamefont {Hsu}, + \citenamefont {Jin}, \citenamefont {Seidel}, \citenamefont {Neukart}, + \citenamefont {Raedt},\ and\ \citenamefont {Michielsen}}]{hsu2018quantum}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {T.-J.}\ \bibnamefont + {Hsu}}, \bibinfo {author} {\bibfnamefont {F.}~\bibnamefont {Jin}}, \bibinfo + {author} {\bibfnamefont {C.}~\bibnamefont {Seidel}}, \bibinfo {author} + {\bibfnamefont {F.}~\bibnamefont {Neukart}}, \bibinfo {author} {\bibfnamefont + {H.~D.}\ \bibnamefont {Raedt}}, \ and\ \bibinfo {author} {\bibfnamefont + {K.}~\bibnamefont {Michielsen}},\ }\href@noop {} {\enquote {\bibinfo {title} + {Quantum annealing with anneal path control: application to 2-sat problems + with known energy landscapes},}\ } (\bibinfo {year} {2018}),\ \Eprint + {http://arxiv.org/abs/1810.00194} {arXiv:1810.00194 [quant-ph]} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Yarkoni}\ \emph {et~al.}(2019)\citenamefont + {Yarkoni}, \citenamefont {Wang}, \citenamefont {Plaat},\ and\ \citenamefont + {B{\"a}ck}}]{10.1007/978-3-030-14082-3_14}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {S.}~\bibnamefont + {Yarkoni}}, \bibinfo {author} {\bibfnamefont {H.}~\bibnamefont {Wang}}, + \bibinfo {author} {\bibfnamefont {A.}~\bibnamefont {Plaat}}, \ and\ \bibinfo + {author} {\bibfnamefont {T.}~\bibnamefont {B{\"a}ck}},\ }in\ \href@noop {} + {\emph {\bibinfo {booktitle} {Quantum Technology and Optimization + Problems}}},\ \bibinfo {editor} {edited by\ \bibinfo {editor} {\bibfnamefont + {S.}~\bibnamefont {Feld}}\ and\ \bibinfo {editor} {\bibfnamefont + {C.}~\bibnamefont {Linnhoff-Popien}}}\ (\bibinfo {publisher} {Springer + International Publishing},\ \bibinfo {address} {Cham},\ \bibinfo {year} + {2019})\ pp.\ \bibinfo {pages} {157--168}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Hauke}}\ \emph + {et~al.}(2020{\natexlab{b}})\citenamefont {{Hauke}}, \citenamefont + {{Katzgraber}}, \citenamefont {{Lechner}}, \citenamefont {{Nishimori}},\ and\ + \citenamefont {{Oliver}}}]{2020RPPh...83e4401H}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {P.}~\bibnamefont + {{Hauke}}}, \bibinfo {author} {\bibfnamefont {H.~G.}\ \bibnamefont + {{Katzgraber}}}, \bibinfo {author} {\bibfnamefont {W.}~\bibnamefont + {{Lechner}}}, \bibinfo {author} {\bibfnamefont {H.}~\bibnamefont + {{Nishimori}}}, \ and\ \bibinfo {author} {\bibfnamefont {W.~D.}\ \bibnamefont + {{Oliver}}},\ }\href {\doibase 10.1088/1361-6633/ab85b8} {\bibfield + {journal} {\bibinfo {journal} {Reports on Progress in Physics}\ }\textbf + {\bibinfo {volume} {83}},\ \bibinfo {eid} {054401} (\bibinfo {year} + {2020}{\natexlab{b}})},\ \Eprint {http://arxiv.org/abs/1903.06559} + {arXiv:1903.06559 [quant-ph]} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Nandkishore}\ and\ \citenamefont + {Huse}(2015)}]{doi:10.1146/annurev-conmatphys-031214-014726}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {R.}~\bibnamefont + {Nandkishore}}\ and\ \bibinfo {author} {\bibfnamefont {D.~A.}\ \bibnamefont + {Huse}},\ }\href {\doibase 10.1146/annurev-conmatphys-031214-014726} + {\bibfield {journal} {\bibinfo {journal} {Annual Review of Condensed Matter + Physics}\ }\textbf {\bibinfo {volume} {6}},\ \bibinfo {pages} {15} (\bibinfo + {year} {2015})},\ \Eprint + {http://arxiv.org/abs/https://doi.org/10.1146/annurev-conmatphys-031214-014726} + {https://doi.org/10.1146/annurev-conmatphys-031214-014726} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Silaev}\ \emph {et~al.}(2014)\citenamefont {Silaev}, + \citenamefont {Heikkil\"a},\ and\ \citenamefont + {Virtanen}}]{PhysRevE.90.022103}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {M.}~\bibnamefont + {Silaev}}, \bibinfo {author} {\bibfnamefont {T.~T.}\ \bibnamefont + {Heikkil\"a}}, \ and\ \bibinfo {author} {\bibfnamefont {P.}~\bibnamefont + {Virtanen}},\ }\href {\doibase 10.1103/PhysRevE.90.022103} {\bibfield + {journal} {\bibinfo {journal} {Phys. Rev. E}\ }\textbf {\bibinfo {volume} + {90}},\ \bibinfo {pages} {022103} (\bibinfo {year} {2014})}\BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Abanin}\ \emph {et~al.}(2019)\citenamefont {Abanin}, + \citenamefont {Altman}, \citenamefont {Bloch},\ and\ \citenamefont + {Serbyn}}]{RevModPhys.91.021001}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.~A.}\ \bibnamefont + {Abanin}}, \bibinfo {author} {\bibfnamefont {E.}~\bibnamefont {Altman}}, + \bibinfo {author} {\bibfnamefont {I.}~\bibnamefont {Bloch}}, \ and\ \bibinfo + {author} {\bibfnamefont {M.}~\bibnamefont {Serbyn}},\ }\href {\doibase + 10.1103/RevModPhys.91.021001} {\bibfield {journal} {\bibinfo {journal} + {Rev. Mod. Phys.}\ }\textbf {\bibinfo {volume} {91}},\ \bibinfo {pages} + {021001} (\bibinfo {year} {2019})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Alet}\ and\ \citenamefont + {Laflorencie}(2018)}]{ALET2018498}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {Alet}}\ and\ \bibinfo {author} {\bibfnamefont {N.}~\bibnamefont + {Laflorencie}},\ }\href {\doibase https://doi.org/10.1016/j.crhy.2018.03.003} + {\bibfield {journal} {\bibinfo {journal} {Comptes Rendus Physique}\ + }\textbf {\bibinfo {volume} {19}},\ \bibinfo {pages} {498 } (\bibinfo {year} + {2018})},\ \bibinfo {note} {quantum simulation / Simulation + quantique}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Pal}\ and\ \citenamefont + {Huse}(2010)}]{PhysRevB.82.174411}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {A.}~\bibnamefont + {Pal}}\ and\ \bibinfo {author} {\bibfnamefont {D.~A.}\ \bibnamefont {Huse}},\ + }\href {\doibase 10.1103/PhysRevB.82.174411} {\bibfield {journal} {\bibinfo + {journal} {Phys. Rev. B}\ }\textbf {\bibinfo {volume} {82}},\ \bibinfo + {pages} {174411} (\bibinfo {year} {2010})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Bardarson}\ \emph {et~al.}(2012)\citenamefont + {Bardarson}, \citenamefont {Pollmann},\ and\ \citenamefont + {Moore}}]{PhysRevLett.109.017202}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {J.~H.}\ \bibnamefont + {Bardarson}}, \bibinfo {author} {\bibfnamefont {F.}~\bibnamefont {Pollmann}}, + \ and\ \bibinfo {author} {\bibfnamefont {J.~E.}\ \bibnamefont {Moore}},\ + }\href {\doibase 10.1103/PhysRevLett.109.017202} {\bibfield {journal} + {\bibinfo {journal} {Phys. Rev. Lett.}\ }\textbf {\bibinfo {volume} {109}},\ + \bibinfo {pages} {017202} (\bibinfo {year} {2012})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Chang}\ \emph {et~al.}(2019)\citenamefont {Chang}, + \citenamefont {Gambhir}, \citenamefont {Humble},\ and\ \citenamefont + {Sota}}]{Chang:2018uoc}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {C.~C.}\ \bibnamefont + {Chang}}, \bibinfo {author} {\bibfnamefont {A.}~\bibnamefont {Gambhir}}, + \bibinfo {author} {\bibfnamefont {T.~S.}\ \bibnamefont {Humble}}, \ and\ + \bibinfo {author} {\bibfnamefont {S.}~\bibnamefont {Sota}},\ }\href {\doibase + 10.1038/s41598-019-46729-0} {\bibfield {journal} {\bibinfo {journal} {Sci. + Rep.}\ }\textbf {\bibinfo {volume} {9}},\ \bibinfo {pages} {10258} (\bibinfo + {year} {2019})},\ \Eprint {http://arxiv.org/abs/1812.06917} {arXiv:1812.06917 + [quant-ph]} \BibitemShut {NoStop}% +%%CITATION = ARXIV:1812.06917;%% +\bibitem [{\citenamefont {Esposito}\ \emph {et~al.}(2009)\citenamefont + {Esposito}, \citenamefont {Harbola},\ and\ \citenamefont + {Mukamel}}]{RevModPhys.81.1665}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {M.}~\bibnamefont + {Esposito}}, \bibinfo {author} {\bibfnamefont {U.}~\bibnamefont {Harbola}}, \ + and\ \bibinfo {author} {\bibfnamefont {S.}~\bibnamefont {Mukamel}},\ }\href + {\doibase 10.1103/RevModPhys.81.1665} {\bibfield {journal} {\bibinfo + {journal} {Rev. Mod. Phys.}\ }\textbf {\bibinfo {volume} {81}},\ \bibinfo + {pages} {1665} (\bibinfo {year} {2009})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Nielsen}\ and\ \citenamefont + {Chuang}(2011)}]{10.5555/1972505}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {M.~A.}\ \bibnamefont + {Nielsen}}\ and\ \bibinfo {author} {\bibfnamefont {I.~L.}\ \bibnamefont + {Chuang}},\ }\href@noop {} {\emph {\bibinfo {title} {Quantum Computation and + Quantum Information: 10th Anniversary Edition}}},\ \bibinfo {edition} {10th}\ + ed.\ (\bibinfo {publisher} {Cambridge University Press},\ \bibinfo {address} + {USA},\ \bibinfo {year} {2011})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Preskill}(1998)}]{preskill1998lecture}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {J.}~\bibnamefont + {Preskill}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} + {California Institute of Technology}\ }\textbf {\bibinfo {volume} {16}} + (\bibinfo {year} {1998})}\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{King}}\ \emph {et~al.}(2016)\citenamefont {{King}}, + \citenamefont {{Hoskinson}}, \citenamefont {{Lanting}}, \citenamefont + {{Andriyash}},\ and\ \citenamefont {{Amin}}}]{2016PhRvA..93e2320K}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {A.~D.}\ \bibnamefont + {{King}}}, \bibinfo {author} {\bibfnamefont {E.}~\bibnamefont {{Hoskinson}}}, + \bibinfo {author} {\bibfnamefont {T.}~\bibnamefont {{Lanting}}}, \bibinfo + {author} {\bibfnamefont {E.}~\bibnamefont {{Andriyash}}}, \ and\ \bibinfo + {author} {\bibfnamefont {M.~H.}\ \bibnamefont {{Amin}}},\ }\href {\doibase + 10.1103/PhysRevA.93.052320} {\bibfield {journal} {\bibinfo {journal} + {\pra}\ }\textbf {\bibinfo {volume} {93}},\ \bibinfo {eid} {052320} (\bibinfo + {year} {2016})},\ \Eprint {http://arxiv.org/abs/1512.07325} {arXiv:1512.07325 + [quant-ph]} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Mandr{\`a}}}\ \emph {et~al.}(2017)\citenamefont + {{Mandr{\`a}}}, \citenamefont {{Zhu}},\ and\ \citenamefont + {{Katzgraber}}}]{2017PhRvL.118g0502M}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {S.}~\bibnamefont + {{Mandr{\`a}}}}, \bibinfo {author} {\bibfnamefont {Z.}~\bibnamefont {{Zhu}}}, + \ and\ \bibinfo {author} {\bibfnamefont {H.~G.}\ \bibnamefont + {{Katzgraber}}},\ }\href {\doibase 10.1103/PhysRevLett.118.070502} {\bibfield + {journal} {\bibinfo {journal} {\prl}\ }\textbf {\bibinfo {volume} {118}},\ + \bibinfo {eid} {070502} (\bibinfo {year} {2017})},\ \Eprint + {http://arxiv.org/abs/1606.07146} {arXiv:1606.07146 [quant-ph]} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Systems}(2017)}]{dwave_temp}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.-W.}\ \bibnamefont + {Systems}},\ }\href + {https://www.dwavesys.com/sites/default/files/D-Wave%202000Q%20Tech%20Collateral_0117F_0.pdf} + {\enquote {\bibinfo {title} {The d-wave 2000q quantum computer technology + overview},}\ } (\bibinfo {year} {2017})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Chiorescu}}\ \emph {et~al.}(2003)\citenamefont + {{Chiorescu}}, \citenamefont {{Nakamura}}, \citenamefont {{Harmans}},\ and\ + \citenamefont {{Mooij}}}]{2003Sci...299.1869C}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {I.}~\bibnamefont + {{Chiorescu}}}, \bibinfo {author} {\bibfnamefont {Y.}~\bibnamefont + {{Nakamura}}}, \bibinfo {author} {\bibfnamefont {C.~J.~P.~M.}\ \bibnamefont + {{Harmans}}}, \ and\ \bibinfo {author} {\bibfnamefont {J.~E.}\ \bibnamefont + {{Mooij}}},\ }\href {\doibase 10.1126/science.1081045} {\bibfield {journal} + {\bibinfo {journal} {Science}\ }\textbf {\bibinfo {volume} {299}},\ \bibinfo + {pages} {1869} (\bibinfo {year} {2003})},\ \Eprint + {http://arxiv.org/abs/cond-mat/0305461} {arXiv:cond-mat/0305461 + [cond-mat.mes-hall]} \BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Luitz}}\ \emph {et~al.}(2015)\citenamefont + {{Luitz}}, \citenamefont {{Laflorencie}},\ and\ \citenamefont + {{Alet}}}]{2015PhRvB..91h1103L}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.~J.}\ \bibnamefont + {{Luitz}}}, \bibinfo {author} {\bibfnamefont {N.}~\bibnamefont + {{Laflorencie}}}, \ and\ \bibinfo {author} {\bibfnamefont {F.}~\bibnamefont + {{Alet}}},\ }\href {\doibase 10.1103/PhysRevB.91.081103} {\bibfield + {journal} {\bibinfo {journal} {\prb}\ }\textbf {\bibinfo {volume} {91}},\ + \bibinfo {eid} {081103} (\bibinfo {year} {2015})},\ \Eprint + {http://arxiv.org/abs/1411.0660} {arXiv:1411.0660 [cond-mat.dis-nn]} + \BibitemShut {NoStop}% +\bibitem [{\citenamefont {Goldenfeld}(1992)}]{Goldenfeld:1992qy}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {N.}~\bibnamefont + {Goldenfeld}},\ }\href@noop {} {\emph {\bibinfo {title} {{Lectures on phase + transitions and the renormalization group}}}}\ (\bibinfo {year} + {1992})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Systems}(2020{\natexlab{a}})}]{dwave_oceans}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.-W.}\ \bibnamefont + {Systems}},\ }\href {https://github.com/dwavesystems/dwave-ocean-sdk} + {\enquote {\bibinfo {title} {D-wave cloud client},}\ } (\bibinfo {year} + {2020}{\natexlab{a}})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {{Choi}}(2008)}]{2008arXiv0804.4884C}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {V.}~\bibnamefont + {{Choi}}},\ }\href@noop {} {\bibfield {journal} {\bibinfo {journal} {ArXiv + e-prints}\ } (\bibinfo {year} {2008})},\ \Eprint + {http://arxiv.org/abs/0804.4884} {arXiv:0804.4884 [quant-ph]} \BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Systems}(2020{\natexlab{b}})}]{dwave_as}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.-W.}\ \bibnamefont + {Systems}},\ }\href + {https://support.dwavesys.com/hc/en-us/articles/360005267253-QPU-Specific-Anneal-Schedules} + {\enquote {\bibinfo {title} {Qpu-specific anneal schedules},}\ } (\bibinfo + {year} {2020}{\natexlab{b}})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Systems}(2020{\natexlab{c}})}]{dwave_as_docu}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {D.-W.}\ \bibnamefont + {Systems}},\ }\href {https://docs.dwavesys.com/docs/latest/doc_qpu.html} + {\enquote {\bibinfo {title} {Technical description of the d-wave quantum + processing unit},}\ } (\bibinfo {year} {2020}{\natexlab{c}})\BibitemShut + {NoStop}% +\bibitem [{\citenamefont {Chang}\ \emph + {et~al.}(2020{\natexlab{a}})\citenamefont {Chang}, \citenamefont {Chen},\ + and\ \citenamefont {K\"o{}rber}}]{github:cchang5/quantum_linear_programming}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {C.~C.}\ \bibnamefont + {Chang}}, \bibinfo {author} {\bibfnamefont {C.-C.}\ \bibnamefont {Chen}}, \ + and\ \bibinfo {author} {\bibfnamefont {C.}~\bibnamefont {K\"o{}rber}},\ + }\href@noop {} {\enquote {\bibinfo {title} {Quantum linear programming},}\ + }\bibinfo {howpublished} + {\url{https://github.com/cchang5/quantum_linear_programming} \texttt{tag: + arXiv}} (\bibinfo {year} {2020}{\natexlab{a}})\BibitemShut {NoStop}% +\bibitem [{\citenamefont {Chang}\ \emph + {et~al.}(2020{\natexlab{b}})\citenamefont {Chang}, \citenamefont {K\"orber},\ + and\ \citenamefont {Walker-Loud}}]{Chang:2019khk}% + \BibitemOpen + \bibfield {author} {\bibinfo {author} {\bibfnamefont {C.~C.}\ \bibnamefont + {Chang}}, \bibinfo {author} {\bibfnamefont {C.}~\bibnamefont {K\"orber}}, \ + and\ \bibinfo {author} {\bibfnamefont {A.}~\bibnamefont {Walker-Loud}},\ + }\href {\doibase 10.21105/joss.02007} {\bibfield {journal} {\bibinfo + {journal} {J. Open Source Softw.}\ }\textbf {\bibinfo {volume} {5}},\ + \bibinfo {pages} {2007} (\bibinfo {year} {2020}{\natexlab{b}})},\ \Eprint + {http://arxiv.org/abs/1912.03580} {arXiv:1912.03580 [hep-lat]} \BibitemShut + {NoStop}% +\end{thebibliography}% diff --git a/paper/v2/main.blg b/paper/v2/main.blg new file mode 100644 index 0000000..c7fa66a --- /dev/null +++ b/paper/v2/main.blg @@ -0,0 +1,69 @@ +This is BibTeX, Version 0.99d (TeX Live 2020) +Capacity: max_strings=200000, hash_size=200000, hash_prime=170003 +The top-level auxiliary file: main.aux +The style file: apsrev4-1.bst +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated singl_function (elt_size=4) to 100 items from 50. +Reallocated wiz_functions (elt_size=4) to 6000 items from 3000. +Database file #1: mainNotes.bib +Database file #2: main.bib +Warning--string name "august" is undefined +--line 191 of file main.bib +Warning--string name "august" is undefined +--line 198 of file main.bib +Reallocated singl_function (elt_size=4) to 100 items from 50. +merlin.mbs apsrev4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked +Control: key (0) +Control: author (72) initials jnrlst +Control: editor formatted (1) identically to author +Control: production of article title (-1) disabled +Control: page (0) single +Control: year (1) truncated +Control: production of eprint (0) enabled +Warning--missing publisher in Goldenfeld:1992qy +You've used 37 entries, + 5847 wiz_defined-function locations, + 1896 strings with 22911 characters, +and the built_in function-call counts, 34959 in all, are: += -- 2317 +> -- 852 +< -- 211 ++ -- 282 +- -- 198 +* -- 5530 +:= -- 3505 +add.period$ -- 43 +call.type$ -- 37 +change.case$ -- 158 +chr.to.int$ -- 45 +cite$ -- 38 +duplicate$ -- 3309 +empty$ -- 2599 +format.name$ -- 502 +if$ -- 6837 +int.to.chr$ -- 5 +int.to.str$ -- 45 +missing$ -- 396 +newline$ -- 164 +num.names$ -- 112 +pop$ -- 1349 +preamble$ -- 1 +purify$ -- 185 +quote$ -- 0 +skip$ -- 1239 +stack$ -- 0 +substring$ -- 813 +swap$ -- 3114 +text.length$ -- 102 +text.prefix$ -- 0 +top$ -- 8 +type$ -- 505 +warning$ -- 1 +while$ -- 100 +width$ -- 0 +write$ -- 357 +(There were 3 warnings) diff --git a/paper/v2/main.log b/paper/v2/main.log new file mode 100644 index 0000000..9c8a636 --- /dev/null +++ b/paper/v2/main.log @@ -0,0 +1,906 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2020.4.7) 20 JAN 2021 11:31 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**main.tex +(./main.tex +LaTeX2e <2020-02-02> patch level 5 +L3 programming layer <2020-03-06> +(/usr/local/texlive/2020/texmf-dist/tex/latex/revtex/revtex4-1.cls +Document Class: revtex4-1 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revt +ex4/ for documentation) + Copyright (c) 2009 The American Physical Society. + mailto:revtex@aps.org + Licensed under the LPPL: +http://www.ctan.org/tex-archive/macros/latex/base/lppl.txt + Arthur Ogawa + Based on work by David Carlisle . +ltxutil[2010/07/25/20:33:00 4.1r utilities package (portions licensed from W. E +. Baxter web at superscript.com)] +LaTeX Info: Redefining \@centercr on input line 308. +Class revtex4-1 Info: Repairing broken LaTeX eqnarray on input line 358. +\eqncolsep=\skip47 +Class revtex4-1 Info: Repairing hyperref-unfriendly LaTeX definition of \mpfoot +note on input line 433. +Class revtex4-1 Info: Repairing broken LateX \@sect on input line 755. +\intertabularlinepenalty=\count167 +\@tbpen=\count168 +\@arstrutbox@hline=\box45 +Class revtex4-1 Info: Repairing broken LaTeX \@xbitor on input line 1786. +Class revtex4-1 Info: Making \typeout \long on input line 2046. +ltxfront[2010/07/25/20:33:00 4.1r frontmatter package (AO,DPC)] +\c@affil=\count169 +\c@collab=\count170 +\absbox=\box46 +ltxgrid[2010/07/25/20:33:00 4.1r page grid package (portions licensed from W. E +. Baxter web at superscript.com)] +\c@linecount=\count171 +\output@latex=\toks15 +\box@size@1=\box47 +\box@size@2=\box48 +\@protection@box=\box49 +\@topmark@saved=\toks16 +\footins@saved=\box50 +\footins@recovered=\box51 +\column@recovered=\box52 +\pagesofar=\box53 +\footsofar=\box54 +\pagegrid@col=\count172 + +Class revtex4-1 Warning: Failed to recognize \@vspace, \@vspacer, \@no@pgbk, \@ +newline, and \\; no patches applied. Please get a more up-to-date class, . + +\c@part=\count173 +\c@section=\count174 +\c@subsection=\count175 +\c@subsubsection=\count176 +\c@paragraph=\count177 +\c@subparagraph=\count178 +\abovecaptionskip=\skip48 +\belowcaptionskip=\skip49 +\c@figure=\count179 +\fbox@1=\box55 +\c@table=\count180 +\fbox@2=\box56 +\c@video=\count181 +\fbox@4=\box57 +\@bibdataout=\write3 +\widetext@top=\box58 +\widetext@bot=\box59 +Class revtex4-1 Info: Selecting society aps on input line 7542. +(/usr/local/texlive/2020/texmf-dist/tex/latex/revtex/aps4-1.rtx +File: aps4-1 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for docu +mentation) +Class revtex4-1 Info: RevTeX society APS selected on input line 31. +) +Class revtex4-1 Info: Selecting journal prd on input line 7544. +Class revtex4-1 Info: APS journal PRD selected on input line 7545. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/revtex/aps10pt4-1.rtx +File: aps10pt4-1 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for +documentation) +Class revtex4-1 Info: RevTeX pointsize 10pt selected on input line 30. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/textcase/textcase.sty +Package: textcase 2019/09/14 v1.00 Text only upper/lower case changing (DPC) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip16 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/natbib/natbib.sty +Package: natbib 2010/09/13 8.31b (PWD, AO) +\bibhang=\skip50 +\bibsep=\skip51 +LaTeX Info: Redefining \cite on input line 694. +\c@NAT@ctr=\count182 +) +Class revtex4-1 Info: Repairing natbib's \BibitemShut on input line 7549. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/revtex/revsymb4-1.sty +Package: revsymb4-1 2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ f +or documentation) +LaTeX Info: Redefining \REV@mathfrak on input line 119. +)) +(/usr/local/texlive/2020/texmf-dist/tex/latex/cjk/texinput/CJK.sty +Package: CJK 2015/04/18 4.8.4 + +(/usr/local/texlive/2020/texmf-dist/tex/latex/cjk/texinput/mule/MULEenc.sty +Package: MULEenc 2015/04/18 4.8.4 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/cjk/texinput/CJK.enc +File: CJK.enc 2015/04/18 4.8.4 +Now handling font encoding C00 ... +... no UTF-8 mapping file for font encoding C00 +Now handling font encoding C05 ... +... no UTF-8 mapping file for font encoding C05 +Now handling font encoding C09 ... +... no UTF-8 mapping file for font encoding C09 +Now handling font encoding C10 ... +... no UTF-8 mapping file for font encoding C10 +Now handling font encoding C20 ... +... no UTF-8 mapping file for font encoding C20 +Now handling font encoding C19 ... +... no UTF-8 mapping file for font encoding C19 +Now handling font encoding C40 ... +... no UTF-8 mapping file for font encoding C40 +Now handling font encoding C42 ... +... no UTF-8 mapping file for font encoding C42 +Now handling font encoding C43 ... +... no UTF-8 mapping file for font encoding C43 +Now handling font encoding C50 ... +... no UTF-8 mapping file for font encoding C50 +Now handling font encoding C52 ... +... no UTF-8 mapping file for font encoding C52 +Now handling font encoding C49 ... +... no UTF-8 mapping file for font encoding C49 +Now handling font encoding C60 ... +... no UTF-8 mapping file for font encoding C60 +Now handling font encoding C61 ... +... no UTF-8 mapping file for font encoding C61 +Now handling font encoding C63 ... +... no UTF-8 mapping file for font encoding C63 +Now handling font encoding C64 ... +... no UTF-8 mapping file for font encoding C64 +Now handling font encoding C65 ... +... no UTF-8 mapping file for font encoding C65 +Now handling font encoding C70 ... +... no UTF-8 mapping file for font encoding C70 +Now handling font encoding C31 ... +... no UTF-8 mapping file for font encoding C31 +Now handling font encoding C32 ... +... no UTF-8 mapping file for font encoding C32 +Now handling font encoding C33 ... +... no UTF-8 mapping file for font encoding C33 +Now handling font encoding C34 ... +... no UTF-8 mapping file for font encoding C34 +Now handling font encoding C35 ... +... no UTF-8 mapping file for font encoding C35 +Now handling font encoding C36 ... +... no UTF-8 mapping file for font encoding C36 +Now handling font encoding C37 ... +... no UTF-8 mapping file for font encoding C37 +Now handling font encoding C80 ... +... no UTF-8 mapping file for font encoding C80 +Now handling font encoding C81 ... +... no UTF-8 mapping file for font encoding C81 +Now handling font encoding C01 ... +... no UTF-8 mapping file for font encoding C01 +Now handling font encoding C11 ... +... no UTF-8 mapping file for font encoding C11 +Now handling font encoding C21 ... +... no UTF-8 mapping file for font encoding C21 +Now handling font encoding C41 ... +... no UTF-8 mapping file for font encoding C41 +Now handling font encoding C62 ... +... no UTF-8 mapping file for font encoding C62 +) +LaTeX Info: Redefining \selectfont on input line 755. +\CJK@indent=\box60 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/08/11 v1.3c Input encoding file +\inpenc@prehook=\toks17 +\inpenc@posthook=\toks18 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2020/02/11 v2.0o Standard LaTeX package +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2020/01/20 v2.17e AMS math features +\@mathmargin=\skip52 + +For additional information on amsmath, use the `?' option. +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks19 +\ex@=\dimen134 +) +LaTeX Info: Redefining \text on input line 28. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen135 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count183 +LaTeX Info: Redefining \frac on input line 227. +\uproot@=\count184 +\leftroot@=\count185 +LaTeX Info: Redefining \overline on input line 389. +\classnum@=\count186 +\DOTSCASE@=\count187 +LaTeX Info: Redefining \ldots on input line 486. +LaTeX Info: Redefining \dots on input line 489. +LaTeX Info: Redefining \cdots on input line 610. +\Mathstrutbox@=\box61 +\strutbox@=\box62 +\big@size=\dimen136 +LaTeX Font Info: Redeclaring font encoding OML on input line 733. +LaTeX Font Info: Redeclaring font encoding OMS on input line 734. +\macc@depth=\count188 +\c@MaxMatrixCols=\count189 +\dotsspace@=\muskip17 +\c@parentequation=\count190 +\dspbrk@lvl=\count191 +\tag@help=\toks20 +\row@=\count192 +\column@=\count193 +\maxfields@=\count194 +\andhelp@=\toks21 +\eqnshift@=\dimen137 +\alignsep@=\dimen138 +\tagshift@=\dimen139 +\tagwidth@=\dimen140 +\totwidth@=\dimen141 +\lineht@=\dimen142 +\@envbody=\toks22 +\multlinegap=\skip53 +\multlinetaggap=\skip54 +\mathdisplay@stack=\toks23 +LaTeX Info: Redefining \[ on input line 2859. +LaTeX Info: Redefining \] on input line 2860. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/mathtools/mathtools.sty +Package: mathtools 2020/03/24 v1.24 mathematical typesetting tools + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks24 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count195 +\calc@Bcount=\count196 +\calc@Adimen=\dimen143 +\calc@Bdimen=\dimen144 +\calc@Askip=\skip55 +\calc@Bskip=\skip56 +LaTeX Info: Redefining \setlength on input line 80. +LaTeX Info: Redefining \addtolength on input line 81. +\calc@Ccount=\count197 +\calc@Cskip=\skip57 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/mathtools/mhsetup.sty +Package: mhsetup 2017/03/31 v1.3 programming setup (MH) +) +LaTeX Info: Thecontrolsequence`\('isalreadyrobust on input line 130. +LaTeX Info: Thecontrolsequence`\)'isalreadyrobust on input line 130. +LaTeX Info: Thecontrolsequence`\['isalreadyrobust on input line 130. +LaTeX Info: Thecontrolsequence`\]'isalreadyrobust on input line 130. +\g_MT_multlinerow_int=\count198 +\l_MT_multwidth_dim=\dimen145 +\origjot=\skip58 +\l_MT_shortvdotswithinadjustabove_dim=\dimen146 +\l_MT_shortvdotswithinadjustbelow_dim=\dimen147 +\l_MT_above_intertext_sep=\dimen148 +\l_MT_below_intertext_sep=\dimen149 +\l_MT_above_shortintertext_sep=\dimen150 +\l_MT_below_shortintertext_sep=\dimen151 +\xmathstrut@box=\box63 +\xmathstrut@dim=\dimen152 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +LaTeX Info: Redefining \frak on input line 111. +LaTeX Info: Redefining \Bbb on input line 113. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/doublestroke/dsfont.sty +Package: dsfont 1995/08/01 v0.1 Double stroke roman fonts +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/tools/bm.sty +Package: bm 2019/07/24 v1.2d Bold Symbol Support (DPC/FMi) +\symboldoperators=\mathgroup6 +\symboldletters=\mathgroup7 +\symboldsymbols=\mathgroup8 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 141. +LaTeX Info: Redefining \bm on input line 209. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/bbm-macros/bbm.sty +Package: bbm 1999/03/15 V 1.2 provides fonts for set symbols - TH +LaTeX Font Info: Overwriting math alphabet `\mathbbm' in version `bold' +(Font) U/bbm/m/n --> U/bbm/bx/n on input line 33. +LaTeX Font Info: Overwriting math alphabet `\mathbbmss' in version `bold' +(Font) U/bbmss/m/n --> U/bbmss/bx/n on input line 35. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 105. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen153 +\Gin@req@width=\dimen154 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/local/texlive/2020/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/enumitem/enumitem.sty +Package: enumitem 2019/06/20 v3.9 Customized lists +\labelindent=\skip59 +\enit@outerparindent=\dimen155 +\enit@toks=\toks25 +\enit@inbox=\box64 +\enit@count@id=\count199 +\enitdp@description=\count266 +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX + +(/usr/local/texlive/2020/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty +Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/iftex/iftex.sty +Package: iftex 2020/03/06 v1.0d TeX engine tests +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty +Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/local/texlive/2020/texmf-dist/tex/generic/infwarerr/infwarerr.sty +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) +) +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty +Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/pdfescape/pdfescape.sty +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/hycolor/hycolor.sty +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/auxhook/auxhook.sty +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/latex/kvoptions/kvoptions.sty +Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO) +) +\@linkdim=\dimen156 +\Hy@linkcounter=\count267 +\Hy@pagecounter=\count268 + +(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/intcalc/intcalc.sty +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/etexcmds/etexcmds.sty +Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) +) +\Hy@SavedSpaceFactor=\count269 +Package hyperref Info: Hyper figures OFF on input line 4547. +Package hyperref Info: Link nesting OFF on input line 4552. +Package hyperref Info: Hyper index ON on input line 4555. +Package hyperref Info: Plain pages OFF on input line 4562. +Package hyperref Info: Backreferencing OFF on input line 4567. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4800. +LaTeX Info: Redefining \href on input line 5070. +\c@Hy@tempcnt=\count270 +LaTeX Info: Redefining \url on input line 5159. +\XeTeXLinkMargin=\dimen157 + +(/usr/local/texlive/2020/texmf-dist/tex/generic/bitset/bitset.sty +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) + +(/usr/local/texlive/2020/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO +) +)) +\Fld@menulength=\count271 +\Field@Width=\dimen158 +\Fld@charsize=\dimen159 +Package hyperref Info: Hyper figures OFF on input line 6430. +Package hyperref Info: Link nesting OFF on input line 6435. +Package hyperref Info: Hyper index ON on input line 6438. +Package hyperref Info: backreferencing OFF on input line 6445. +Package hyperref Info: Link coloring OFF on input line 6450. +Package hyperref Info: Link coloring with OCG OFF on input line 6455. +Package hyperref Info: PDF/A mode OFF on input line 6460. +LaTeX Info: Redefining \ref on input line 6500. +LaTeX Info: Redefining \pageref on input line 6504. + +(/usr/local/texlive/2020/texmf-dist/tex/generic/atbegshi/atbegshi.sty +Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO) +) +\Hy@abspage=\count272 +\c@Item=\count273 +\c@Hfootnote=\count274 +) +Package hyperref Info: Driver (autodetected): hpdftex. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX + +(/usr/local/texlive/2020/texmf-dist/tex/latex/atveryend/atveryend.sty +Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO) +) +\Fld@listcount=\count275 +\c@bookmark@seq@number=\count276 + +(/usr/local/texlive/2020/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty +Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) + +(/usr/local/texlive/2020/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) +) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +86. +) +\Hy@SectionHShift=\skip60 +) +Package hyperref Info: Option `colorlinks' set `true' on input line 21. +Class revtex4-1 Info: Unrecognized LaTeX tabular. Please update this document c +lass! (Proceeding with fingers crossed.) on input line 29. +Class revtex4-1 Info: cite was not loaded (OK!) on input line 29. +Class revtex4-1 Info: mcite was not loaded (OK!) on input line 29. +Class revtex4-1 Info: multicol was not loaded (OK!) on input line 29. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def +File: l3backend-pdfmode.def 2020-03-12 L3 backend support: PDF mode +\l__kernel_color_stack_int=\count277 +\l__pdf_internal_box=\box65 +) +(./main.aux) +\openout1 = `main.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C00/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C05/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C09/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C10/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C20/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C19/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C40/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C42/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C43/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C50/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C52/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C49/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C60/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C61/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C63/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C64/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C65/mj/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C70/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C31/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C32/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C33/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C34/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C35/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C36/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C37/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C80/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C81/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C01/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C11/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C21/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C41/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for C62/song/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 29. +LaTeX Font Info: ... okay on input line 29. + +(/usr/local/texlive/2020/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count278 +\scratchdimen=\dimen160 +\scratchbox=\box66 +\nofMPsegments=\count279 +\nofMParguments=\count280 +\everyMPshowfont=\toks26 +\MPscratchCnt=\count281 +\MPscratchDim=\dimen161 +\MPnumerator=\count282 +\makeMPintoPDFobject=\count283 +\everyMPtoPDFconversion=\toks27 +) (/usr/local/texlive/2020/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +\AtBeginShipoutBox=\box67 +Package hyperref Info: Link coloring ON on input line 29. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section + +(/usr/local/texlive/2020/texmf-dist/tex/latex/refcount/refcount.sty +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) +) +(/usr/local/texlive/2020/texmf-dist/tex/generic/gettitlestring/gettitlestring.s +ty +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) +) +\c@section@level=\count284 +) +LaTeX Info: Redefining \ref on input line 29. +LaTeX Info: Redefining \pageref on input line 29. +LaTeX Info: Redefining \nameref on input line 29. + (./main.out) (./main.out) +\@outlinefile=\write4 +\openout4 = `main.out'. + +Class revtex4-1 Info: Taking \maketitle back from hyperref on input line 29. +\openout3 = `mainNotes.bib'. + +LaTeX Font Info: Trying to load font information for U+msa on input line 72. + + +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Trying to load font information for U+msb on input line 72. + + +(/usr/local/texlive/2020/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Trying to load font information for U+bbm on input line 95. + + +(/usr/local/texlive/2020/texmf-dist/tex/latex/bbm-macros/ubbm.fd +File: ubbm.fd 1999/03/15 V 1.2 Font definition for bbm font - TH +) +Underfull \hbox (badness 2343) in paragraph at lines 98--102 +[]\T1/cmr/m/n/10 In gen-eral, ILP is clas-si-cally NP-complete, and + [] + + +Underfull \hbox (badness 3679) in paragraph at lines 98--102 +\T1/cmr/m/n/10 as a re-sult, heuris-tic meth-ods are em-ployed [[]-- + [] + + + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./MDS_mds0.pdf): PDF inclusi +on: found PDF version <1.6>, but at most version <1.5> allowed +<./MDS_mds0.pdf, id=123, 1927.2pt x 481.8pt> +File: ./MDS_mds0.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./MDS_mds0.pdf used on input line 118. +(pdftex.def) Requested size: 101.99844pt x 25.49557pt. + + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./MDS_mds1.pdf): PDF inclusi +on: found PDF version <1.6>, but at most version <1.5> allowed +<./MDS_mds1.pdf, id=124, 1927.2pt x 481.8pt> +File: ./MDS_mds1.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./MDS_mds1.pdf used on input line 120. +(pdftex.def) Requested size: 101.99844pt x 25.49557pt. + + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./MDS_mds2.pdf): PDF inclusi +on: found PDF version <1.6>, but at most version <1.5> allowed +<./MDS_mds2.pdf, id=125, 1927.2pt x 481.8pt> +File: ./MDS_mds2.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./MDS_mds2.pdf used on input line 122. +(pdftex.def) Requested size: 101.99844pt x 25.49557pt. +[1{/usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] +[2 <./MDS_mds0.pdf> <./MDS_mds1.pdf> <./MDS_mds2.pdf>] +LaTeX Font Info: Trying to load font information for U+dsrom on input line 2 +16. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/doublestroke/Udsrom.fd +File: Udsrom.fd 1995/08/01 v0.1 Double stroke roman font definitions +) +Underfull \hbox (badness 1377) in paragraph at lines 242--246 +\T1/cmr/m/n/10 where $\OML/cmm/m/it/10 p$ \T1/cmr/m/n/10 is an ex-ter-nal pa-ra +m-e-ter rep-re-sent-ing the + [] + + + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./linear_graph.pdf): PDF inc +lusion: found PDF version <1.6>, but at most version <1.5> allowed +<./linear_graph.pdf, id=223, 3613.5pt x 481.8pt> +File: ./linear_graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./linear_graph.pdf used on input line 278. +(pdftex.def) Requested size: 196.80075pt x 26.23808pt. +[3 <./linear_graph.pdf>] +LaTeX Font Info: Trying to load font information for T1+cmtt on input line 2 +96. + +(/usr/local/texlive/2020/texmf-dist/tex/latex/base/t1cmtt.fd +File: t1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions +) +<./DWave_scaling.pdf, id=273, 505.89pt x 289.08pt> +File: ./DWave_scaling.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./DWave_scaling.pdf used on input line 300. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. +<./NN2_offset_scaling.pdf, id=275, 505.89pt x 289.08pt> +File: ./NN2_offset_scaling.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./NN2_offset_scaling.pdf used on input line 319. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. + [4 <./DWave_scaling.pdf> <./NN2_offset_scaling.pdf + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./NN2_offset_scaling.pdf): P +DF inclusion: multiple pdfs with page group included in a single page +>] +<./final_state_distribution.pdf, id=386, 505.89pt x 289.08pt> +File: ./final_state_distribution.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./final_state_distribution.pdf used on input line 360 +. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. + +Underfull \hbox (badness 1117) in paragraph at lines 370--377 +[]\T1/cmr/m/n/10 The time-dependent over-lap with the ex-act Ising + [] + +<./time_dependent_probability.pdf, id=388, 505.89pt x 289.08pt> +File: ./time_dependent_probability.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./time_dependent_probability.pdf used on input line 3 +80. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. +[5 <./final_state_distribution.pdf> <./time_dependent_probability.pdf + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./time_dependent_probability +.pdf): PDF inclusion: multiple pdfs with page group included in a single page +>] +<./anneal_schedule_extended.pdf, id=485, 505.89pt x 289.08pt> +File: ./anneal_schedule_extended.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./anneal_schedule_extended.pdf used on input line 397 +. +(pdftex.def) Requested size: 255.0pt x 145.71738pt. +<./NN2_offset_scaling_extended.pdf, id=486, 505.89pt x 289.08pt> +File: ./NN2_offset_scaling_extended.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./NN2_offset_scaling_extended.pdf used on input line +399. +(pdftex.def) Requested size: 255.0pt x 145.71738pt. + +Overfull \hbox (8.0pt too wide) in paragraph at lines 396--403 + []$[]$ + [] + +[6] +Underfull \hbox (badness 1168) in paragraph at lines 483--484 +[]\T1/cmr/m/n/10 Because quan-tum an-neal-ing is ca-pa-ble of solv-ing + [] + + +Underfull \hbox (badness 1406) in paragraph at lines 489--490 +[]\T1/cmr/m/n/10 In this case the $\OML/cmm/m/it/10 Q[]$ \T1/cmr/m/n/10 com-po- +nent of the QUBO, + [] + +[7 <./anneal_schedule_extended.pdf> <./NN2_offset_scaling_extended.pdf + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./NN2_offset_scaling_extende +d.pdf): PDF inclusion: multiple pdfs with page group included in a single page +>] +Overfull \hbox (8.88724pt too wide) detected at line 556 +[] + [] + + +Overfull \hbox (3.85936pt too wide) detected at line 566 +[] + [] + + +Underfull \hbox (badness 4518) in paragraph at lines 579--582 +\T1/cmr/m/n/10 where the pro-jec-tion op-er-a-tor onto the de-gen-er- + [] + +<./anneal_schedule.pdf, id=623, 505.89pt x 289.08pt> +File: ./anneal_schedule.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./anneal_schedule.pdf used on input line 597. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. +[8] + +LaTeX Warning: A float is stuck (cannot be placed) on input line 612. + + +LaTeX Warning: A float is stuck (cannot be placed) on input line 612. + + +Class revtex4-1 Warning: Deferred float stuck during \clearpage processing. + +<./vacuum_probability.pdf, id=640, 505.89pt x 289.08pt> +File: ./vacuum_probability.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./vacuum_probability.pdf used on input line 640. +(pdftex.def) Requested size: 246.0pt x 140.57414pt. +[9 <./anneal_schedule.pdf> <./vacuum_probability.pdf + +pdfTeX warning: /Library/TeX/texbin/pdflatex (file ./vacuum_probability.pdf): P +DF inclusion: multiple pdfs with page group included in a single page +>] (./main.bbl +Underfull \hbox (badness 10000) in paragraph at lines 126--131 + \T1/cmr/m/n/9 eprint arXiv:quant-ph/0001106 (2000), [][]quant- + [] + + +Underfull \hbox (badness 8000) in paragraph at lines 221--230 + []\T1/cmr/m/n/9 R. Nand-k-ishore and D. A. Huse, [][]An-nual Re- + [] + + +Underfull \hbox (badness 2903) in paragraph at lines 221--230 + \T1/cmr/m/n/9 view of Con-densed Mat-ter Physics \T1/cmr/bx/n/9 6\T1/cmr/m/n/9 + , 15 (2015)[][], + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 221--230 + [][]\T1/cmr/m/n/9 https://doi.org/10.1146/annurev-conmatphys-031214- + [] + +[10] +Underfull \hbox (badness 4378) in paragraph at lines 413--419 + \T1/cmr/m/n/9 lin-ear pro-gram-ming,'' [][]$\T1/cmtt/m/n/9 https : / / github +. com / cchang5 / + [] + +) [11] +Package atveryend Info: Empty hook `AfterLastShipout' on input line 703. + (./main.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 703. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 703. +Package rerunfilecheck Info: File `main.out' has not changed. +(rerunfilecheck) Checksum: 82891F563DA23218001A05FCBC380036;1954. + + +LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right . + + + ) +Here is how much of TeX's memory you used: + 10823 strings out of 480608 + 156759 string characters out of 5903631 + 463248 words of memory out of 5000000 + 26315 multiletter control sequences out of 15000+600000 + 555594 words of font info for 95 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 34i,14n,37p,1252b,565s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/local/texlive/2020/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc} + < +/usr/local/texlive/2020/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb> + +Output written on main.pdf (11 pages, 775793 bytes). +PDF statistics: + 966 PDF objects out of 1000 (max. 8388607) + 624 compressed objects within 7 object streams + 134 named destinations out of 1000 (max. 500000) + 285 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/paper/v2/main.out b/paper/v2/main.out new file mode 100644 index 0000000..4000e80 --- /dev/null +++ b/paper/v2/main.out @@ -0,0 +1,28 @@ +\BOOKMARK [0][-]{section*.2}{Integer Programming with Quantum Annealing from an Open Quantum System}{}% 2 +\BOOKMARK [1][-]{section*.1}{Abstract}{section*.2}% 1 +\BOOKMARK [1][-]{section*.3}{INTRODUCTION}{section*.2}% 3 +\BOOKMARK [1][-]{section*.4}{RESULTS}{section*.2}% 4 +\BOOKMARK [2][-]{section*.5}{QUBO Formulation of ILP}{section*.4}% 5 +\BOOKMARK [2][-]{section*.6}{Annealer Results for the Dominating Set}{section*.4}% 6 +\BOOKMARK [2][-]{section*.7}{Simulation Results}{section*.4}% 7 +\BOOKMARK [1][-]{section*.8}{Discussion}{section*.2}% 8 +\BOOKMARK [2][-]{section*.9}{Dynamics of Time Evolution}{section*.8}% 9 +\BOOKMARK [2][-]{section*.10}{Idealized Quantum Annealing}{section*.8}% 10 +\BOOKMARK [2][-]{section*.11}{Final Remarks}{section*.8}% 11 +\BOOKMARK [1][-]{section*.12}{METHODS}{section*.2}% 12 +\BOOKMARK [2][-]{section*.13}{Additional Mappings to QUBO}{section*.12}% 13 +\BOOKMARK [3][-]{section*.14}{Minimum Dominating Set QUBO}{section*.13}% 14 +\BOOKMARK [3][-]{section*.15}{Integer Quadratic Optimization}{section*.13}% 15 +\BOOKMARK [2][-]{section*.16}{ILP on the D-Wave}{section*.12}% 16 +\BOOKMARK [3][-]{section*.17}{Comment on ILP QUBO Penalty Term}{section*.16}% 17 +\BOOKMARK [3][-]{section*.18}{Minor Embedding}{section*.16}% 18 +\BOOKMARK [2][-]{section*.19}{Simulation of a Quantum Annealer}{section*.12}% 19 +\BOOKMARK [3][-]{section*.20}{The Lindblad Equation}{section*.19}% 20 +\BOOKMARK [3][-]{section*.21}{Annealing Schedule and Offsets}{section*.19}% 21 +\BOOKMARK [3][-]{section*.22}{Pure Transverse Field Simulation}{section*.19}% 22 +\BOOKMARK [1][-]{section*.23}{DATA AVAILABILITY}{section*.2}% 23 +\BOOKMARK [1][-]{section*.24}{ACKNOWLEDGEMENTS}{section*.2}% 24 +\BOOKMARK [1][-]{section*.25}{AUTHOR CONTRIBUTIONS}{section*.2}% 25 +\BOOKMARK [1][-]{section*.26}{CORRESPONDING AUTHOR}{section*.2}% 26 +\BOOKMARK [1][-]{section*.27}{ADDITIONAL INFORMATION}{section*.2}% 27 +\BOOKMARK [1][-]{section*.28}{References}{section*.2}% 28 diff --git a/paper/v2/main.pdf b/paper/v2/main.pdf new file mode 100644 index 0000000..2969bf6 Binary files /dev/null and b/paper/v2/main.pdf differ diff --git a/paper/v2/main.tex b/paper/v2/main.tex new file mode 100644 index 0000000..b5d6eb6 --- /dev/null +++ b/paper/v2/main.tex @@ -0,0 +1,703 @@ +\documentclass[prd,twocolumn,tightenlines,preprintnumbers,showpacs,superscriptaddress,notitlepage,nofootinbib,eqsecnum,floatfix,longbibliography,aps,10pt]{revtex4-1} +\pdfoutput=1 +\usepackage{CJK} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath} +\usepackage{mathtools} +\usepackage{amsfonts,dsfont} +\usepackage{bm,bbm} +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage{enumitem} + +\usepackage{hyperref} +\hypersetup{ + colorlinks=true, % false: boxed links; true: colored links + linkcolor=blue, % color of internal links + citecolor=blue, % color of links to bibliography + filecolor=blue, % color of file links + urlcolor=blue % color of external links +} + +% disable subsections and subsubsections in the TOC +\makeatletter +\def\l@subsubsection#1#2{} +\makeatother + + +\begin{document} +\title{Integer Programming with Quantum Annealing from an Open Quantum System} + +\author{Chia~Cheng~Chang} +\affiliation{RIKEN iTHEMS, Wako, Saitama 351-0198, Japan} +\affiliation{Department of Physics, University of California, Berkeley, California 94720, USA} +\affiliation{Nuclear Science Division, Lawrence Berkeley National Laboratory, Berkeley, California 94720, USA} + \author{Chih-Chieh~Chen } +\affiliation{R\&D Group, Grid Inc., Tokyo 107-0061, Japan} +\affiliation{Nuclear Science Division, Lawrence Berkeley National Laboratory, Berkeley, California 94720, USA} +\author{Christopher K\"orber} +\affiliation{Institut f\"ur Theoretische Physik II, Ruhr-Universit\"at Bochum, D-44780 Bochum, Germany} +\affiliation{Department of Physics, University of California, Berkeley, California 94720, USA} +\affiliation{Nuclear Science Division, Lawrence Berkeley National Laboratory, Berkeley, California 94720, USA} +\author{Travis~S.~Humble} +\affiliation{Computational Sciences and Engineering, Oak Ridge National Laboratory, Oak Ridge, Tennessee, 37831, USA} +\author{Jim~Ostrowski} +\affiliation{Industrial and Systems Engineering, University of Tennessee, Knoxville, Tennessee 37996, USA} + +\newcommand{\alert}[1]{\textbf{\color{red}{#1}}} +\renewcommand{\vec}[1]{\boldsymbol{#1}} + +\newcommand{\ghissue}[2]{ + \noindent\fbox{\parbox{0.49\textwidth}{ + \alert{[#1]}% + \\% + \href{https://github.com/cchang5/quantum\_linear\_programming/pull/#2}{See GitHub issue #2}}% + } +} + + +\begin{abstract} + While quantum computing proposes promising solutions to computational problems not accessible with classical approaches, due to current hardware constraints, most quantum algorithms are not yet capable of computing systems of practical relevance, and classical counterparts outperform them. + To practically benefit from quantum architecture, one has to identify problems and algorithms with favorable scaling and improve on corresponding limitations depending on available hardware. + For this reason, we developed an algorithm that solves integer linear programming problems, a classically NP-hard problem, on a quantum annealer, and investigated problem and hardware-specific limitations. + This work presents the formalism of how to map ILP problems to the annealing architectures, how to systematically improve computations utilizing optimized anneal schedules, and models the anneal process through a simulation. + It illustrates the effects of decoherence and many body localization for the minimum dominating set problem, and compares annealing results against numerical simulations of the quantum architecture. + We find that the algorithm outperforms random guessing but is limited to small problems and that annealing schedules can be adjusted to reduce the effects of decoherence. + Simulations qualitatively reproduce algorithmic improvements of the modified annealing schedule, suggesting the improvements have origins from quantum effects. +\end{abstract} + +\preprint{RIKEN-iTHEMS-Report-20} + +\maketitle +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\tableofcontents + +\flushbottom +\maketitle + +%======================================================================================== +\section{INTRODUCTION} +\label{sec:introduction} +%======================================================================================== +Integer Linear Programming (ILP) is an integer optimization problem subject to inequality constraints +\begin{align} + \label{eq:initial-ip-def} + \vec x_0 = \mathrm{arg} & \min\limits_{x}\left(\sum_i c_i x_i\right) +\end{align} +subject to +\begin{align} + \label{eq:ilp-constraints} + & \sum_i A_{ai}x_i +b_a \leq 0 \,, \\ + & x_i \in \mathbbm{Z} \geq 0\, , +\end{align} +where $i=1, \cdots, N$ is the number of dependent variables and $a=1, \cdots, M$ the number of constraint equations. + +In general, ILP is classically NP-complete, and as a result, heuristic methods are employed~\cite{GLOVER1986533, doi:10.1287/ijoc.1.3.190, doi:10.1287/ijoc.2.1.4}. +Standard classical heuristic algorithms follow a greedy scheme which iteratively approximates optimal solutions--starting from a random initial guess, these algorithms apply locally optimal choices at each step. +The NP-hardness of ILP can be understood by realizing that while the solution to an $n$-dimensional linear problem must lie on the vertices of the feasibility region, while the optimal integer solution may in general be at any integer solution inside the feasibility region. +While greedy algorithms do not guarantee optimal global solutions, they find feasible solutions in polynomial time, which can be utilized in further computations. ILP is a commonly tackled problem applicable to situations such as scheduling, network optimization, and graph optimization such as the minimum dominating set problem (MDS). ILP can also be used to identify reaction pathways of biological system, and has recently been explored in the context of quantum annealing~\cite{2020arXiv200713788H}. + +An important ILP application is the MDS problem, which is representatively considered in this work. +For a given a graph $G(E,V)$, defined by the set of $V$ vertices and $E$ edges, a dominating set $D$ is a specific subset of vertices $D \subseteq V$. +In particular, $D$ is a dominating set if all vertices in $V$ but not in $D$ are adjacent to at least one vertex in $D$. +This is equivalent to requiring the set of nearest-neighbor vertices of $D$ (exclusive) and $D$ cover all vertices $N(D) \cup D = V$ (an example is given by Fig.~\ref{fig:dominating_sets}a). +The set $D$ is a minimal dominating set if there is no proper subset of $D$ that is a dominating set, {\it{i.e.}}, the removal of any vertex in $D$ results in $N(D) \cup D \neq V$. +An example is given by Fig.~\ref{fig:dominating_sets}b. +The domination number of $D$ is given by the cardinality of $|D| \equiv \overline{\overline{D}}$. +The MDS is defined by $D$ with the smallest domination number. +Fig.~\ref{fig:dominating_sets}c shows an example of the MDS of $G(V, E)$ and is different from the minimal dominating set. +We emphasize that while the maximum independent set is always a minimal dominating set as exemplified by Fig.~\ref{fig:dominating_sets}b, the MDS, in general, can have a smaller domination number. +As a result, the solution to the dominating set problem can not be obtained by solving the maximum independent set problem, a well-studied problem for quantum annealers. + +\begin{figure*} + \centering + \begin{tabular}{p{0.2\textwidth}p{0.1\textwidth}p{0.2\textwidth}p{0.1\textwidth}p{0.2\textwidth}} + \includegraphics[width=0.2\textwidth]{./MDS_mds0.pdf} +&& + \includegraphics[width=0.2\textwidth]{./MDS_mds1.pdf} +&& + \includegraphics[width=0.2\textwidth]{./MDS_mds2.pdf}\\ + \centering\textbf{a} && \centering\textbf{b} && \centering\textbf{c} + \end{tabular} + \caption{Example of different dominating sets for $G(V, E)$. Vertices in the dominating set $D$ are highlighted in blue. {\textbf{a)}} A dominating set of $G$ with domination number $\overline{\overline{D}} = 2$. {\textbf{b)}} A minimal dominating set of $G$ with domination number of $\overline{\overline{D}} = 2$. {\textbf{c)}} The MDS of $G$ with domination number of $\overline{\overline{D}} = 1$.} + \label{fig:dominating_sets} +\end{figure*} + +For general graphs, existing algorithms on classical computers find MDS solutions in exponential time $\sim O( 1.5^n)$ \cite{Fomin2009, vanRooij2009} or approximate solutions in polynomial time. For example, greedy algorithms locally optimize decisions about which nodes to add to the dominating set. +Thus one is guaranteed to find a dominating set but not necessarily an MDS. + +In this work, we present a method to obtain optimal solutions to ILP by employing quantum annealing methods. + +Current implementations of quantum annealing solve the quadratic binary optimization problem (QUBO) by slowly varying a time-dependent Hamiltonian~\cite{1998PhRvE..58.5355K, 2000quant.ph..1106F, RevModPhys.80.1061}. +Through the adiabatic theorem of quantum mechanics, the annealer is initially prepared in a trivial ground state while the final Hamiltonian encodes the solution to the ILP. +Due to the explosion in research efforts towards hardware implementations of quantum annealers and future improvements to the annealing schedule~\cite{doi:10.7566/JPSJ.89.044001}, mapping ILP to QUBO provides a path forward towards obtaining optimal solutions to the class of integer optimization problems~\cite{2018Glover}. + +In the simplest model for quantum annealing, the pure state of a quantum system evolves adiabatically to prepare an eigenstate of the encoded problem Hamiltonian. The time-dependent Hamiltonian is given as +\begin{equation} + H(t) = A(t) H^{\textrm{init}} + B(t) H^{\textrm{problem}}, \label{eq:tdhamiltonian} +\end{equation} +and $H^\textrm{init}=-\sum_i\sigma^x_i$ (on the D-Wave), while $H^\textrm{problem}$ encodes the problem to be solved. In practice, and as discussed in Sec.~\ref{sec:methods:lindblad}, modeling dynamics that arise during quantum annealing requires a more robust description of the thermally populated mixed quantum states and the open dynamical processes that govern population of the sought-after eigenstate. + +The mapping of ILPs to QUBOs we propose is realized by introducing slack variables $s_a$ which turn the inequalities Eq.~\eqref{eq:ilp-constraints} to equalities +\begin{align} + \label{eq:ilp:slack} + & \sum_i A_{a i}x_i + s_a + b_a = 0, \\ + & x_i, s_a \in \mathbb{Z} \geq 0. +\end{align} +While, in general, the coefficients of the inequality constraints are not required to be integer valued, this real valued inequalities can be rescaled such that $s_i \in \mathbbm{Z}$ given fixed precision coefficients $A_{ij}$ and $b_i$. Current hardware however, offers approximately 10 bits of precision over the control of value of the coupling and biases, limiting the usefulness of rescaling. + +Furthermore, this formalism can be generalized to constrained quadratic optimizations \ref{sec:methods:ilp:quadratic}. + +We improve the quantum annealer's performance by utilizing annealing offsets, which effectively delay the annealing schedule on a per-qubit basis~\cite{PhysRevA.96.042322,hsu2018quantum,10.1007/978-3-030-14082-3_14,2020RPPh...83e4401H}. +Converting to the Ising representation of the the problem Hamiltonian, +\begin{equation} + \label{eq:HIsing} + H^{\textrm{problem}} \leftrightarrow H^{\textrm{Ising}} = \sum_{ij} J_{ij} \sigma^z_i \sigma^z_j + \sum_i h_i \sigma^z_i , +\end{equation} +we recognize that Eq.~(\ref{eq:HIsing}) exhibits spin-glass properties. More specifically, if the $h_i$ coefficients are randomly drawn from a Bernoulli distribution, one expects spin-localization behavior to influence the outcome of the anneal. +In the case of quantum annealing, when an algorithm is mapped to its Ising representation, the values of $h_i$ will frequently take on various values, mimicking spin-glass like behavior. +More explicitly, the spin-glass enters a glassy state when more disorder is introduced ($|h_i|$ becomes large), and as a consequence, the wavefunction experiences many body localization (MBL) effects, the many-body analog of Anderson localization~\cite{doi:10.1146/annurev-conmatphys-031214-014726,PhysRevE.90.022103,RevModPhys.91.021001,ALET2018498,PhysRevB.82.174411,PhysRevLett.109.017202}. + +Our improvement strategy is motivated by the MBL hypothesis. +As a result, we employ a modified annealing schedule that relies on partitioning the Hamiltonian into regions of relatively weak and strong external magnetic fields. + + +To understand which phenomena are relevant for describing the proposed offset study's scaling behavior, whether they are rooted in the quantum nature or related to hardware constraints, we simulate the anneal for a small MDS problem. This simulation solves the von Neumann equations accounting for different quantum decoherence models and explores whether algorithmic improvements on hardware are present in idealized systems. + +%======================================================================================== +\section{RESULTS} +\label{sec:results} +%======================================================================================== + +We first present the QUBO mapping for ILP (\ref{sec:results:qa1}), and demonstrate the methodology on an example implementation in case of the Minimal Dominating Set problem (\ref{sec:results:qa}) on the D-Wave quantum annealer. Results from quantum annealing are compared and discussed in contrast to simulations (\ref{sec:results:simulation}). + +%---------------------------------------------------------------------------------------- +\subsection{QUBO Formulation of ILP} +\label{sec:results:qa1} +%---------------------------------------------------------------------------------------- +Following Eq.~(\ref{eq:ilp:slack}), the ILP problems simplifies to solving a system of linear equations on integer valued variables. We map the integer variables $\vec z = \vec x, \vec s$ appearing in Eq.~\eqref{eq:ilp:slack} to qubits under the following transformation~\cite{Chang:2018uoc} +\begin{align} + z_i = & \sum_{r=0}^{R_i-1} 2^r \psi_{ri} + \label{eq:int_to_bin} +\end{align} +where $\psi_{ri} \in \{0, 1\}$. The number of qubits used to represent the $i$-th integer variable is allowed to vary with $R_i$. +The integer-vector qubit transformation can be expressed as a rectangular matrix. +For example, a vector of two integer variables $z_0$ and $z_1$ represented by one and two qubits respectively is given as +\begin{align} + \begin{pmatrix} + z_0 \\ + z_1 + \end{pmatrix} + = & + \begin{pmatrix} + 2^0 & 0 & 0 \\ + 0 & 2^0 & 2^1 + \end{pmatrix} + \begin{pmatrix} + \psi_{00} \\ + \psi_{01} \\ + \psi_{11} + \end{pmatrix} + \equiv T^z \begin{pmatrix} + \psi_{00} \\ + \psi_{01} \\ + \psi_{11} + \end{pmatrix} +\end{align} +If all variables are represented by the same number of qubits--$R_i$ is a constant for all $i$--then one can express the transformation as tensor product of bit vectors +\begin{align} + \mathcal{R} = & \begin{pmatrix} 2^0 & \dots & 2^{R-1}\end{pmatrix}, \\ + \mathcal{Z} = & \begin{pmatrix} z_0 & \dots & z_{N-1}\end{pmatrix}, \\ + |\mathds{1}| = & |\mathcal{Z}|, \\ + T^z = & \mathds{1}\otimes \mathcal{R}. +\end{align} + +As a result, the $\vec x$ and $\vec s$ map to the binary vector $\vec \Psi$ under the transformation +\begin{equation} + \label{eq:bit-vector-mapping} + \begin{pmatrix} + \vec x \\ \vec s + \end{pmatrix} + = + \begin{pmatrix} + T_x & 0 \\ 0 & T_s + \end{pmatrix} + \begin{pmatrix} + \vec \Psi_x \\ \vec \Psi_s + \end{pmatrix} + = + T + \vec \Psi +\end{equation} + +The integer linear optimization problem is then solved through the minimization of the quadratic objective function +\begin{align} + \label{eq:ilp-slack-bit-energy} + \chi^2(\vec \Psi) + &= + \vec c^T T_x \vec \Psi_x + p \left\| A T_x \vec \Psi_x + T_s \vec \Psi_s + \vec b \right\|^2 +\end{align} +where $p$ is an external parameter representing the strength of the penalty when violating constraints. +This parameter needs to be sufficiently large, e.g., $p \geq \vec c \cdot \vec x$, to ensure the constraints are indeed fulfilled\footnote{Depending on the problem, $p$ can be smaller as well. For example, in the case of the MDS, $p\geq 1$ suffices.}. The exact value of a sufficiently large penalty coefficient changes the excited-state spectrum of the time-dependent Hamiltonian, and while leaving the ground state unchanged, will impact the performance on quantum annealers due to the limited control over couplings and biases. Therefore, choosen the smallest valid penalty coefficient is observed to be optimal for quantum annealers today. +The objective function $\chi^2$ can be represented as a QUBO Hamiltonian +\begin{align} + \chi^2(\vec \Psi) = & + \vec \Psi^T + \begin{pmatrix} + Q_{xx} & Q_{xs} \\ + Q_{sx} & Q_{ss} + \end{pmatrix} + \vec \Psi + p\left \| \vec b \right\|^2, \\ + \equiv & \vec \Psi^T Q \vec \Psi + C, + \label{eq:matrix_form} +\end{align} +where +{\small +\begin{align} + \label{eq:qubo:components} + Q_{xx} = & p {T_{x}}^T \left[ A^T A + \mathrm{diag} \left(A^T \vec b + \vec b^T A\right) \right] T_x + \mathrm{diag}(\vec c) T_x, \\ + Q_{xs} = & Q_{sx}^T = p {T_{x}}^T A^T T_s, \\ + Q_{ss} = & p\left[ {T_{s}}^T T_s + \mathrm{diag}\left( {T_{s}}^T \vec b + \vec b^T T_s\right) \right]. +\end{align}} +The function $\mathrm{diag}(\vec v)$ transforms a vector $\vec v$ into a diagonal matrix, and absorbs the linear contributions of the QUBO into the diagonal elements of the quadratic representation. + +The integer solution to the original ILP is computed by $\vec x^{(0)} = T_x \vec \Psi_x^{(0)}$ and the original solution to the problem is computed by shifting the annealer extracted energy $E \equiv \chi^2(\vec \Psi^{(0)}) $ by $p \left \| \vec b \right\|^2$. +The slack components of this vector $\vec \Psi_s$ can be utilized to check if the constraints are indeed fulfilled. + +%---------------------------------------------------------------------------------------- +\subsection{Annealer Results for the Dominating Set} +\label{sec:results:qa} +%---------------------------------------------------------------------------------------- +\begin{figure}[b] + \centering + \begin{tabular}{cc} + $G(n):$ & + \raisebox{-.4\height}{\includegraphics[width=0.8\columnwidth]{./linear_graph.pdf}} + \end{tabular} + \caption{Linear graphs $G(n)$ used in this study. Nodes denote vertices of the graphs and lines are undirected edges.} +\label{fig:linear} +\end{figure} + +We demonstrate the proposed algorithm in order to obtain the MDS on a series of linear graphs $G(n)$, as shown in Fig.~\ref{fig:linear}. This type of graph is chosen because the small number of nearest-neighbor connections is more efficiently embedded into the chimera graph, allowing scaling plots to be generated when using a D-Wave quantum annealer. In particular, the number of qubits required to solve MDS scales at worse as $n_V \log_2 n_V$ where $n_V$ is the number of vertices for a generic graph before minor embedding. Details of the mapping of ILP to MDS is given in Sec.~\ref{sec:methods:mds-qubo}. + +For the graph $G(n)$ the MDS solution is known analytically, and contains both unique and degenerate solutions. In particular, the domination number for $G(n)$ is $\lceil n/3 \rceil$ while the number of MDS solutions for $n$ vertices is +\begin{align} +&1 &&\textrm{if} && n\textrm{ mod }3=0,\nonumber \\ +&2\lfloor n/3 \rfloor + 1 && \textrm{if}&& n\textrm{ mod }3=1,\nonumber \\ +&\lfloor n/3 \rfloor + 2 && \textrm{if} && n \textrm{ mod }3 = 2, +\end{align} +and gives the probability of randomly guessing the MDS of $G(n)$. + +For even the smallest graph $G(2)$, the MDS problem is not native to the chimera graph and must be embedded. Following the hypothesis of MBL, we, therefore, must look at the values of $h_i$ after embedding. The qubits split into two groups depending on the value of $h_i$ relative to $(\textrm{max}|\{h\}| + \textrm{min}|\{h\}|) / 2$ given the set of external magnetic fields $\{h\}$ defined by a specific embedding. Further detail is given in Sec.~\ref{sec:methods:minor_embedding}. We study the effects of delaying the anneal schedule of one group of qubits over the other and present the results of this study is shown in Fig.~\ref{fig:baseline}. + +Due to near-term limitations, hardware realizations of quantum annealing are unique, and possess for example, different lattice layouts (due to faulty qubits), annealing schedules, and qubit fidelity. For the following studies, we perform experiments specifically on the \texttt{DW\_2000Q\_6} solver. The annealing time is set to 500$\mu$s after performing a study on various annealing times the $G(6)$ graph. The black line (offset$=0.0$) in Fig.~\ref{fig:baseline} shows results from the baseline experiment, without modification to the D-Wave annealing schedule, and observe improvement over random guessing (dashed green). + +\begin{figure} + \centering + \includegraphics[width=\columnwidth]{./DWave_scaling.pdf} + \caption{Baseline result of D-Wave (black) compared to random guessing (dashed green). The jagged nature of random guessing reflects the degeneracy of the ground state. Negative offsets with a `s' tag (blue) are results from delays of large values of $|h_i|$, while negative offsets with the `w' label (red) delay the schedule of qubits with small values of $h_i$.} + \label{fig:baseline} +\end{figure} + +We explore one avenue towards improving the experiment results by introducing per-qubit annealing offsets into the time evolution. +The blue (red) results delay qubits' annealing subject to stronger (weaker) external fields. We observe improvement (diminishment) in the experimental results when qubits subject to stronger (weaker) final external fields are delayed in the annealing schedule, in agreement with the MBL hypothesis. The phenomena is observed across different problem sizes and hints at the possibility of a generic improvement strategy. + + +%---------------------------------------------------------------------------------------- +\subsection{Simulation Results} +%---------------------------------------------------------------------------------------- +\label{sec:results:simulation} +To understand the effects of annealing offsets, we simulate the annealing process for the $G(2)$ graph embedded in chimera topography. +We repeat the same anneal process with a shortend total annealing time of 1 $\mu s$, reducing the computational demands of the simulation, and count the number of correct ground state occurrences. +The resulting ground state probability as a function of offset measured over 100,000 observations is shown in Fig.~\ref{fig:dwave1us}. + +\begin{figure}[b] + \centering + \includegraphics[width=\columnwidth]{./NN2_offset_scaling.pdf} + \caption{The probability of finding the MDS for $G(2)$ from D-Wave (black) and simulation (dashed yellow) at annealing times of 1 $\mu s$.} + \label{fig:dwave1us} +\end{figure} + + +To solve for time evolution dynamics of quantum annealing including thermal and the decoherence effects, we solve for the master equation in Lindblad form +\begin{align} + \label{eq:sim:linblad-eq} + \partial_t \rho (t) = \frac{-i}{\hbar} [H(t) , \rho(t)] + \mathcal{L}(\rho(t), H(t)) +\end{align} +where $\hbar$ is the reduced Plank's constant, $\rho (t)$ is the density matrix at time $t$, $H(t)$ is the time-dependent Hamiltonian and $\mathcal{L}$ is the Linblad operator implementing the decoherence models. +In this work, we consider two types of decoherence models: full-counting statistics~\cite{PhysRevE.90.022103,RevModPhys.81.1665} and single-qubit amplitude damping (local damping)~\cite{10.5555/1972505,preskill1998lecture}. +The full-counting statistics term models the global decoherence to all the qubits due to the classical reservoir. +The local damping term models the decoherence of each qubit independently. +Details of the master equation are given in Sec.~\ref{sec:methods:lindblad}. +Implementation of the annealing schedule and annealing offsets for the simulation are discussed in Sec.~\ref{sec:methods:annealing-schedule}. + +The graph $G(2)$ has degenerate ground states depending on whether qubit 0 or 1 is chosen to be the MDS solution. +This degeneracy is reflected in the experimental result and provides a non-trivial benchmark for our simulation. +Fig.~\ref{fig:final_state_distribution} show the final state distribution of the three lowest-lying state. +The states $(0, 1, 0, 0, 0)$ and $(1, 0, 0, 1, 0)$ are the two degenerate ground states of the embedded Hamiltonian, while $(1, 1, 1, 1, 1)$ is the first excited state which yields an incorrect solution\footnote{According to Eq.~\eqref{eq:bit-vector-mapping}, the first two vector components represent the nodes of the graph while the following components represent the slack variables after embedding.}. +All other states receive negligible probability at the end of annealing. +The simulation (black) captures the main features of the experimental result: +\begin{enumerate} + \item Significant probability of populating both ground states (rather than populating only one) + \item Asymmetry in ground state population due to offsets and spanning approximately the correct range + \item Population of first excited state with systematically lower probability when the strong field is delayed +\end{enumerate} +The asymmetry in the ground state distribution at non-zero offset results from annealing offsets lifting the ground state degeneracy. +The non-degenerate ground state switches between the two states within the broken symmetry, depending on which qubit group is delayed. At zero offset, a slight asymmetry exists in the simulation because the Hamiltonian is only degenerate at the last moment, while the D-Wave is also subject to sampling bias~\cite{2016PhRvA..93e2320K, 2017PhRvL.118g0502M}. + +This result can be obtained by tuning three free parameters: the simulation temperature to the order of 10 milliKelvin, and the two coefficients of the two decoherence models at the order of 1 to 10 $ns$. These values are consistent with the reported D-Wave operating temperature~\cite{dwave_temp} and coherence times for flux qubits~\cite{2003Sci...299.1869C}. +Additional insights of the simulation are given in Sec.~\ref{sec:discussion:time_evolution}. + +The resulting probability of recovering the correct solution as a function of annealing offset is given in Fig.~\ref{fig:dwave1us}. +We confirm that the simulation's offset-scaling follows the experiment's scaling, which suggests that the improvements are related to quantum mechanics. +An additional study where an extended annealing schedule is employed in the simulation, which removes systematic errors introduced by annealing offsets and effects of local damping are presented in Sec.~\ref{sec:discussion:idealqa}, and further supports this observation. + +\begin{figure} + \centering + \includegraphics[width=\columnwidth]{./final_state_distribution.pdf} + \caption{Final state distribution from D-Wave (solid bars) and simulation (black outline). The colors label the type of offset The $(0, 1, 0, 0, 0)$ state is the first solution where vertex 1 is in the dominating set. The $(1, 0, 0, 1, 0)$ state is the second solution where vertex 0 is in the dominating set. The first excited state is the $(1, 1, 1, 1, 1)$ state where both vertices are in the dominating set.} + \label{fig:final_state_distribution} +\end{figure} + + +\section{Discussion} +\subsection{Dynamics of Time Evolution} +\label{sec:discussion:time_evolution} + +The time-dependent overlap with the exact Ising ground state is shown in Fig.~\ref{fig:td_prob} from applying the simulator to $G(2)$. We observe for all cases that the system undergoes what is analogous to a magnetic phase transition around $s\sim 0.4$. +After the phase transition, we can confirm that the system collapses to effectively a classical state in the sense that the density matrix becomes a diagonal matrix. +The steady increase in probability after the phase transition is a sensitive balance between the competing effects between full-counting statistics and local damping. +In our example, the full-counting statistics decoherance rate is tuned to be slightly stronger compared to the local dampening decoherance rate, effectively resulting in a final thermal annealing process after the phase transition. +If local damping were relatively larger, then the probability after the phase transition will slowly decrease as the system decoheres into its local ground state. +While we believe both effects are essential to simulate D-Wave, due to the competing effects of both decoherence models, we emphasize that a fully quantitative comparison of both decoherence models cannot be made just considering the $G(2)$ graph. +However, we emphasize that the simulation suggests that the ground state is recovered predominantly due to the quantum phase transition happing around $s\sim 0.4$. + +\begin{figure} + \centering + \includegraphics[width=\columnwidth]{./time_dependent_probability.pdf} + \caption{Time-dependent probability for resolving the ground state for simulation results presented in Sec.~\ref{sec:results:simulation}. Different offsets are labeled in the same way as Fig.~\ref{fig:baseline}.} + \label{fig:td_prob} +\end{figure} + +Finally, we comment that effects of full-counting statistics are required for the simulation to obtain the final state distribution shown in Fig.~\ref{fig:final_state_distribution}. +Because of the smallness of the $G(2)$ problem (and the utilized total annealing time of 1$\mu s$), the annealing offsets lift the ground state degeneracy in a manor that diabatic transitions do not occur--setting a discrete, fixed groundstate probability for given offsets. +Thus, if dynamical thermalization effects were absent, the simulation would populate predominantly one of the two unique ground states depending on the offsets. +Once dynamical thermalization effects are present, the final state distribution continously depends on offsets and becomes a very sensitive observable to tune the simulation temperature, which, if properly tuned, agrees well with the experimental operating temperature. + + +\subsection{Idealized Quantum Annealing} +\label{sec:discussion:idealqa} + +\begin{figure*} + \centering + \begin{tabular}{p{0.5\textwidth}p{0.5\textwidth}} + \includegraphics[width=0.5\textwidth]{./anneal_schedule_extended.pdf} + & + \includegraphics[width=0.5\textwidth]{./NN2_offset_scaling_extended.pdf}\\ + \centering \textbf{a} & \centering \textbf{b} + \end{tabular} + \centering + \caption{Extended annealing schedule and simulation result. \textbf{a)} The annealing time is increased by 10\% at both the start and end, and the initial values of $A(s)$ and $B(s)$ at non-zero offset are also not extrapolated in comparison to Fig.~\ref{fig:anneal_schedule}. Therefore, the initial and final Hamiltonian are no longer suffer systematic error at non-zero offset. \textbf{b)} The default (dashed yellow) result is one presented in Fig.~\ref{fig:dwave1us}. Results from extended schedules are presented shown with solid lines with full-counting statistics and amplitude damping (red), only full-counting-statistics (blue), and only amplitude damping (green). + } + \label{fig:anneal_schedule_ext} +\end{figure*} + +In the simulation, we also reserve the ability to remove systematic errors associated with finite annealing schedules by extending them, as shown by the red data points in Fig.~\ref{fig:anneal_schedule_ext}. With the extended schedule, all qubits start and end with the same values of $A$ and $B$ and faithfully preserves the initial and final Hamiltonians. The dependence on offset for $G(2)$ (Fig.~\ref{fig:dwave1us}) remains the same under the extended anneal schedule (Fig.~\ref{fig:anneal_schedule_ext}), confirming that the behavior is not a systematic artifact. + +The quantum system can be further idealized by including either solely the full-counting statistics model (blue) or solely the local decoherence model (green)\footnote{For problems without diabatic transitions, like the MDS problem for a $G(2)$ graph and an anneal time of $1\mu s$, removing all decoherence models results in ground state probabilities equal to unity.}. We observe in both cases that the overall scaling follows the story of the MBL hypothesis. Perhaps more importantly, we observe that a simulation without local decoherence, where the relaxation is dependent on precisely the instantaneous value of $|h_i|$, exhibits the same scaling as the experiment. This result suggests that our strategy for setting annealing offsets is improving the algorithm beyond the simple explanation of qubits freezing due to single-particle amplitude damping. The simulation with only amplitude damping (green) does not fully capture the results of the experiment. We observe hints of a phase transition depending on the offset (which may be considered some measure of disorder) when dynamical thermalization effects are removed. This observation is a strong evidence for the inclusion of the full-counting statistics model. + +\subsection{Final Remarks} +\label{sec:results:final} +We want to emphasize that while the annealing offsets are motivated by the MBL hypothesis, and the results also follow those expectations, we do not have definitive proof that MBL plays a crucial role. +Observations of MBL inevitably require the study of finite-size scaling~\cite{2015PhRvB..91h1103L}, and our current simulation, while being extremely thorough and explicit, is exponentially slow to evaluate, making evaluations of even $G(3)$ unfeasible. +However, the intersection of time-dependent quantum mechanics and emergent phenomena~\cite{Goldenfeld:1992qy} is an exciting direction that is pertinent to adiabatic quantum computing. + +%======================================================================================== +\section{METHODS} +\label{sec:methods} +%======================================================================================== +%---------------------------------------------------------------------------------------- +\subsection{Additional Mappings to QUBO} +\label{sec:methods:ILP-to-QUBO} +%---------------------------------------------------------------------------------------- +%---------------------------------------------------------------------------------------- +\subsubsection{Minimum Dominating Set QUBO} +\label{sec:methods:mds-qubo} +%---------------------------------------------------------------------------------------- + +The solution to the MDS problem can be expressed as an integer optimization problem given by, +\begin{align} + f(\vec x) = & \min\left(\sum_{v \in V} x_v\right), \\ +\end{align} +subject to +\begin{align} + & x_v + \sum_{j \in \mathcal{N}(v)} x_j \geq 1, \\ + & x_v \in \{0, 1\} +\end{align} +where $\mathcal{N}(v)$ represents the set of all direct neighbors of vertex $v$ and the dimension of the dependent variable $x$ is the number of vertices $n_V \equiv \overline{\overline{V}}$. +The problem minimizes the number of vertices in $D$ with a binary variable $\vec x = \vec \Psi_x$ encoded by single qubit, subject to the constraint that at least one vertex in $\mathcal{N}(\nu)$ is in $D$. +For each vertex in $V$ we introduce slack variables +\begin{equation} + \vec s \in \left\{ \mathbb{Z}^{n_V} \, \middle| \, 0 \leq s_{v} \leq |\mathcal{N}(v)| \quad \forall v\in V \right\} \, , +\end{equation} +which is related to the qubit vector $\vec \Psi_s$ by $\vec s = T_s \vec \Psi_s$. +The inequality constraint is encoded by +\begin{align} + f(\vec \Psi_x) + = + & \min\left(\vec 1 \cdot \vec \Psi_x \right) \, , +\end{align} +subject to +\begin{align} + & + (\mathbbm{1} + J)\vec \Psi_x - T_s \Psi_s - \vec 1 = 0\,, + \\ + & + (\vec \Psi_s)_\nu \in \{ 0, 1\} +\end{align} +where the nearest-neighbor sum is expressed by the adjacency matrix $J$ (zero diagonal and symmetric for non-directional graphs). +The algorithm uses +\begin{equation} + N_q = \overline{\overline{V}} + \sum_{v \in V} \log_2 \mathcal{N}(v) +\end{equation} +qubits to encode the vertices and slack variables before embedding. +Therefore, the (logical) binary vector $\vec \Psi$ at worst scales with $n_V \log_2 n_V$ qubits for fully connected graphs. + +The target QUBO in the notation of Eq.~\eqref{eq:matrix_form} reads + {\small + \begin{align} + Q_{xx} & = \mathbbm{1} + p\left[J^T J + J^T + J - \mathrm{diag}\left(J^T \vec 1 + \vec 1^T J\right) - \mathbbm{1} \right] \,, \\ + Q_{sx} & = - p(\mathbbm{1}+J)^TT_s\,, \\ + Q_{ss} & = p\left[{T_s}^T T_s + \mathrm{diag}\left(T_s^T \vec 1 + \vec 1^T T_s\right)\right]\,, \\ + C & = p \overline{\overline{V}}\,. + \end{align}} + +%---------------------------------------------------------------------------------------- +\subsubsection{Integer Quadratic Optimization} +\label{sec:methods:ilp:quadratic} +%---------------------------------------------------------------------------------------- + +Because quantum annealing is capable of solving quadratic problems, we extend the proposed algorithm to solve integer quadratic optimization problems as well such that +\begin{align} + \vec x_0 = \mathrm{arg}\min\limits_{x}\left(\sum_{ij} x_i d_{ij} x_j + \sum_i c_i x_i\right) +\end{align} +without the introduction of auxiliary qubits. + +In this case the $Q_{xx}$ component of the QUBO, Eq.~\eqref{eq:qubo:components} obtains a new term +\begin{equation} + Q_{xx} \to Q_{xx} + T_x^T d T_x \, . +\end{equation} + +%---------------------------------------------------------------------------------------- +\subsection{ILP on the D-Wave} +\label{sec:methods:ILP-on-D-Wave} +%---------------------------------------------------------------------------------------- + +%---------------------------------------------------------------------------------------- +\subsubsection{Comment on ILP QUBO Penalty Term} +\label{sec:methods:ilp-qubo-comments} +%---------------------------------------------------------------------------------------- + +The minimal energy solution to Eq.~\eqref{eq:initial-ip-def} and Eq.~\eqref{eq:ilp-slack-bit-energy} are exactly the same if the penalty term is greater or equal to the energy gap of the first excited solution: $p \geq E_1 - E_0$. +Thus some knowledge of the problem is required. +In principle, it is possible to set the penalty term arbitrarily large, at the cost of problem resolution: large values for $p$ increase the highest available energy of the system by multiples of $p$. +After normalization of the QUBO, this corresponds to decreasing the energy gap between the ground state and the first excited state. +Thus, if solvers have finite precision, one must estimate reasonable values for $p$: for large $p$ more solutions fulfill the constraints, while for small $p$, more solutions minimize the objective function. + +%---------------------------------------------------------------------------------------- +\subsubsection{Minor Embedding} +\label{sec:methods:minor_embedding} +%---------------------------------------------------------------------------------------- +Our proposed offset strategy is motivated by the structure of the Hamiltonian being evaluated by the annealer. +As a result, details of the embedding are important. We obtain an embedding for $G(n)$ with the \texttt{embed\_qubo} function provided by the D-Wave Ocean Python package~\cite{dwave_oceans} under the \texttt{dwave.embedding} module~\cite{2008arXiv0804.4884C}. +The same embedding is used for all D-Wave solves of the same graph (independent of offset), and consequently the simulation solves the resulting embedded Hamiltonian for $G(2)$. +Additionally, solving the same graph as a function of offset on the exact same qubits removes (or at least keeps consistent) the systematic effects due to solving a problem on different physical qubits. +We note that comparisons between different graphs in Fig.~\ref{fig:baseline} are subject to this uncontrolled systematic. + +After embedding the QUBO for $G(2)$ requires 5 qubits (an increase from 4), where by construction, qubits 0 and 3 form the qubit chain. +We confirm through brute force evaluation of the eigenvalue decomposition of the 5 qubit Hamiltonian, that the embedding provided by D-Wave solves the expected ILP problem for $G(2)$, with degenerate ground states at $(0, 1, 0, 0, 0)$ and $(1, 0, 0, 1, 0)$ corresponding to whether vertex 0 or 1 is chosen for the MDS solution, and $(1, 1, 1, 1, 1)$ as the first (non-degenerate) excited state where both vertex 1 and 0 are in the set yielding a valid dominating set but not the MDS. + +The resulting Ising Hamiltonian has external field equal to $h = (2.75, 1.5, -1.0, -1.25, -1.0)$. +Following the offset strategy described in Sec.~\ref{sec:results:qa}, qubit(s) 0 (1, 2, 3, 4) are placed in the set with relatively stronger (weaker) final external fields. +This imbalance in the two groups may perhaps explain the reason why effects of delaying the weaker fields are more pronounced, since delaying the strong fields only differs from the baseline by a single qubit. + + + +%---------------------------------------------------------------------------------------- +\subsection{Simulation of a Quantum Annealer} +\label{sec:methods:simulation} +%---------------------------------------------------------------------------------------- + +%---------------------------------------------------------------------------------------- +\subsubsection{The Lindblad Equation} +\label{sec:methods:lindblad} +%---------------------------------------------------------------------------------------- + +To solve for time evolution dynamics of quantum annealing including thermal and the decoherence effects, we evaluate the master equation Eq.~\eqref{eq:sim:linblad-eq} in Lindblad form. +The explicit time-dependence of the Hamiltonian is given by +\begin{align} + \label{eq:annealH} + H(t) = & - \sum_i A_i(t)\sigma^x_i +\sum_i B_{i}(t) h_i \sigma^z_i \notag \\ + & + \sum_{i>j} \sqrt{B_{i}(t)B_{j}(t)} J_{ij} \sigma^z_i \sigma^z_j , +\end{align} +where $A_i(t)$ and $B_{i}(t)$ are site-dependent annealing schedule functions. +The site dependency takes into account of the annealing offsets. +The simulation takes two decoherance models into account. +Full-counting statistics and local decoherence. + +For full-counting statistics, the Lindblad operator is +\begin{align} +\mathcal{L}_{\textrm{fc}}(\rho (t), H(t)) = & \Gamma_{\textrm{fc}} \sum_{j, i0$, $S_{ij}=|E_i \rangle \langle E_j|$ denotes the many-body lowering operator and $\Gamma_{fc} = 1/T_{fc}$ is the full-counting decoherence rate for coherence time $T_{fc}$. +That is, due to the interaction with the classical thermal bath, there is a probability that the system hops from each higher-energy many-body state to a lower-energy many-body state. +The probability of the inverse process is given by a Boltzmann factor. + +To model the local decoherence of each qubits in the non-interacting limit, we also consider the amplitude damping for non-interacting qubits. +For the local decoherance model, the Lindblad operator is +\begin{align} +\mathcal{L}_{\textrm{loc}}(\rho (t), H(t)) = & \Gamma_{\textrm{loc}} \sum_j \left(2L_j \rho(t) L_j^\dagger - \{ L^\dagger_j L_j, \rho(t) \} \right)\notag \\ +& + e^{- 2 \beta |h_j| } \left(2L_j^\dagger \rho(t) L_j - \{ L_j L_j^\dagger, \rho(t) \} \right) , +\end{align} +where $j$ is the index for qubit. +$L_j= \sigma^{+}_j=|1\rangle \langle 0|$ for $h_j>0$ and $L_j= \sigma^{-}_j=|0\rangle \langle 1|$ for $h_j<0$. +That is, each qubit is damped toward its local ground state if we ignore all the interactions. + +The initial condition is the Gibbs canonical ensemble +\begin{equation} +\rho (0) = \frac{e^{-\beta H(0)}}{\mbox{Tr}\left(e^{-\beta H(0)}\right)} , +\end{equation} +where $\beta$ is the inverse temperature. +The probability to get the ground state at measurement is +\begin{align} +P = \mbox{Tr} \left( \rho (t) \pi_{\mbox{gnd}} \right) , +\end{align} +where the projection operator onto the degenerated ground states subspace is defined as $\pi_{\mbox{gnd}}=\sum_{i\in G} |\mbox{gnd}_i\rangle \langle \mbox{gnd}_i| $. +Here $\{ | \mbox{gnd}_i \rangle | i \in G \}$ forms an orthonormal basis for the degenerated ground states subspace, i.e., $\langle \mbox{gnd}_j | \mbox{gnd}_i \rangle = \delta_{ij}$. + +For the simulation results presented, we set the temperature to 22.5 milliKelvin. +The coherence time for local decoherence is set to 15$ns$, and 1$ns$ for full-counting statistics. + +%---------------------------------------------------------------------------------------- +\subsubsection{Annealing Schedule and Offsets} +\label{sec:methods:annealing-schedule} +%---------------------------------------------------------------------------------------- +In this section, we discuss the details of the annealing schedule with respect to the dimensionless normalized time $s$. +On D-Wave solvers, annealing offsets effectively advance or delay the annealing schedule of individual qubits (see E.~\eqref{eq:annealH}). +In Fig.~\ref{fig:anneal_schedule}, the default D-Wave annealing schedule is shown in black, in addition to the effects of applying negative offsets (effective time delay) to $A(s)$ and $B(s)$ in blue. +Further documentation is provided by D-Wave in Ref.~\cite{dwave_as, dwave_as_docu}. + +\begin{figure}[htb] + \centering + \includegraphics[width=\columnwidth]{./anneal_schedule.pdf} + \caption{ + Anneal schedules for amplitudes of initial Hamiltonian (dashed) and final Hamiltonian (solid). + Offset 0.0 (black) and -0.05 (purple) are displayed. + Intermediate values lie between and are suppressed for clarity. + } + \label{fig:anneal_schedule} +\end{figure} + +The coefficients $A(s)$ and $B(s)$ follow the underlying control variable $c(s)$, which is designed to grow the persistent current $I_p(s)$ linearly in time. +The effective time delay is implemented by introducing an offset as $c(s) + \delta$. +Because annealing schedules are finite, systematic errors are introduced because the final values of $A(s)$ and $B(s)$ will differ for qubits with different offsets. +Additionally, the values of the coefficients are unknown outside of $s\in [0, 1]$. +We only employ negative offsets such that this unkonwn coefficient range, approximated by a linear extrapolation, only enters at the beginning of the annealing process. + +We verify that our implementation of annealing offsets on the simulator is consistent with D-Wave by solving the following three qubit Hamiltonian +\begin{align} + \label{eq:offset_test_hamiltonian} + H^{\textrm{problem}} = + \begin{pmatrix} + -0.25 & 1 & 0 \\ + 0 & -0.25 & 0 \\ + 0 & 0 & -0.25 + \end{pmatrix} +\end{align} +which has a doubly-degenerate ground state of $(0, 1, 1)$ and $(1, 0, 1)$. An annealing offset is then applied to either qubit 0 or 1, and thus breaks the ground state degeneracy of the system. Because of the systematic error introduced when assigning an offset to a qubit, the final Hamiltonian given by Eq.~(\ref{eq:annealH}) will have small deviations from the input problem Hamiltonian. For example, we expect a negative offset to qubit 0 to Eq.~(\ref{eq:offset_test_hamiltonian}) will yield $(1, 0, 1)$ as the unique ground state given Eq.~(\ref{eq:annealH}). + +We confirm that with different combinations of annealing offsets, the degeneracy is lifted on the D-Wave results as expected by solving for the modified problem Hamiltonian spectrum, as well as dialing in annealing offset in the simulation of this three qubit test case. + + +%---------------------------------------------------------------------------------------- +\subsubsection{Pure Transverse Field Simulation} +\label{sec:methods:simulation_details} +%---------------------------------------------------------------------------------------- +To check the correctness of simulator and unit conversion, we tested a simple annealing schedule for pure transverse field, i.e. $A(s)=A(0)$ and $B(s)=0$. +The initial state is pure zero state $\rho=|00...0\rangle \langle 00...0|$. +In this case the analytical solution can be obtained for the wave function oscillation. +The time-dependent probability is $P_{0}=\cos^{2n}(s)=\cos^{2n}(t/T)$ where $n$ is the number of qubits and $T$ is the annealing time. +For annealing time $T=1/A(0)$, we expect to see perfect one-period oscillation. The energy spectrum for this system can be analytically obtained, so we also checked the Boltzmann distribution in the initial density matrix construction. The oscillation is depicted in Fig.~\ref{figcheck}, where the simulation matches the expected theoretical behavior. + + +\begin{figure} + \centering + \includegraphics[width=\columnwidth]{./vacuum_probability.pdf} + \caption{Time-dependent vacuum probability of 5 qubits system under pure transverse field.} + \label{figcheck} +\end{figure} + + +%======================================================================================== +\section{DATA AVAILABILITY} +\label{sec:open-source} +%======================================================================================== +We provide access to all the software utilized and data presented in this publication in the associated GitHub repository~\cite{github:cchang5/quantum_linear_programming}. +The utilized software is contained in two installable Python modules: +\begin{itemize}[leftmargin=*] + \itemsep0em + \item[] \texttt{qlp} for mapping MDS problems to QUBOs and performing simulations, + \item[] \texttt{qlpdb} for interfacing and documenting simulation and experiment data through EspressoDB~\cite{Chang:2019khk}. +\end{itemize} +The data itself is stored in a SQLite file and associated repository subdirectories. +We provide further documentation in the repository \texttt{readme} file. + + +%======================================================================================== +\section{ACKNOWLEDGEMENTS} +%======================================================================================== + +We thank Long Gang Pang for initial discussions. +We thank David Johnson, Vlad Papish and the rest of D-Wave Support for answering detailed questions about the D-Wave annealer. + +This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Nuclear Physics, Quantum Horizons: QIS Research and Innovation for Nuclear Science under Award Number FWP-NQISCCAWL. +Lawrence Berkeley National Laboratory (LBNL) is operated by The Regents of the University of California (UC) for the U.S. Department of Energy (DOE) under Federal Prime Agreement DE-AC02-05CH11231. +C.K. gratefully acknowledges funding through the Alexander von Humboldt Foundation through a Feodor Lynen Research Fellowship. +This work used resources of the Oak Ridge Leadership Computing Facility, which is a DOE Office of Science User Facility supported under Contract DE-AC05-00OR22725. +This manuscript has been authored by UT-Battelle, LLC under Contract No. DE-AC05-00OR22725 with the U.S. Department of Energy. +The United States Government retains and the publisher, by accepting the article for publication, acknowledges that the United States Government retains a non-exclusive, paid-up, irrevocable, world-wide license to publish or reproduce the published form of this manuscript, or allow others to do so, for United States Government purposes. The Department of Energy will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan. (http://energy.gov/downloads/doe-public-access-plan). + + +%======================================================================================== +\section{AUTHOR CONTRIBUTIONS} +%======================================================================================== + +Initial idea was proposed by Chang. +Ostrowski guided the ILP problem selection. +All authors contributed to the design of test cases. +Calculations and code development for the D-Wave were performed by Chang and K\"orber. +Code for numerical simulations was developed by Chen and K\"orber, and cross-checked by Chang. +Simulations were performed by Chang and Chen. +Chang, Chen, K\"orber, and Humble interpreted the results. +All authors contributed to writing and editing of the final manuscript. + +%======================================================================================== +\section{CORRESPONDING AUTHOR} +%======================================================================================== +Correspondence to chiachang@berkeley.edu. + +%======================================================================================== +\section{ADDITIONAL INFORMATION} +%======================================================================================== + +\textbf{Competing Interests:} The authors declare no competing interests. + +\bibliographystyle{apsrev4-1} +\bibliography{main.bib} +%======================================================================================== +\end{document} diff --git a/paper/v2/mainNotes.bib b/paper/v2/mainNotes.bib new file mode 100644 index 0000000..e69de29 diff --git a/paper/v2/time_dependent_probability.pdf b/paper/v2/time_dependent_probability.pdf new file mode 100644 index 0000000..8aa4eec Binary files /dev/null and b/paper/v2/time_dependent_probability.pdf differ diff --git a/paper/v2/vacuum_probability.pdf b/paper/v2/vacuum_probability.pdf new file mode 100644 index 0000000..d4b1a73 Binary files /dev/null and b/paper/v2/vacuum_probability.pdf differ diff --git a/qlpdb/.dockerignore b/qlpdb/.dockerignore new file mode 100644 index 0000000..acb3016 --- /dev/null +++ b/qlpdb/.dockerignore @@ -0,0 +1,2 @@ +data/ +media/ diff --git a/qlpdb/.gitignore b/qlpdb/.gitignore index b340d9c..bb0cb12 100644 --- a/qlpdb/.gitignore +++ b/qlpdb/.gitignore @@ -1 +1,2 @@ db-config*.yaml +/data/ diff --git a/qlpdb/Dockerfile.postgres b/qlpdb/Dockerfile.postgres new file mode 100644 index 0000000..9e060ac --- /dev/null +++ b/qlpdb/Dockerfile.postgres @@ -0,0 +1,24 @@ +# Load in python image +FROM postgres + +# Who to contact +MAINTAINER Christopher Körber + +# Environment variables and dirs used +ENV WORKDIR=/work + +# Create dirs +RUN mkdir -p $WORKDIR +RUN mkdir -p /docker-entrypoint-initdb.d + +# Copy data file +COPY data.tar.gz $WORKDIR + +# Set workdir +WORKDIR $WORKDIR + +# Extract data +RUN tar -xvzf data.tar.gz + +# Add it to postgres image entrypoints (automatic loading of data on init) +RUN mv data/qlp-dump.sql /docker-entrypoint-initdb.d diff --git a/qlpdb/README.md b/qlpdb/README.md index e69de29..ba86990 100644 --- a/qlpdb/README.md +++ b/qlpdb/README.md @@ -0,0 +1,69 @@ +# qlpdb + +Data module for publication [2009.11970]](https://arxiv.org/abs/2009.11970). +It allows interfacing, searching, and saving database structures through Python objects. + +The data itself is stored using [`git lfs`](https://git-lfs.github.com). +To make sure you have the most recent version, run +```bash +git pull +git lfs pull +``` + +## Requirements + +The implemented data structures require a [PostgreSQL database](https://www.postgresql.org/about/) (`JSON` and `ArrayFields`). +Thus, you first have to set up a [PostgreSQL database server](https://www.postgresql.org/docs/9.1/server-start.html). + +If you prefer a shortcut, we also specify a high-level [Docker setup](https://docs.docker.com/get-docker/). + +## Docker +Once you have [started Docker](https://docs.docker.com/get-started/), you can install the repository software and initialize data structures by running +```bash +docker-compose build # install dependencies +docker compose run db # load in data and start db +``` +in the repository root directory. +The data has been loaded in once you see the message `database system is ready to accept connections`. +Note that this might take a while. +You can now end this process (`Ctrl-c`). +This only needs to be executed once. + +In case data structures have changed, you have to run once +```bash +docker-compose run qlpdb python manage.py migrate +``` + +Finally, to launch the database interface, you can run +```bash +docker-compose up +``` +This data server can be accessed through any web browser at the address +``` +http://localhost:8000 +``` + +## Details +The data is stored in a `.sql` dump file, which is contained in the `data.tar.gz`. +We also provide an `SHA-512` checksum for verifying the data integrity. + +You can create a custom PostgreSQL database and user for loading in the dump file +```bash +psql [-U {USER}] {DBNAME} < data/qlp-dump.sql +``` + +Next, after `pip` installing `qlpdb`, you have to specify the connection information. +This is done by creating and adjusting the `db-config.yaml` file in the `qlpdb` directory. +We provide the example file `db-config.example.yaml` in the same directory. +See also the [EspressoDB docs](https://espressodb.readthedocs.io/en/latest/Usage.html?highlight=db-config#configure-your-project). + +**NOTE: Do not commit or share this file in case the database credentials are sensitive.** + +After credentials are matched to the database, you may have to update data structures by running +```bash +python manage.py migrate +``` +and can launch the data browser by running +```bash +python manage.py runserver +``` diff --git a/qlpdb/data.tar.gz b/qlpdb/data.tar.gz new file mode 100644 index 0000000..3d0c07f --- /dev/null +++ b/qlpdb/data.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eecb0e3dce0a11402326fbe1b4c5b755103e55550920dd909dd7ea1e597681d +size 126214836 diff --git a/qlpdb/db-config.example.yaml b/qlpdb/db-config.example.yaml new file mode 100644 index 0000000..e4c2add --- /dev/null +++ b/qlpdb/db-config.example.yaml @@ -0,0 +1,5 @@ +ENGINE: django.db.backends.postgresql +NAME: qlpdb +USER: admin +PASSWORD: postgres +HOST: db diff --git a/qlpdb/qlpdb/data/migrations/0004_auto_20201013_1333.py b/qlpdb/qlpdb/data/migrations/0004_auto_20201013_1333.py new file mode 100644 index 0000000..641e8e8 --- /dev/null +++ b/qlpdb/qlpdb/data/migrations/0004_auto_20201013_1333.py @@ -0,0 +1,21 @@ +# Generated by Django 3.1.2 on 2020-10-13 13:33 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('data', '0003_data_chain_break_fraction'), + ] + + operations = [ + migrations.AlterField( + model_name='data', + name='user', + field=models.ForeignKey(blank=True, help_text='User who updated this object. Set on save by connection to database. Anonymous if not found.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/qlpdb/qlpdb/experiment/migrations/0010_auto_20201013_1333.py b/qlpdb/qlpdb/experiment/migrations/0010_auto_20201013_1333.py new file mode 100644 index 0000000..ae391ef --- /dev/null +++ b/qlpdb/qlpdb/experiment/migrations/0010_auto_20201013_1333.py @@ -0,0 +1,21 @@ +# Generated by Django 3.1.2 on 2020-10-13 13:33 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('experiment', '0009_auto_20200416_0521'), + ] + + operations = [ + migrations.AlterField( + model_name='experiment', + name='user', + field=models.ForeignKey(blank=True, help_text='User who updated this object. Set on save by connection to database. Anonymous if not found.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/qlpdb/qlpdb/experiment/migrations/0011_auto_20201013_1336.py b/qlpdb/qlpdb/experiment/migrations/0011_auto_20201013_1336.py new file mode 100644 index 0000000..792857a --- /dev/null +++ b/qlpdb/qlpdb/experiment/migrations/0011_auto_20201013_1336.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.2 on 2020-10-13 13:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('experiment', '0010_auto_20201013_1333'), + ] + + operations = [ + migrations.AlterField( + model_name='experiment', + name='settings', + field=models.JSONField(help_text='Store DWave machine parameters'), + ), + ] diff --git a/qlpdb/qlpdb/experiment/models.py b/qlpdb/qlpdb/experiment/models.py index eedddda..13ad038 100644 --- a/qlpdb/qlpdb/experiment/models.py +++ b/qlpdb/qlpdb/experiment/models.py @@ -4,7 +4,7 @@ from django.db import models from espressodb.base.models import Base -from django.contrib.postgres.fields import JSONField +from django.db.models import JSONField from django.db.models import Count, Avg diff --git a/qlpdb/qlpdb/graph/migrations/0003_auto_20201013_1333.py b/qlpdb/qlpdb/graph/migrations/0003_auto_20201013_1333.py new file mode 100644 index 0000000..bca30e9 --- /dev/null +++ b/qlpdb/qlpdb/graph/migrations/0003_auto_20201013_1333.py @@ -0,0 +1,21 @@ +# Generated by Django 3.1.2 on 2020-10-13 13:33 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('graph', '0002_auto_20200311_2252'), + ] + + operations = [ + migrations.AlterField( + model_name='graph', + name='user', + field=models.ForeignKey(blank=True, help_text='User who updated this object. Set on save by connection to database. Anonymous if not found.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/qlpdb/qlpdb/tdse/migrations/0010_auto_20201013_1333.py b/qlpdb/qlpdb/tdse/migrations/0010_auto_20201013_1333.py new file mode 100644 index 0000000..53aedbc --- /dev/null +++ b/qlpdb/qlpdb/tdse/migrations/0010_auto_20201013_1333.py @@ -0,0 +1,21 @@ +# Generated by Django 3.1.2 on 2020-10-13 13:33 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('tdse', '0009_auto_20200502_0754'), + ] + + operations = [ + migrations.AlterField( + model_name='tdse', + name='user', + field=models.ForeignKey(blank=True, help_text='User who updated this object. Set on save by connection to database. Anonymous if not found.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/qlpdb/qlpdb/tdse/migrations/0011_auto_20201013_1336.py b/qlpdb/qlpdb/tdse/migrations/0011_auto_20201013_1336.py new file mode 100644 index 0000000..4224f08 --- /dev/null +++ b/qlpdb/qlpdb/tdse/migrations/0011_auto_20201013_1336.py @@ -0,0 +1,33 @@ +# Generated by Django 3.1.2 on 2020-10-13 13:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('tdse', '0010_auto_20201013_1333'), + ] + + operations = [ + migrations.AlterField( + model_name='tdse', + name='ising', + field=models.JSONField(help_text='Ising parameters: Jij, hi, c, energyscale'), + ), + migrations.AlterField( + model_name='tdse', + name='offset', + field=models.JSONField(help_text='Offset parameters: normalized time, offset, hi_for_offset, offset_min, offset_range, fill_value, anneal_curve'), + ), + migrations.AlterField( + model_name='tdse', + name='solver', + field=models.JSONField(help_text='Solver parameters: method, rtol, atol'), + ), + migrations.AlterField( + model_name='tdse', + name='wave', + field=models.JSONField(help_text='Wavefunction: type (mixed or pure), temp, initial wavefunction (True or transverse)'), + ), + ] diff --git a/qlpdb/qlpdb/tdse/models.py b/qlpdb/qlpdb/tdse/models.py index bbd4fc7..fe844c4 100644 --- a/qlpdb/qlpdb/tdse/models.py +++ b/qlpdb/qlpdb/tdse/models.py @@ -4,7 +4,7 @@ import numpy as np from django.db import models from espressodb.base.models import Base -from django.contrib.postgres.fields import JSONField +from django.db.models import JSONField from django.contrib.postgres.fields import ArrayField diff --git a/qlpdb/requirements.txt b/qlpdb/requirements.txt index c3aa11b..0c71626 100644 --- a/qlpdb/requirements.txt +++ b/qlpdb/requirements.txt @@ -1,6 +1,11 @@ -Django +Django>=3.1 django-bootstrap4 django-widget-tweaks -espressodb +django-picklefield +espressodb>=1.2 plotly +jupyter dwave-ocean-sdk +psycopg2 +matplotlib +qlp diff --git a/qlpdb/settings.yaml b/qlpdb/settings.yaml index b66b843..35562a3 100644 --- a/qlpdb/settings.yaml +++ b/qlpdb/settings.yaml @@ -4,5 +4,5 @@ PROJECT_APPS: - qlpdb.experiment - qlpdb.data - qlpdb.tdse -ALLOWED_HOSTS: [] +ALLOWED_HOSTS: ["*"] DEBUG: True