Skip to content

Commit

Permalink
Merge pull request #279 from cda-tum/docs-update
Browse files Browse the repository at this point in the history
📝 Prepare docs for new release
  • Loading branch information
burgholzer committed Aug 11, 2023
2 parents 1f33609 + 4f2538d commit cc9458c
Show file tree
Hide file tree
Showing 11 changed files with 46 additions and 21 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 Stefan Hillmich, Lukas Burgholzer, Thomas Grurl, and Robert Wille
Copyright (c) 2023 Chair for Design Automation, Technical University of Munich

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,20 @@

# MQT DDSIM - A quantum circuit simulator based on decision diagrams written in C++

A tool for classical quantum circuit simulation by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/).
DDSIM is part of the Munich Quantum Toolkit (MQT; formerly known as JKQ and developed by the [Institute for Integrated Circuits](https://iic.jku.at/) at the [Johannes Kepler University Linz](https://jku.at)).
It builds upon [MQT Core](https://github.com/cda-tum/mqt-core).
A tool for classical quantum circuit simulation developed as part of the [_Munich Quantum Toolkit_](https://mqt.readthedocs.io) (_MQT_)[^1] by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/).
It builds upon [MQT Core](https://github.com/cda-tum/mqt-core), which forms the backbone of the MQT.

**Detailed documentation on all available formats, options, and algorithms is available at [ReadTheDocs](https://ddsim.readthedocs.io/en/latest/).**
<p align="center">
<a href="https://mqt.readthedocs.io/projects/ddsim">
<img width=30% src="https://img.shields.io/badge/documentation-blue?style=for-the-badge&logo=read%20the%20docs" alt="Documentation" />
</a>
</p>

If you have any questions, feel free to contact us via [quantum.cda@xcit.tum.de](mailto:quantum.cda@xcit.tum.de) or by creating an [issue](https://github.com/cda-tum/mqt-ddsim/issues) on GitHub.

## Getting Started

DDSIM bundled with the provider and backends for Qiskit is available via [PyPI](https://pypi.org/project/mqt.ddsim/) for Linux, macOS, and Windows.
DDSIM bundled with the provider and backends for Qiskit is available via [PyPI](https://pypi.org/project/mqt.ddsim/) for Linux, macOS, and Windows and supports Python 3.8 to 3.12.

```console
(venv) $ pip install mqt.ddsim
Expand All @@ -51,10 +54,12 @@ counts = job.result().get_counts(circ)
print(counts)
```

**Detailed documentation on all available methods, options, and input formats is available at [ReadTheDocs](https://mqt.readthedocs.io/projects/ddsim).**

## System Requirements and Building

The implementation is compatible with any C++17 compiler and a minimum CMake version of 3.19.
Please refer to the [documentation](https://ddsim.readthedocs.io/en/latest/) on how to build the project.
Please refer to the [documentation](https://mqt.readthedocs.io/projects/ddsim) on how to build the project.

Building (and running) is continuously tested under Linux, macOS, and Windows using the [latest available system versions for GitHub Actions](https://github.com/actions/virtual-environments).

Expand All @@ -68,3 +73,5 @@ DDSIM has been developed based on methods proposed in the following papers:
- L. Burgholzer, H. Bauer, and R. Wille, "[Hybrid Schrödinger-Feynman Simulation of Quantum Circuits With Decision Diagrams](https://www.cda.cit.tum.de/files/eda/2021_qce_hybrid_schrodinger_feynman_simulation_with_decision_diagrams.pdf)," Conference on Quantum Computing and Engineering (QCE), 2021
- L. Burgholzer, A.Ploier, and R. Wille, "[Exploiting Arbitrary Paths for the Simulation of Quantum Circuits with Decision Diagrams](https://www.cda.cit.tum.de/files/eda/2022_date_exploiting_arbitrary_paths_simulation_quantum_circuits_decision_diagrams.pdf)," in Design, Automation and Test in Europe (DATE), 2022
- T. Grurl, J. Fuß, and R. Wille, "[Noise-aware Quantum Circuit Simulation With Decision Diagrams](https://www.cda.cit.tum.de/files/eda/2022_tcad_noise-aware_quantum_circuit_simulation_with_decision_diagrams.pdf)," Transactions on CAD of Integrated Circuits and Systems (TCAD), 2022.

[^1]: The Munich Quantum Toolkit was formerly known under the acronym _JKQ_ and developed by the [Institute for Integrated Circuits](https://iic.jku.at/eda/) at the [Johannes Kepler University Linz](https://jku.at)).
2 changes: 1 addition & 1 deletion docs/source/Contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ You can contribute in several ways:
Look through the `GitHub Issues <https://github.com/cda-tum/mqt-ddsim/issues>`_ for features. Anything tagged with "feature" is open to whoever wants to implement it. We highly appreciate external contributions to the project.

- 📝 Write Documentation
DDSIM could always use some more `documentation <https://ddsim.readthedocs.io/en/latest/>`_, and we appreciate any help with that.
DDSIM could always use some more `documentation <https://mqt.readthedocs.io/projects/ddsim>`_, and we appreciate any help with that.

Get Started
###########
Expand Down
6 changes: 3 additions & 3 deletions docs/source/Installation.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Installation
============

MQT DDSIM is mainly developed as a C++ library that builds upon `MQT Core <https://github.com/cda-tum/mqt-core.git>`_.
MQT DDSIM is mainly developed as a C++ library that builds upon `MQT Core <https://github.com/cda-tum/mqt-core.git>`_, which forms the backbone of the `MQT <https://mqt.readthedocs.io>`_.
In order to make the tool as accessible as possible, it comes with an easy-to-use Python interface.

We encourage installing DDSIM via pip (preferably in a `virtual environment <https://docs.python.org/3/library/venv.html>`_):
Expand Down Expand Up @@ -95,7 +95,7 @@ In order to get the best performance out of DDSIM and enable platform-specific c
This requires a `C++ compiler <https://en.wikipedia.org/wiki/List_of_compilers#C++_compilers>`_ supporting C++17 and a minimum `CMake <https://cmake.org/>`_ version of 3.19.

The library is continuously tested under Linux, MacOS, and Windows using the `latest available system versions for GitHub Actions <https://github.com/actions/virtual-environments>`_.
In order to access the latest build logs, visit `ddsim/actions/workflows/ci.yml <https://github.com/cda-tum/mqt-ddsim/actions/workflows/ci.yml>`_.
In order to access the latest build logs, visit `mqt-ddsim/actions/workflows/ci.yml <https://github.com/cda-tum/mqt-ddsim/actions/workflows/ci.yml>`_.

.. note::
We noticed some issues when compiling with Microsoft's MSCV compiler toolchain.
Expand All @@ -118,7 +118,7 @@ python bindings) in *Release* mode for DDSIM.
$ git clone --recurse-submodules https://github.com/cda-tum/mqt-ddsim
[...]
$ cd ddsim
$ cd mqt-ddsim
$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBINDINGS=ON -DBUILD_DDSIM_TESTS=ON
[...]
$ cmake --build build --config Release
Expand Down
5 changes: 5 additions & 0 deletions docs/source/Publications.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
Publications
============

*DDSIM* is academic software. Thus, many of its built-in algorithms have been published as scientific papers.

If you use *DDSIM* in your work, we would appreciate if you cited the respective papers.
A full list of related papers is given below.

.. bibliography::
2 changes: 1 addition & 1 deletion docs/source/Simulators.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Simulators
==========

DDSIM offers different kinds of simulators to use. The following documentation gives an overview of the different simulator
followed by brief demonstatrations of the usage in Python and as standalone executable.
followed by brief demonstrations of the usage in Python and as standalone executable.

All simulators immediately, or with steps in between, inherit from the abstract :cpp:class:`Simulator` class that provides
basic functionality used by multiple actual simulators.
Expand Down
2 changes: 1 addition & 1 deletion docs/source/Support.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ If you are stuck with a problem using DDSIM or are having questions, please do g

You can save time by following this procedure when reporting a problem:

- Do try to solve the problem on your own first. Make sure to consult the `Documentation <https://ddsim.readthedocs.io/en/latest/>`_.
- Do try to solve the problem on your own first. Make sure to consult the `Documentation <https://mqt.readthedocs.io/projects/ddsim>`_.
- Search through past `Issues <https://github.com/cda-tum/mqt-ddsim/issues>`_ to see if someone else already had the same problem.
- Before filing a bug report, try to create a minimal working example (MWE) that reproduces the problem. It's much easier to identify the cause for the problem if a handful of lines suffice to show that something isn't working.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/Usage.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"source": [
"# Usage from Python\n",
"\n",
"MQT DDSIM is available for multiple Python versions (>=3.7) from [PyPI](https://pypi.org/project/mqt.ddsim/). \n",
"MQT DDSIM is available for multiple Python versions (>=3.8) from [PyPI](https://pypi.org/project/mqt.ddsim/). \n",
"Using it as backend for [Qiskit](https://qiskit.org/) additionally requires at least [qiskit-terra](https://pypi.org/project/qiskit-terra/).\n",
"\n",
"In a [virtual environment](https://docs.python.org/3/tutorial/venv.html) you can use the following snippet:\n",
Expand Down
15 changes: 10 additions & 5 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
Welcome to MQT DDSIM's documentation!
=================================

A tool for quantum circuit simulation by the `Chair for Design Automation <https://www.cda.cit.tum.de/>`_ at the `Technical University of Munich <https://www.tum.de/>`_.
DDSIM is part of the Munich Quantum Toolkit (MQT; formerly known as JKQ and developed by the `Institute for Integrated Circuits <https://iic.jku.at/eda/>`_ at the `Johannes Kepler University Linz <https://jku.at>`_).
It builds upon [MQT Core](https://github.com/cda-tum/mqt-core) which provides handling for quantum circuits and decision diagrams.
DDSIM is a tool for quantum circuit simulation developed as part of the `Munich Quantum Toolkit <https://mqt.readthedocs.io>`_ (*MQT*) [#]_ by the `Chair for Design Automation <https://www.cda.cit.tum.de/>`_ at the `Technical University of Munich <https://www.tum.de>`_. It builds upon `MQT Core <https://github.com/cda-tum/mqt-core>`_, which forms the backbone of the MQT.

For more information, on our work on quantum circuit simulation please visit `www.cda.cit.tum.de/research/quantum_simulation <https://www.cda.cit.tum.de/research/quantum_simulation>`_ or, for more information on our work on noise-aware quantum circuit simulation, please visit `www.cda.cit.tum.de/research/noise_aware_simulation <https://www.cda.cit.tum.de/research/noise_aware_simulation/>`_.
We recommend you to start with the :doc:`installation instructions <Installation>` and then proceed to the :doc:`quickstart guide <Quickstart>`.
If you are interested in the theory behind QCEC, have a look at the publications in the :doc:`publication list <Publications>`.

If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de or by creating an `issue <https://github.com/cda-tum/mqt-ddsim/issues>`_ on GitHub.
We appreciate any feedback and contributions to the project. If you want to contribute, you can find more information in the :doc:`Contribution <Contributing>` guide. If you are having trouble with the installation or the usage of DDSIM, please let us know at our :doc:`Support <Support>` page.


----
Expand Down Expand Up @@ -45,3 +44,9 @@ If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de o

api/modules
api/Cpp

----

.. rubric:: Footnotes

.. [#] The Munich Quantum Toolkit was formerly known under the acronym *JKQ* :cite:labelpar:`wille2020JKQtools` and developed by the `Institute for Integrated Circuits <https://iic.jku.at/eda/>`_ at the `Johannes Kepler University Linz <https://jku.at>`_.
8 changes: 8 additions & 0 deletions docs/source/refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -128,3 +128,11 @@ @inproceedings{DBLP:conf/iccad/ZulehnerHW19
bibsource = {dblp computer science bibliography, https://dblp.org},
url = {https://www.cda.cit.tum.de/files/eda/2019_iccad_implementing_decision_diagrams_for_quantum_computing.pdf}
}

@inproceedings{wille2020JKQtools,
title = {{JKQ}: {JKU} Tools for Quantum Computing},
booktitle = {International Conference On Computer Aided Design},
author = {Wille, Robert and Hillmich, Stefan and Burgholzer, Lukas},
year = {2020},
url = {https://www.cda.cit.tum.de/files/eda/2020_iccad_jku_tools_for_quantum_computing.pdf}
}
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ description = "A quantum simulator based on decision diagrams written in C++"
readme = "README.md"
authors = [
{ name = "Stefan Hillmich", email = "stefan.hillmich@jku.at"},
{ name = "Lukas Burgholzer", email = "lukas.burgholzer@jku.at"}
{ name = "Lukas Burgholzer", email = "lukas.burgholzer@tum.de"}
]
keywords = ["MQT", "quantum computing", "design automation", "quantum circuit simulation", "simulation"]
license = { file = "LICENSE" }
Expand Down Expand Up @@ -73,7 +73,7 @@ dev = ["mqt.ddsim[tnflow, coverage, docs]"]

[project.urls]
Homepage = "https://github.com/cda-tum/mqt-ddsim"
Documentation = "https://ddsim.readthedocs.io"
Documentation = "https://mqt.readthedocs.io/projects/ddsim"
"Bug Tracker" = "https://github.com/cda-tum/mqt-ddsim/issues"
Discussions = "https://github.com/cda-tum/mqt-ddsim/discussions"
Research = "https://www.cda.cit.tum.de/research/quantum_simulation/"
Expand Down

0 comments on commit cc9458c

Please sign in to comment.