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

Add all-in-one wrappers. #182

Merged
merged 27 commits into from
Aug 19, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
59ea29b
Process tomo notebook pointers to obs_est and parallel example.
kylegulshen Jul 8, 2019
26907d8
Correct process tomo nb import and include in testing.
kylegulshen Jul 8, 2019
1af0fcb
Show how to separate the parallel results.
kylegulshen Jul 8, 2019
cc4f06f
Move and rename results_by_qubit_groups to obs_est.
kylegulshen Jul 8, 2019
a527ef2
Add helper to merge experiments, add to tomo notebooks.
kylegulshen Jul 8, 2019
7c0b452
minor tweak to nb test.
kylegulshen Jul 8, 2019
08a7307
Add DFE example.
kylegulshen Jul 9, 2019
b6a7c2f
Change qc to noisy for last example process tomo
kylegulshen Jul 9, 2019
8200f4f
DFE refactor api and add all-in-one do_dfe method.
kylegulshen Jul 9, 2019
fa1bf6f
Add do_rb.
kylegulshen Jul 10, 2019
5a6a5ab
Add do_tomo and tqdm to obs_est, dfe.
kylegulshen Jul 10, 2019
094db1b
address PR comments.
kylegulshen Jul 16, 2019
2c15cba
Remove warning import
kylegulshen Jul 16, 2019
f10b7b1
Update after default group, replace accidental excluded import.
kylegulshen Jul 16, 2019
1bda550
Merge branch 'll-expt-dfe-tomo' into all-in-one
kylegulshen Jul 22, 2019
2fd2dcd
Update examples notebooks dfe arg order.
kylegulshen Jul 22, 2019
02b5444
No need for test_qc after obs_est refactor.
kylegulshen Jul 22, 2019
ab31a9f
small bugfixes.
kylegulshen Jul 22, 2019
0d734f4
Add tests.
kylegulshen Jul 23, 2019
eea3e8f
Add do test for process tomo.
kylegulshen Jul 23, 2019
1c0f86a
Add do_t1_or_t2 and do_rpe.
kylegulshen Jul 23, 2019
29c2e2b
Make test more tolerant.
kylegulshen Jul 23, 2019
14acb19
Standardize rpe estimate arg order, fix tests.
kylegulshen Jul 23, 2019
612448c
Expand do_rpe docstring.
kylegulshen Jul 24, 2019
4fd7ad6
Clean up the docs (#183)
kylegulshen Aug 5, 2019
53878f0
Merge branch 'master' into all-in-one
kylegulshen Aug 9, 2019
817eed4
Merge branch 'master' into all-in-one
Aug 19, 2019
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ instance/

# Sphinx documentation
docs/_build/
docs/operator_tools/autogen

# PyBuilder
target/
Expand Down
1 change: 1 addition & 0 deletions Link to examples
1 change: 0 additions & 1 deletion docs/_templates/layout.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{% extends "!layout.html" %}
{% set script_files = script_files + ["_static/mathjax_macros.js"] %}
{% block extrahead %}
{{ super() }}
{% endblock %}
9 changes: 4 additions & 5 deletions docs/class_logic.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.. currentmodule:: forest.benchmarking.classical_logic
.. module:: forest.benchmarking.classical_logic

Classical Logic
===============

Expand All @@ -7,11 +8,10 @@ The code is contained in the module `classical_logic`.

The benchmark is simplistic and not very rigorous as it does not test any specific feature of the hardware. Further the whole circuit is classical in the sense that we start and end in computational basis states and all gates simply perform classical not, controlled not (`CNOT`), or doubly controlled not (`CCNOT` aka a Toffoli gate). Finally, even for the modest task of adding two one bit numbers, the `CZ` gate (our fundamental two qubit gate) count is very high for the circuit. This in turn implies a low probability of the entire circuit working.

Running DFE
-----------

.. todo:: Put an overview or mini tutorial here.
.. toctree::

examples/ripple_adder_benchmark

Circuit Primitives
------------------
Expand All @@ -28,7 +28,6 @@ Circuit Primitives

Ripple Carry adder
------------------
.. currentmodule:: forest.benchmarking.direct_fidelity_estimation
.. autosummary::
:toctree: autogen
:template: autosumm.rst
Expand Down
13 changes: 4 additions & 9 deletions docs/compilation.rst
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
.. currentmodule:: forest.benchmarking.compilation
.. module:: forest.benchmarking.compilation

Basic Compilation
=================

Rigetti's native compiler ``quilc`` is a highly advanced and world class complier. It
Rigetti's native compiler ``quilc`` is a highly advanced and world class compiler. It
has many features to optimize the performance of quantum algorithms.

In QCVV we need to be certain that the circuit we wish to run is the one that is run. For this
reason we have built the module ``compilation`` it's functionality is rudimentary but easy to
reason we have built the module ``compilation``. Its functionality is rudimentary but easy to
understand.

Overview of Basic Compile
-------------------------

.. todo:: Put an overview or mini tutorial here.


Basic Compile
-------------

Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.autosummary',
'sphinx_autodoc_typehints',
# 'sphinx_autodoc_typehints',
'sphinx.ext.doctest',
'sphinx.ext.todo',
'sphinx.ext.intersphinx',
Expand All @@ -59,7 +59,7 @@
autosummary_generate = True

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates/']
templates_path = ['_templates']

# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
Expand Down
38 changes: 28 additions & 10 deletions docs/dfe.rst
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
.. module:: forest.benchmarking.direct_fidelity_estimation

Direct Fidelity Estimation
==========================

Direct fidelity estimation (DFE) uses knowledge about the target state or process to perform a
target measurements to quickly certify a quantum state or a quantum process at lower cost than full
tomography.
Direct fidelity estimation (DFE) uses knowledge about the ideal target state or process to perform
a tailored set of measurements to quickly certify a quantum state or a quantum process at lower
cost than full tomography.

.. toctree::

Running DFE
-----------
examples/direct_fidelity_estimation

.. todo:: Put an overview or mini tutorial here.
.. autosummary::
:toctree: autogen
:template: autosumm.rst

do_dfe

State DFE
---------
.. currentmodule:: forest.benchmarking.direct_fidelity_estimation
.. autosummary::
:toctree: autogen
:template: autosumm.rst

generate_exhaustive_state_dfe_experiment
generate_monte_carlo_state_dfe_experiment
acquire_dfe_data
estimate_dfe


Process DFE
Expand All @@ -33,5 +35,21 @@ Process DFE

generate_exhaustive_process_dfe_experiment
generate_monte_carlo_process_dfe_experiment


Data Acquisition
----------------
.. autosummary::
:toctree: autogen
:template: autosumm.rst

acquire_dfe_data
estimate_dfe


Analysis
--------
.. autosummary::
:toctree: autogen
:template: autosumm.rst

estimate_dfe
5 changes: 4 additions & 1 deletion docs/dist_meas.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. currentmodule:: forest.benchmarking.distance_measures
.. module:: forest.benchmarking.distance_measures

Distance Measures
=================
Expand All @@ -10,6 +10,9 @@ allows you to explore some quantitative measures of comparing quantum states and

Distance measures between states or processes can be subtle. We recommend thinking about the *operational interpretation* of each measure before using the measure.

.. toctree::

examples/distance_measures

Distance measures between quantum states
----------------------------------------
Expand Down
5 changes: 4 additions & 1 deletion docs/ent_states.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
.. currentmodule:: forest.benchmarking.entangled_states
.. module:: forest.benchmarking.entangled_states

Entangled States
================

The module ``entangled_states.py`` allows you to simply create graph states GHZ states.

.. toctree::

examples/entangled_states

.. autosummary::
:toctree: autogen
Expand Down
Loading