Skip to content

Commit

Permalink
Update main to move to trunk-based development (#109)
Browse files Browse the repository at this point in the history
* Uniform task labels (#36)

* Make _label case uniform

A VERY small PR making the case used for _label uniform.

* Capitalise Ex

* Pytket v1 upgrade (#41)

* Upgrade to pytket v1.0.1

This primarily includes:
- remove Rebase passes
- change module names

* Remove unused imports

* Add capitilisation

* Update docs with change to pytket version

* Correct version requirements

* Correct verson requirements

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>

* Remove Partial SPAM correcter (#42)

* remove all traces

* update docs

* Update build_and_test.yml

* Remove copy.copy (#43)

* update use of copy.copy in code

remove in many cases

* copy.deepcopy -> deepcopy

* reintroduce necessary copy

* fix typo

* Add ObservableTracker.clear method (#44)

* Shot splitter mitres (#40)

* Add shot splitting mitres

* Better python practice with shot splitting

* Correct comment format

* Change function name

* Add a compiled shot splitting metres

* Correct typing on split_index

* Use OutcomeArray to gather results

* Correct comment spelling

* Add splitting mitres to docs

* Rebuild docs

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>

* Remove appendix from LICENSE file (#46)

* Update graph visualisation (#37)

* update to vertical visualisation

* Update mitresgraph.png

* Delete mitresgraph.png

* update manual images

* update mitex manual images

* update docs image

* rebuild docs and manual

Co-authored-by: sjdilkes <[email protected]>

* Add basic "_cache" attribute for storing all generated edge data from run() (#47)

* add bad cache

* smarten how cache works

* qermit.mittask -> qermit.taskgraph

* add .cache to mitres and mitex

* remove redundant print

* add "run_basic" method (#48)

* Correct qubit mutation (#50)

* Add qubit relabelling task

* Correct typing

* Add documentation

* Add tests

* Code reformatting

* Correct manual

* Rebuild docs

* Add missing tasks to docs

Co-authored-by: Daniel Mills <[email protected]>

* Minor edits, rebuild docs and manual (#49)

* add bad cache

* smarten how cache works

* qermit.mittask -> qermit.taskgraph

* add .cache to mitres and mitex

* add "run_basic" method

* fix obvious issues

* qermit -> Qermit

* Update index.rst

* Update index.rst

* q -> Q

* rebuild manual and docs

* remove print

* rebuild docs and manual

* add "real" string back

* update docs

* update docs

* Update pytket version to 1~(#55)

* update pytket

* update

* Remove pytket from test requirements, and cast mean

* Update zne.py

* Remove use of RebaseToCliffordSingles

* BLACK FORMAT

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: sjdilkes <[email protected]>

* Add `characterisation` attribute to TaskGraph and pass as kwarg to TaskGraph.run  (#61)

* Update _version.py

* Update zne_test.py

* Add characterisation attribute to taskgraph

allow to be passed at run

* ignore numpy

* set mittask characterisation attribute when running

* Update frame_randomisation_test.py

* update pytket version

* Update frame_randomisation_test.py

* revert pytket changes

* update versioning

* Update SPAM correction to use characterisation instead of BackendInfo

* Update full_spam_test.py

* use characteriastoin in CCL

* update manual

* Add Spectral Filtering Method (#63)

* Initial commit with outline of protocol

* Remove unnecessary wires

* Add result extraction

* Output qpo

* Add test

* Add characterisation cache

* Add documentation

* Add spectral filtering tests

* Generalise tests to more complicated qpo

* Add type annotation

* Remove caches

* Add documentation

* Split FFT from formatting component

* Add tests for graph generation and new FFT and formating task

* Add tests, docs and type annotation for small coefficient filter

* Document FFT and related tasks

* Document SignalFilter

* Clean up some documentation

* Minor corrctions to typing

* Simplify NDArray typing

* Change to List type annotation

* Add additioinal documentation

* Address Silas PR comments

* Code Formatting

* Formatting and type checking

* Add compiled docs

* Compile manual

* Add spectral fiiltering to docs index

* Remove use of np array

* Correct typing

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>

* Update python version (#66)

* Update copyright (#69)

* Update pytket version to 1.11(#67)

* Change copyright

* Add noise scaling via 2 qubit gate folding (#72)

* Add 2 qubit gate folding

* Run black

* Import isclose

* Add test call to main call

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* update docs

* Add failing tests (#76)

* Add failing SPAM test

* Add test backends

* Add pytket-quantinuum to test requirements

* Remove myqos imports

* Add test init

* Add failing ZNE test

* Add types and docs to mock backend

* Fix pytket-quantinuum test version

---------

Co-authored-by: dan-mills-cqc <[email protected]>
Co-authored-by: dan-mills-cqc <[email protected]>

* ZNE Include all Qubit Map (#78)

* add failing test

* Add complete workflow failing test

* Pass list of node maps

* Correct documentation

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Add removed wires in get_full_transition_tomography_circuits (#75)

* Add coverage for removing wires, also format

* Remove added DecomposeBoxes

* format

* Move MockQuantinuumBackend to qermit subdirectory, update FullyConneted architeture constructed

* remove pytest fails

* Update test_requirements.txt

* Update mock_quantinuum_backend.py

* Format code and add format check to CI (#77)

* Format code and add format check to CI

* Revert some formatting

* Add coverage to requirements

* Add flake8 to test requirements

* Install test requirements before running tests

* Update README with formatting change

* Correct formatting

---------

Co-authored-by: dan-mills-cqc <[email protected]>
Co-authored-by: dan-mills-cqc <[email protected]>

* Update versions

* Fix mock backend tests (#82)

* Extend mock mackend gateset

* Reduce optimisation level

* Remove unrequired changes

* Add n_cl_reg to mock quantinuum backend

* Change node names to match updates quaninuum backends

---------

Co-authored-by: dan-mills-cqc <[email protected]>
Co-authored-by: dan-mills-cqc <[email protected]>

* Make cache visible (#86)

* Make cache visible

* Add test for visible cache

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Use equivalence check between characterisation (#84)

I believe it's okay if they are not exactly the same list of nodes?

* correct duplication of experiment mitex (#85)

Co-authored-by: dan-mills-cqc <[email protected]>

* Docs/update docs theme (#90)

* add build and .venv to .gitignore

* update theme configuration in conf.py

* update theme requirements

* replace CQC logo with Quantinuum logo

* remove refernce to old logo in index.rst

* add built files to .gitignore

* update copyright

* update docs theme in user manual

* add source code links to API docs

* update old links in index

* remove redundant .gitignore line

* Add doc build to tests (#89)

Co-authored-by: dan-mills-cqc <[email protected]>

* Make Folding and Fit methods staticmethod (#87)

* Remove self

* Add @staticmethod decorator

* Repair high compute tests

---------

Co-authored-by: dan-mills-cqc <[email protected]>
Co-authored-by: dan-mills-cqc <[email protected]>

* Postselection and leakage example (#88)

* Add postselection and leakage example

* Add documentation

* add rst files

* Code formatting

* add reset and reorder compilation

* Add test comparing to pytket method

* remove post_select from manager

move to using one work postselect

* remove post_select from mitres

* Remove post_select from tests

* Silas corrections

* Correct formatting

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Separate NoisyAerBackend (#91)

* Sperate noisyaerbackend from mock quantinuum

* Correct mypy

* Add docstrings on gate sets

* Update test requirements

* Remove commented out gate set

* Correct code formatting

* Move noise model definition

* Correct gateset

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Reformat code with `black` (#92)

* Reformat black

* Add copyright notices

* Fix mypy issues

* appease CI

* Update versions

* Correct type annotatioin (#94)

* Correct type annotatioin

* Remove prints

* Additional typing corrections

* install testing requirements

* Correct workflow formatting

* Correct all type errors

* Minor code style changes

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Pauli Noise Model Backend (#95)

* Add noise model

* Correct imports

* Use if instead of case

* Add stabiliser

* Remove tqdm

* Remove tqdm

* Remove total

* Rename to noise model module

* Remove error sampler

* Extend testing

* Correct typing in pytket 1.21.0

* Add documentation to ErrorDistribution

* Move to using counter in logical error distribution

* Correct logical error simulation test

* Finish noise model documentation

* Document Stabiliser

* Document transpiler backend

* Remove reference to stabiliser

* Add QermitPauli

* Silas requests

* Rename to set_rng and move private methods

* Noise Aware ZNE (#96)

* remove noise scale by 1 as default

* Allow list of circuits when scaling and add noise scaled mitex

* Add noise aware noise scaling

* Add additional documentation

* Add end to end noise aware zne test

* Test scaling and merge

* Repair haging test by removing plot

* Review Corrections

* Use ResultHandle

* Move to using PTMs for scaling

* Correct formatting and add docs

* Additional inline docs

---------

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>

* Modernise Build System (#98)

* Use toml

* bump python version

* Add optional dependencies

* Remove editable install

* Correct toml formatting

* Remove optinoal

* Revet changes

* Allow editable builds

* Correct build system

* Add authors

* Add optional dependencies

* Correct toml formatting

* True -> true

* Make optional deps optional

* Use os matrix

* Add runs-on

* Correct MockQuantinuumBackend type annotaion

---------

Co-authored-by: Daniel Mills <[email protected]>

* Support parallelism in noisy simulator (#97)

* Support parallelism in noisy backend

* Add documentation and type annotation

* Correct some doc strings

* Correct test requirements

* Move away from using provider

* include qiskit-ibmq-provider as dependency

* Check install versions

* Move away from using IBMQ

* Spawn threads in tests

* Default to one core

* Correct formatting

---------

Co-authored-by: Daniel Mills <[email protected]>

* Update pytket-quantinuum (#100)

* Update pytket-quantinuum

* Update workflow versions

* Add pytket-quantinuum to docs dependencies

* Add issue to project workflow (#101)

* fix: Update develop (#110)

* Qermit 0.5.0 (#93)

* Uniform task labels (#36)

* Make _label case uniform

A VERY small PR making the case used for _label uniform.

* Capitalise Ex

* Pytket v1 upgrade (#41)

* Upgrade to pytket v1.0.1

This primarily includes:
- remove Rebase passes
- change module names

* Remove unused imports

* Add capitilisation

* Update docs with change to pytket version

* Correct version requirements

* Correct verson requirements

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>

* Remove Partial SPAM correcter (#42)

* remove all traces

* update docs

* Update build_and_test.yml

* Remove copy.copy (#43)

* update use of copy.copy in code

remove in many cases

* copy.deepcopy -> deepcopy

* reintroduce necessary copy

* fix typo

* Add ObservableTracker.clear method (#44)

* Shot splitter mitres (#40)

* Add shot splitting mitres

* Better python practice with shot splitting

* Correct comment format

* Change function name

* Add a compiled shot splitting metres

* Correct typing on split_index

* Use OutcomeArray to gather results

* Correct comment spelling

* Add splitting mitres to docs

* Rebuild docs

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>

* Remove appendix from LICENSE file (#46)

* Update graph visualisation (#37)

* update to vertical visualisation

* Update mitresgraph.png

* Delete mitresgraph.png

* update manual images

* update mitex manual images

* update docs image

* rebuild docs and manual

Co-authored-by: sjdilkes <[email protected]>

* Add basic "_cache" attribute for storing all generated edge data from run() (#47)

* add bad cache

* smarten how cache works

* qermit.mittask -> qermit.taskgraph

* add .cache to mitres and mitex

* remove redundant print

* add "run_basic" method (#48)

* Correct qubit mutation (#50)

* Add qubit relabelling task

* Correct typing

* Add documentation

* Add tests

* Code reformatting

* Correct manual

* Rebuild docs

* Add missing tasks to docs

Co-authored-by: Daniel Mills <[email protected]>

* Minor edits, rebuild docs and manual (#49)

* add bad cache

* smarten how cache works

* qermit.mittask -> qermit.taskgraph

* add .cache to mitres and mitex

* add "run_basic" method

* fix obvious issues

* qermit -> Qermit

* Update index.rst

* Update index.rst

* q -> Q

* rebuild manual and docs

* remove print

* rebuild docs and manual

* add "real" string back

* update docs

* update docs

* Update pytket version to 1~(#55)

* update pytket

* update

* Remove pytket from test requirements, and cast mean

* Update zne.py

* Remove use of RebaseToCliffordSingles

* BLACK FORMAT

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: sjdilkes <[email protected]>

* Add `characterisation` attribute to TaskGraph and pass as kwarg to TaskGraph.run  (#61)

* Update _version.py

* Update zne_test.py

* Add characterisation attribute to taskgraph

allow to be passed at run

* ignore numpy

* set mittask characterisation attribute when running

* Update frame_randomisation_test.py

* update pytket version

* Update frame_randomisation_test.py

* revert pytket changes

* update versioning

* Update SPAM correction to use characterisation instead of BackendInfo

* Update full_spam_test.py

* use characteriastoin in CCL

* update manual

* Add Spectral Filtering Method (#63)

* Initial commit with outline of protocol

* Remove unnecessary wires

* Add result extraction

* Output qpo

* Add test

* Add characterisation cache

* Add documentation

* Add spectral filtering tests

* Generalise tests to more complicated qpo

* Add type annotation

* Remove caches

* Add documentation

* Split FFT from formatting component

* Add tests for graph generation and new FFT and formating task

* Add tests, docs and type annotation for small coefficient filter

* Document FFT and related tasks

* Document SignalFilter

* Clean up some documentation

* Minor corrctions to typing

* Simplify NDArray typing

* Change to List type annotation

* Add additioinal documentation

* Address Silas PR comments

* Code Formatting

* Formatting and type checking

* Add compiled docs

* Compile manual

* Add spectral fiiltering to docs index

* Remove use of np array

* Correct typing

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>

* Update python version (#66)

* Update copyright (#69)

* Update pytket version to 1.11(#67)

* Change copyright

* Add noise scaling via 2 qubit gate folding (#72)

* Add 2 qubit gate folding

* Run black

* Import isclose

* Add test call to main call

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* update docs

* Add failing tests (#76)

* Add failing SPAM test

* Add test backends

* Add pytket-quantinuum to test requirements

* Remove myqos imports

* Add test init

* Add failing ZNE test

* Add types and docs to mock backend

* Fix pytket-quantinuum test version

---------

Co-authored-by: dan-mills-cqc <[email protected]>
Co-authored-by: dan-mills-cqc <[email protected]>

* ZNE Include all Qubit Map (#78)

* add failing test

* Add complete workflow failing test

* Pass list of node maps

* Correct documentation

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Add removed wires in get_full_transition_tomography_circuits (#75)

* Add coverage for removing wires, also format

* Remove added DecomposeBoxes

* format

* Move MockQuantinuumBackend to qermit subdirectory, update FullyConneted architeture constructed

* remove pytest fails

* Update test_requirements.txt

* Update mock_quantinuum_backend.py

* Format code and add format check to CI (#77)

* Format code and add format check to CI

* Revert some formatting

* Add coverage to requirements

* Add flake8 to test requirements

* Install test requirements before running tests

* Update README with formatting change

* Correct formatting

---------

Co-authored-by: dan-mills-cqc <[email protected]>
Co-authored-by: dan-mills-cqc <[email protected]>

* Update versions

* Fix mock backend tests (#82)

* Extend mock mackend gateset

* Reduce optimisation level

* Remove unrequired changes

* Add n_cl_reg to mock quantinuum backend

* Change node names to match updates quaninuum backends

---------

Co-authored-by: dan-mills-cqc <[email protected]>
Co-authored-by: dan-mills-cqc <[email protected]>

* Make cache visible (#86)

* Make cache visible

* Add test for visible cache

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Use equivalence check between characterisation (#84)

I believe it's okay if they are not exactly the same list of nodes?

* correct duplication of experiment mitex (#85)

Co-authored-by: dan-mills-cqc <[email protected]>

* Docs/update docs theme (#90)

* add build and .venv to .gitignore

* update theme configuration in conf.py

* update theme requirements

* replace CQC logo with Quantinuum logo

* remove refernce to old logo in index.rst

* add built files to .gitignore

* update copyright

* update docs theme in user manual

* add source code links to API docs

* update old links in index

* remove redundant .gitignore line

* Add doc build to tests (#89)

Co-authored-by: dan-mills-cqc <[email protected]>

* Make Folding and Fit methods staticmethod (#87)

* Remove self

* Add @staticmethod decorator

* Repair high compute tests

---------

Co-authored-by: dan-mills-cqc <[email protected]>
Co-authored-by: dan-mills-cqc <[email protected]>

* Postselection and leakage example (#88)

* Add postselection and leakage example

* Add documentation

* add rst files

* Code formatting

* add reset and reorder compilation

* Add test comparing to pytket method

* remove post_select from manager

move to using one work postselect

* remove post_select from mitres

* Remove post_select from tests

* Silas corrections

* Correct formatting

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Separate NoisyAerBackend (#91)

* Sperate noisyaerbackend from mock quantinuum

* Correct mypy

* Add docstrings on gate sets

* Update test requirements

* Remove commented out gate set

* Correct code formatting

* Move noise model definition

* Correct gateset

---------

Co-authored-by: dan-mills-cqc <[email protected]>

* Reformat code with `black` (#92)

* Reformat black

* Add copyright notices

* Fix mypy issues

* appease CI

* Update versions

* Correct type annotatioin (#94)

* Correct type annotatioin

* Remove prints

* Additional typing corrections

* install testing requirements

* Correct workflow formatting

* Correct all type errors

* Minor code style changes

---------

Co-authored-by: dan-mills-cqc <[email protected]>

---------

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Silas Dilkes <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Seyon Sivarajah <[email protected]>
Co-authored-by: sjdilkes <[email protected]>
Co-authored-by: cqc-melf <[email protected]>
Co-authored-by: CalMacCQ <[email protected]>

* Convert tests to floats

* Correct typing

* Ignore sympy when typing

---------

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Silas Dilkes <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Seyon Sivarajah <[email protected]>
Co-authored-by: sjdilkes <[email protected]>
Co-authored-by: cqc-melf <[email protected]>
Co-authored-by: CalMacCQ <[email protected]>

---------

Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Silas Dilkes <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Seyon Sivarajah <[email protected]>
Co-authored-by: sjdilkes <[email protected]>
Co-authored-by: cqc-melf <[email protected]>
Co-authored-by: CalMacCQ <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
Co-authored-by: Daniel Mills <[email protected]>
  • Loading branch information
11 people authored Nov 18, 2024
1 parent 5b48b76 commit 259b605
Show file tree
Hide file tree
Showing 34 changed files with 5,765 additions and 249 deletions.
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: pip
directory: "/" # Location of package manifests
schedule:
interval: "daily"
target-branch: "develop"
74 changes: 13 additions & 61 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,92 +9,45 @@ on:

jobs:

macos:
name: Build and test (MacOS)
runs-on: macos-latest
run-tests:
name: Build and test
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11']
python-version: ['3.10', '3.11', '3.12']
os: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Build qermit
if: github.event_name == 'pull_request'
run: |
pip install -e . -v
pip install -e .[tests] -v
- name: Test qermit
if: github.event_name == 'pull_request'
run: |
cd tests
pip install -r test_requirements.txt
pytest --cov-report term-missing:skip-covered --cov=qermit --durations=10
linux:
name: Build and test (Linux)
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11']
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Build qermit
if: github.event_name == 'pull_request'
run: |
pip install -e . -v
- name: Test qermit
if: github.event_name == 'pull_request'
run: |
cd tests
pip install -r test_requirements.txt
pytest --cov-report term-missing:skip-covered --cov=qermit --durations=10
windows:
name: Build and test (Windows)
runs-on: windows-latest
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11']
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Build qermit
if: github.event_name == 'pull_request'
run: |
pip install -e . -v
- name: Test qermit
if: github.event_name == 'pull_request'
run: |
cd tests
pip install -r test_requirements.txt
pytest --cov-report term-missing:skip-covered --cov=qermit --durations=10
build-docs:
name: Test documentation build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Qermit
run: pip install .
run: pip install -e .[docs] -v
- name: Build Docs
run: |
cd docs_src
pip install -r requirements.txt
./build_docs.sh
cd ../manual
./build_manual.sh
- name: Save documentation
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: docs_html
path: docs/
Expand All @@ -108,12 +61,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build qermit
run: |
pip install -e . -v
pip install .[tests]
cd tests
pip install -r test_requirements.txt
- name: Run mypy
if: github.event_name == 'pull_request'
run: mypy -p qermit
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/deploy_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Qermit
run: pip install .
run: pip install .[docs]
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Build Docs
run: |
cd docs_src
pip install -r requirements.txt
./build_docs.sh
cd ../manual
./build_manual.sh
- name: Save documentation
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: docs_html
path: docs/
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/issue-to-project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Add issues to project

on:
issues:
types:
- opened

jobs:
add-to-project:
name: Add issue to project
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
project-url: https://github.com/orgs/CQCL-DEV/projects/19
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
id: add-project
- uses: titoportas/[email protected]
with:
project-url: https://github.com/orgs/CQCL-DEV/projects/19
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
item-id: ${{ steps.add-project.outputs.itemId }}
field-keys: Epic
field-values: Qermit
4 changes: 0 additions & 4 deletions docs_src/requirements.txt

This file was deleted.

4 changes: 4 additions & 0 deletions docs_src/zero_noise_extrapolation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ qermit.zero_noise_extrapolation

.. automethod:: qermit.zero_noise_extrapolation.zne.gen_ZNE_MitEx

.. automethod:: qermit.zero_noise_extrapolation.zne.gen_noise_scaled_mitex

.. autoclass:: qermit.zero_noise_extrapolation.zne.Folding
:members:

Expand All @@ -13,6 +15,8 @@ qermit.zero_noise_extrapolation

.. automethod:: qermit.zero_noise_extrapolation.zne.digital_folding_task_gen

.. automethod:: qermit.zero_noise_extrapolation.zne.merge_experiments_task_gen

.. automethod:: qermit.zero_noise_extrapolation.zne.extrapolation_task_gen

.. automethod:: qermit.zero_noise_extrapolation.zne.gen_initial_compilation_task
Expand Down
8 changes: 4 additions & 4 deletions manual/manual_mitex.rst
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ using a classical simulator, and so can be compared to the results from noisy ru
It is on this approach that the implementation of PEC in ``qermit`` is based.

Generators for Probabilistic-Error-Cancellation ``MitEx`` objects are available in
the ``qermit.probabilistic_error_cancellation`` `module <https://cqcl.github.io/Qermit/probabilistic_error_cancellation.html>`_.
the ``qermit.probabilistic_error_cancellation`` `PEC module <https://cqcl.github.io/Qermit/probabilistic_error_cancellation.html>`_.

::

Expand Down Expand Up @@ -463,7 +463,7 @@ regression problem. There are several ansatz provided by ``qermit``. Each may ha
advantages depending on: the device, dominant noise channel, etc.

Generators for Zero-Noise-Extrapolation ``MitEx`` objects are available in
the ``qermit.zero_noise_extrapolation`` `module <https://cqcl.github.io/Qermit/zero_noise_extrapolation.html>`_.
the ``qermit.zero_noise_extrapolation`` `ZNE module <https://cqcl.github.io/Qermit/zero_noise_extrapolation.html>`_.

::

Expand Down Expand Up @@ -547,7 +547,7 @@ In this sense, "Clifford-Circuit-Learning" refers to the general noise character
efficiently simulated classically Clifford circuits and "Clifford-Data-Regression" refers to the noise correction
technique used here.

Generators for Clifford-Data-Regression ``MitEx`` objects are available in the ``qermit.clifford_noise_characterisation`` `module <https://cqcl.github.io/Qermit/clifford_noise_characterisation.html>`_.
Generators for Clifford-Data-Regression ``MitEx`` objects are available in the ``qermit.clifford_noise_characterisation`` `CDR module <https://cqcl.github.io/Qermit/clifford_noise_characterisation.html>`_.

::

Expand Down Expand Up @@ -692,7 +692,7 @@ variational algorithm to adaptively account for these types of errors within the
minimal additional quantum compute time.

Generators for Depolarisation-Factor-Supression-For-Nearest-Clifford ``MitEx`` objects are available
in the ``qermit.clifford_noise_characterisation`` `module <https://cqcl.github.io/Qermit/clifford_noise_characterisation.html>`_.
in the ``qermit.clifford_noise_characterisation`` `Clifford noise characterisation module <https://cqcl.github.io/Qermit/clifford_noise_characterisation.html>`_.


::
Expand Down
6 changes: 3 additions & 3 deletions manual/manual_mitres.rst
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ basis states, a transition matrix can be derived that describes the noisy SPAM p
the inverse of this transition matrix to the distribution of a quantum state from some desired quantum computation
can effectively uncompute the errors caused by SPAM noise.

Generators for SPAM ``MitRes`` objects are available in the ``qermit.spam`` `module <https://cqcl.github.io/Qermit/spam.html>`_.
Generators for SPAM ``MitRes`` objects are available in the ``qermit.spam`` `SPAM module <https://cqcl.github.io/Qermit/spam.html>`__.

::

Expand Down Expand Up @@ -589,7 +589,7 @@ For example, averaging a noise channel over the n-qubit Pauli group has the effe

In this manner, an n-qubit coherent noise channel can be tailored into an n-qubit stochastic Pauli noise channel. For Pauli channels, the worst case error rate is similar to the average error rate, whilst for coherent noise the worst case error rate scales as a square root of the average error rate.

Generator functions in the ``qermit.frame_randomisation`` `module <https://cqcl.github.io/Qermit/frame_randomisation.html>`_ return ``MitRes`` objects for automatically using randomised protocols
Generator functions in the ``qermit.frame_randomisation`` `frame randomisation module <https://cqcl.github.io/Qermit/frame_randomisation.html>`__ return ``MitRes`` objects for automatically using randomised protocols
when running experiments.

Randomised compilation [Wallman2015]_ is a well known example of such a procedure.
Expand All @@ -605,7 +605,7 @@ Randomised compilation [Wallman2015]_ is a well known example of such a procedur
.. image:: frame_randomisation_taskgraph.png

The returned ``MitRes`` object uses ``FrameRandomisation`` methods as available
in the ``pytket.tailoring`` `module <https://cqcl.github.io/pytket/build/html/tailoring.html>`_.
in the ``pytket.tailoring`` `tailoring module <https://cqcl.github.io/pytket/build/html/tailoring.html>`_.

The frame randomisation method used can be changed with the ``frame_randomisation`` keyword argument,
which accepts methods defined in the ``FrameRandomisation`` enum class, supporting ``PauliFrameRandomisation``
Expand Down
Loading

0 comments on commit 259b605

Please sign in to comment.