/qml-documentation

This repository consists of documentation regarding quantum machine learning (QML), covering both beginner's guides and advanced topics.

OtherNOASSERTION

Quantum Machine Learning Documentation

This repository contains comprehensive documentation on Quantum Machine Learning (QML), aimed at beginners and practitioners interested in exploring the intersection of quantum computing and machine learning.

Table of Contents

  1. How to get started with the documentation
  2. Contribution Guidelines
  3. Status of the Project
  4. Installation
  5. Project Structure
  6. License

How to get started with the documentation

When you go to the live website or local server after installation, you will see the following tabs in the navigation bar:

Navigation Tabs image ie: the overview, documentation, references, and the search bar.

  • The Overview tab contains the introduction to the documentation.
  • The Documentation tab contains the main content of the documentation.
  • The References tab contains the references used in the documentation.

The Documentation tab contains the following sub-tabs:

Documentation subtabs

  • The Documentation sub-tab contains a very brief about what is quantum machine learning.
  • The Notations sub-tab contains all the notations used in the documentation.
  • The Fundamentals sub-tab contains the in-depth introduction to concepts of quantum mechanics to understand fundamentals of quantum machine learning.
  • The Quantum Gates and Circuits sub-tab contains the in-depth introduction and walkthrough of quantum gates and circuits.

If you are beginner, then you should start with the Notations sub-tab, then move to the Fundamentals sub-tab, and then to the Quantum Gates and Circuits sub-tab.

Status of the Project

  • The framework of the documentation is ready.
  • Overview.
  • General issues in QC.
  • Notations and representations.
  • Fundamentals of Quantum Mechanics.
    • Qubits.
    • Superposition.
    • Entanglement.
    • Bloch Sphere.
  • Understanding Quantum gates (analogy with classical gates).
    • Single qubit gates.
      • Pauli gates.
      • Hadamard gate.
      • Phase gate.
      • T gate.
      • S gate.
      • U gate.
    • Multi qubit gates.
      • CNOT gate.
      • SWAP gate.
      • Toffoli gate.
      • Fredkin gate.
      • Controlled U gate.
      • Controlled phase gate.
    • Universal gates.
      • X, Y, Z gates.
      • Hadamard gate.
      • CNOT gate.
      • Toffoli gate.
      • SWAP gate.
      • Fredkin gate.
  • Quantum circuits.
    • How to construct any circuit.
  • Quantum ML algorithms (algos like SVM, KNN etc).
  • Quantum Neural Networks.
  • Quantum Convolutional Neural Networks.
  • Quantum Generative Adversarial Networks.
  • Quantum Reinforcement Learning.
  • Quantum Transfer Learning.
  • Quantum Autoencoders.

Installation

before you start, make sure you have the following installed:

  • Python 3.6 or later

install virtualenv using pip:

pip install virtualenv

create a virtual environment for windows using the following command:

python -m virtualenv venv

create a virtual environment for linux using the following command:

virtualenv venv

activate the virtual environment for windows using the following command:

venv\Scripts\activate

activate the virtual environment for linux using the following command:

source venv/bin/activate

install the required packages using the following command:

pip install -r requirements.txt

starting the mkdocs server

mkdocs serve

now you can access the documentation at http://localhost:8000/ in your browser.

Project Structure

The project structure is as follows:

├───.github
│   ├───ISSUE_TEMPLATE
│   └───workflows
├───docs
│   ├───assets
│   ├───documentation
│   |   ├───index.md
│   |   ├───concepts.md
│   |   ├───notations.md
│   ├───javascripts
|   |   |───katex.js
|   |   |───mathjax.js
│   ├───overview
│   |   ├───index.md
│   ├───references
│   └───stylesheets
│       └───extra.css
└───mkdocs.yml

mkdocs.yml is the configuration file for the documentation, it contains the site name, the pages, and the theme.

docs is the folder that contains the documentation pages, it contains the index.md file which is the home page of the documentation, and the stylesheets folder which contains the extra.css file that contains the custom styles for the documentation.

To create a new page (ie the tab), go to docs folder and create a new markdown file with the name of the page you want to create. Automatically, the new page will be added to the navigation bar.

If you want to add any new pulgins, then refer to this website for reference mkdocs plugins

If you want to change the setup of the documentation, then refer to this website for reference mkdocs setup

License

MIT License