/qecft

The book A Methods Focused Guide to Quantum Error Correction and Fault-Tolerant Quantum Computation

Primary LanguageJupyter NotebookOtherNOASSERTION

A Methods Focused Guide to Quantum Error Correction and Fault-Tolerant Quantum Computation

This is a mini-book for a senior undergrad or junior graduate student who is already familiar with the fundamentals of quantum computing. This book is authored by Abdullah Khalid.

To read this book, clone this repository and open contents.ipynb.

An online copy of the book is available here

Citing

To cite this book, please use the following bibtex entry

@book{abdullahkhalid2023,
  title = {A Methods Focused Guide to Quantum Error Correction and Fault-Tolerant Quantum Computation},
  author = {Abdullah Khalid},
  year = 2023,
}

Building the html version

I use python3.10 for building the book. To build the book, ideally first create a virtual environment.

python -m pip install virtualenv # if you don't already have this installed
virtualenv -p python3.10 envqecft
source envqecft/bin/activate

Then install dependencies.

pip install -r requirements.txt

Finally, you can build or rebuild the book as follows.

make

If you want to host the site locally for testing purposes, open bookcreator.py and set SITEURL = 'http://localhost:8000'. Then, launch a local web server with

python -m http.server -d build

Building the table of contents for the jupyter notebooks

The contents.ipynb file is created using the python script toc.py. This should be run every time there are any changes in the table of contents. This script depends on two parts. Inside chapters and every subfolder there is an order file, containing a list of file names. This file specifies the order of the chapters and sections respectively. Inside each subfoler, there is additionally a caption file that specifies the name of the chapter, as it appears in the table of contents.

Building the forum (development)

Automatic (for unix based systems)

Open the terminal and run the following command

./forum.sh

Make sure to give the necessary permissions to the script.

Manual

Install the required dependencies by running the following command:

pip install -r requirements.txt

start the server by opening the terminal and running the command

cd forum
python forumcreator.py

Connect the server with Isso by executing the following command in the terminal:

isso -c isso.cfg run

This command starts Isso with the host and listen configurations defined in the isso.cfg file.

Note: If you want to change the listen configuration, make sure to update it in the forumcreator.py file.

<script src="//localhost:8017/js/embed.min.js"></script>
<script>
    var issoConfig = {
        // Isso server endpoint
        'host': 'http://localhost:8017/',
        'target': 'isso-thread',
        'thread': '{{ request.path }}',
    };
</script>

License

Acknowledgements

The initial drafts of this book were produced with the help of a grant by the Unitary Fund.