Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update readme #330

Merged
merged 3 commits into from
Aug 27, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 42 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,81 +6,70 @@


# Mitiq
A Python toolkit for implementing error mitigation on quantum computers.

## Documentation
The full documentation is available at [mitiq.readthedocs.io](https://mitiq.readthedocs.io).
Mitiq is a Python toolkit for implementing error mitigation techniques on quantum computers.

A pdf with the documentation updated to the latest release can be found
[here](docs/pdf/).
## Installation

## Features
Mitiq is an open-source Python library that interfaces with multiple front-end quantum programming languages to implement
[error-mitigation](https://mitiq.readthedocs.io/en/latest/guide/guide_06-error-mitigation.html) techniques
on various real and simulated quantum processors.
Mitiq can be installed from PyPi via

Mitiq is compatible with [Cirq](https://github.com/quantumlib/Cirq), [Qiskit](https://github.com/Qiskit), and [PyQuil](https://github.com/rigetti/pyquil).
```bash
pip install mitiq
```

Mitiq currently implements [zero-noise extrapolation](https://mitiq.readthedocs.io/en/latest/guide/guide_06-error-mitigation.html#zero-noise-extrapolation) and is designed to be modular to support [additional techniques](https://github.com/unitaryfund/mitiq/wiki).
To test installation, run

## Contents
```
mitiq/mitiq/
| benchmarks
|- maxcut
|- random_circuits
|- randomized_benchmarking
|- utils
| mitiq_pyquil
|- conversions
|- pyquil_utils
|- quil
| mitiq_qiskit
|- conversions
|- qiskit_utils
| zne
|- zne
|- inference
|- scaling
```python
import mitiq
mitiq.about()
```
## Installation

To install locally use:
This prints out version information about core requirements and optional quantum software packages which Mitiq can
interface with.

```bash
pip install -e .
```
### Supported quantum programming languages

To install the requirements for development use:
Mitiq can currently interface with

```bash
pip install -r requirements.txt
```
* [Cirq](https://github.com/quantumlib/Cirq) >= 0.9.0,
* [Qiskit](https://qiskit.org/) >= 0.19.0, and
* [pyQuil](https://github.com/rigetti/pyquil) >= 2.18.0.

Cirq is a core requirement of Mitiq and is automatically installed. To use Mitiq with other quantum programming
languages, install the optional package(s) following the instructions linked above.

### Supported quantum processors

Mitiq can be used on any quantum processor which can be accessed by supported quantum programming languages and is
available to the user.

Note that this will install our testing environment that depends
on `qiskit` and `pyquil`.
## Getting started

## Use
A [Getting Started](https://mitiq.readthedocs.io/en/latest/guide/guide_02-getting-started.html)
tutorial can be found in the [documentation](https://mitiq.readthedocs.io).
See this [getting started](https://mitiq.readthedocs.io/en/latest/guide/guide-getting-started.html) guide in
[Mitiq's documentation](https://mitiq.readthedocs.io).

## Error mitigation techniques

## Development and Testing
Mitiq currently implements [zero-noise extrapolation](https://mitiq.readthedocs.io/en/latest/guide/guide-zne.html) and
is designed to support [additional techniques](https://github.com/unitaryfund/mitiq/wiki).

Ensure that you have installed the development environment. Then you can run
the tests using `make test` and build the docs using `make docs`. For more
information, see the contributor's guide (linked below).
## Documentation

Mitiq's documentation is hosted at [mitiq.readthedocs.io](https://mitiq.readthedocs.io). A PDF version of the latest
release can be found [here](https://mitiq.readthedocs.io/_/downloads/en/latest/pdf/).

## Contributing
You can find information on contributing to `mitiq` code in the [contributing guidelines](CONTRIBUTING.md).
## Developer information

To contribute to the documentation, read the
[instructions](docs/README-docs.md) in the `mitiq/docs` folder.
We welcome contributions to Mitiq including bug fixes, feature requests, etc. Please see the
[contribution guidelines](https://github.com/unitaryfund/mitiq/blob/master/CONTRIBUTING.md) for more details. To contribute to the documentation, please see these
[documentation guidelines](https://github.com/unitaryfund/mitiq/blob/master/docs/CONTRIBUTING_DOCS.md).


## Authors

An up-to-date list of authors can be found
[here](https://github.com/unitaryfund/mitiq/graphs/contributors)
[here](https://github.com/unitaryfund/mitiq/graphs/contributors).

## License

[GNU GPL v.3.0.](LICENSE)