filter_functions 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- filter_functions-1.2.0/.github/workflows/main.yml +80 -0
- filter_functions-1.2.0/.readthedocs.yml +26 -0
- filter_functions-1.2.0/CITATION.cff +101 -0
- filter_functions-1.2.0/CONTRIBUTING.md +6 -0
- filter_functions-1.2.0/LICENSE +622 -0
- filter_functions-1.2.0/PKG-INFO +777 -0
- filter_functions-1.2.0/README.md +92 -0
- filter_functions-1.2.0/doc/Makefile +197 -0
- filter_functions-1.2.0/doc/make.bat +264 -0
- filter_functions-1.2.0/doc/requirements.txt +7 -0
- filter_functions-1.2.0/doc/source/_static/.gitignore +3 -0
- filter_functions-1.2.0/doc/source/_static/hadamard.png +0 -0
- filter_functions-1.2.0/doc/source/_static/qft.png +0 -0
- filter_functions-1.2.0/doc/source/_static/qft.tex +16 -0
- filter_functions-1.2.0/doc/source/_static/qft_HR2R3_boxed.png +0 -0
- filter_functions-1.2.0/doc/source/_static/qft_HR2R3_boxed.tex +21 -0
- filter_functions-1.2.0/doc/source/_static/qft_HR2R3_boxed_separately.png +0 -0
- filter_functions-1.2.0/doc/source/_static/qft_HR2R3_boxed_separately.tex +18 -0
- filter_functions-1.2.0/doc/source/_static/qft_with_echo.png +0 -0
- filter_functions-1.2.0/doc/source/_static/qft_with_echo.tex +19 -0
- filter_functions-1.2.0/doc/source/api.rst +8 -0
- filter_functions-1.2.0/doc/source/conf.py +284 -0
- filter_functions-1.2.0/doc/source/examples/advanced_concatenation.ipynb +358 -0
- filter_functions-1.2.0/doc/source/examples/calculating_quantum_processes.ipynb +1391 -0
- filter_functions-1.2.0/doc/source/examples/examples.rst +14 -0
- filter_functions-1.2.0/doc/source/examples/extending_pulses.ipynb +264 -0
- filter_functions-1.2.0/doc/source/examples/getting_started.ipynb +327 -0
- filter_functions-1.2.0/doc/source/examples/periodic_driving.ipynb +658 -0
- filter_functions-1.2.0/doc/source/examples/quantum_fourier_transform.ipynb +3422 -0
- filter_functions-1.2.0/doc/source/examples/qutip_integration.ipynb +163 -0
- filter_functions-1.2.0/doc/source/index.rst +33 -0
- filter_functions-1.2.0/environment.yml +12 -0
- filter_functions-1.2.0/examples/data/CNOT.mat +0 -0
- filter_functions-1.2.0/examples/data/X2ID.mat +0 -0
- filter_functions-1.2.0/examples/data/Y2ID.mat +0 -0
- filter_functions-1.2.0/examples/qft.py +154 -0
- filter_functions-1.2.0/examples/randomized_benchmarking.py +259 -0
- filter_functions-1.2.0/filter_functions/__init__.py +37 -0
- filter_functions-1.2.0/filter_functions/analytic.py +88 -0
- filter_functions-1.2.0/filter_functions/basis.py +815 -0
- filter_functions-1.2.0/filter_functions/gradient.py +676 -0
- filter_functions-1.2.0/filter_functions/numeric.py +2334 -0
- filter_functions-1.2.0/filter_functions/plotting.py +892 -0
- filter_functions-1.2.0/filter_functions/pulse_sequence.py +2613 -0
- filter_functions-1.2.0/filter_functions/superoperator.py +286 -0
- filter_functions-1.2.0/filter_functions/types.py +65 -0
- filter_functions-1.2.0/filter_functions/util.py +1150 -0
- filter_functions-1.2.0/pyproject.toml +99 -0
- filter_functions-1.2.0/tests/__init__.py +31 -0
- filter_functions-1.2.0/tests/gradient_testutil.py +142 -0
- filter_functions-1.2.0/tests/test_basis.py +445 -0
- filter_functions-1.2.0/tests/test_core.py +1260 -0
- filter_functions-1.2.0/tests/test_extras.py +70 -0
- filter_functions-1.2.0/tests/test_gradient.py +218 -0
- filter_functions-1.2.0/tests/test_plotting.py +388 -0
- filter_functions-1.2.0/tests/test_precision.py +727 -0
- filter_functions-1.2.0/tests/test_sequencing.py +1447 -0
- filter_functions-1.2.0/tests/test_superoperator.py +187 -0
- filter_functions-1.2.0/tests/test_util.py +780 -0
- filter_functions-1.2.0/tests/testutil.py +265 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
name: Main
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
test:
|
|
9
|
+
name: Run tests
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
strategy:
|
|
12
|
+
fail-fast: false
|
|
13
|
+
matrix:
|
|
14
|
+
python_version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
|
15
|
+
install_extras: ['tests', 'plotting,fancy_progressbar,tests', 'plotting,bloch_sphere_visualization,fancy_progressbar,doc,tests']
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Set up Python ${{ matrix.python_version }}
|
|
21
|
+
uses: actions/setup-python@v5
|
|
22
|
+
with:
|
|
23
|
+
python-version: ${{ matrix.python_version }}
|
|
24
|
+
cache: pip
|
|
25
|
+
check-latest: true
|
|
26
|
+
|
|
27
|
+
- name: Install
|
|
28
|
+
run: |
|
|
29
|
+
python -m pip install --upgrade pip
|
|
30
|
+
python -m pip install hatch .[${{ matrix.install_extras }}]
|
|
31
|
+
|
|
32
|
+
- name: Test with pytest
|
|
33
|
+
run: |
|
|
34
|
+
python -m pytest
|
|
35
|
+
|
|
36
|
+
- name: Upload coverage to Codecov
|
|
37
|
+
uses: codecov/codecov-action@v5
|
|
38
|
+
with:
|
|
39
|
+
name: ${{ matrix.python }} - ${{ matrix.install_extras }}
|
|
40
|
+
env_vars: OS,PYTHON
|
|
41
|
+
fail_ci_if_error: false
|
|
42
|
+
token: ${{ secrets.CODECOV_TOKEN }} # required
|
|
43
|
+
verbose: true
|
|
44
|
+
- name: Upload test results to Codecov
|
|
45
|
+
if: ${{ !cancelled() }}
|
|
46
|
+
uses: codecov/test-results-action@v1
|
|
47
|
+
with:
|
|
48
|
+
name: ${{ matrix.python }} - ${{ matrix.install_extras }}
|
|
49
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
release:
|
|
53
|
+
name: Publish to PyPi
|
|
54
|
+
runs-on: ubuntu-latest
|
|
55
|
+
needs: test
|
|
56
|
+
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
|
|
57
|
+
|
|
58
|
+
steps:
|
|
59
|
+
- uses: actions/checkout@v4
|
|
60
|
+
|
|
61
|
+
- uses: actions/setup-python@v5
|
|
62
|
+
with:
|
|
63
|
+
python-version: '3.13'
|
|
64
|
+
cache: pip
|
|
65
|
+
|
|
66
|
+
- name: Install dependencies
|
|
67
|
+
run: |
|
|
68
|
+
python -m pip install --upgrade pip
|
|
69
|
+
python -m pip install hatch
|
|
70
|
+
|
|
71
|
+
- name: Build package
|
|
72
|
+
run: |
|
|
73
|
+
python -m hatch build
|
|
74
|
+
|
|
75
|
+
- name: Publish package
|
|
76
|
+
env:
|
|
77
|
+
HATCH_INDEX_USER: __token__
|
|
78
|
+
HATCH_INDEX_AUTH: ${{ secrets.PYPI_API_TOKEN }}
|
|
79
|
+
run: |
|
|
80
|
+
python -m hatch publish
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
build:
|
|
4
|
+
os: ubuntu-22.04
|
|
5
|
+
tools:
|
|
6
|
+
python: mambaforge-latest
|
|
7
|
+
|
|
8
|
+
conda:
|
|
9
|
+
environment: environment.yml
|
|
10
|
+
|
|
11
|
+
python:
|
|
12
|
+
install:
|
|
13
|
+
- method: pip
|
|
14
|
+
path: .
|
|
15
|
+
extra_requirements:
|
|
16
|
+
- doc
|
|
17
|
+
- plotting
|
|
18
|
+
- bloch_sphere_visualization
|
|
19
|
+
|
|
20
|
+
sphinx:
|
|
21
|
+
builder: html
|
|
22
|
+
configuration: doc/source/conf.py
|
|
23
|
+
|
|
24
|
+
formats:
|
|
25
|
+
- pdf
|
|
26
|
+
- epub
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# This CITATION.cff file was generated with cffinit.
|
|
2
|
+
# Visit https://bit.ly/cffinit to generate yours today!
|
|
3
|
+
|
|
4
|
+
cff-version: 1.2.0
|
|
5
|
+
title: >-
|
|
6
|
+
filter_functions
|
|
7
|
+
message: >-
|
|
8
|
+
If this software has benefited your research, please
|
|
9
|
+
consider citing it as below.
|
|
10
|
+
type: software
|
|
11
|
+
doi: 10.5281/zenodo.4575000
|
|
12
|
+
authors:
|
|
13
|
+
- given-names: Tobias
|
|
14
|
+
family-names: Hangleiter
|
|
15
|
+
email: tobias.hangleiter@rwth-aachen.de
|
|
16
|
+
affiliation: >-
|
|
17
|
+
JARA-FIT Institute for Quantum Information,
|
|
18
|
+
Forschungszentrum Jülich GmbH and RWTH Aachen
|
|
19
|
+
University, 52074 Aachen, Germany
|
|
20
|
+
orcid: 'https://orcid.org/0000-0002-5177-6162'
|
|
21
|
+
- given-names: Isabel
|
|
22
|
+
family-names: Nha Minh Le
|
|
23
|
+
email: isabel.le@rwth-aachen.de
|
|
24
|
+
affiliation: >-
|
|
25
|
+
JARA-FIT Institute for Quantum Information,
|
|
26
|
+
Forschungszentrum Jülich GmbH and RWTH Aachen
|
|
27
|
+
University, 52074 Aachen, Germany
|
|
28
|
+
orcid: 'https://orcid.org/0000-0001-6707-044X'
|
|
29
|
+
- given-names: Julian D.
|
|
30
|
+
family-names: Teske
|
|
31
|
+
email: julian.teske@rwth-aachen.de
|
|
32
|
+
affiliation: >-
|
|
33
|
+
JARA-FIT Institute for Quantum Information,
|
|
34
|
+
Forschungszentrum Jülich GmbH and RWTH Aachen
|
|
35
|
+
University, 52074 Aachen, Germany
|
|
36
|
+
orcid: 'https://orcid.org/0000-0002-7590-7876'
|
|
37
|
+
preferred-citation:
|
|
38
|
+
type: article
|
|
39
|
+
authors:
|
|
40
|
+
- given-names: Tobias
|
|
41
|
+
family-names: Hangleiter
|
|
42
|
+
email: tobias.hangleiter@rwth-aachen.de
|
|
43
|
+
affiliation: >-
|
|
44
|
+
JARA-FIT Institute for Quantum Information,
|
|
45
|
+
Forschungszentrum Jülich GmbH and RWTH Aachen
|
|
46
|
+
University, 52074 Aachen, Germany
|
|
47
|
+
orcid: 'https://orcid.org/0000-0002-5177-6162'
|
|
48
|
+
- given-names: Pascal
|
|
49
|
+
family-names: Cerfontaine
|
|
50
|
+
email: pascal.cerfontaine@rwth-aachen.de
|
|
51
|
+
affiliation: >-
|
|
52
|
+
JARA-FIT Institute for Quantum Information,
|
|
53
|
+
Forschungszentrum Jülich GmbH and RWTH Aachen
|
|
54
|
+
University, 52074 Aachen, Germany
|
|
55
|
+
orcid: 'https://orcid.org/0000-0002-8227-4018'
|
|
56
|
+
- given-names: Hendrik
|
|
57
|
+
family-names: Bluhm
|
|
58
|
+
email: bluhm@physik.rwth-aachen.de
|
|
59
|
+
affiliation: >-
|
|
60
|
+
JARA-FIT Institute for Quantum Information,
|
|
61
|
+
Forschungszentrum Jülich GmbH and RWTH Aachen
|
|
62
|
+
University, 52074 Aachen, Germany
|
|
63
|
+
orcid: 'https://orcid.org/0000-0002-5224-7254'
|
|
64
|
+
doi: 10.1103/PhysRevResearch.3.043047
|
|
65
|
+
journal: Physical Review Research
|
|
66
|
+
month: 10
|
|
67
|
+
year: 2021
|
|
68
|
+
start: 043047
|
|
69
|
+
title: >-
|
|
70
|
+
Filter-function formalism and software package
|
|
71
|
+
to compute quantum processes of gate sequences
|
|
72
|
+
for classical non-Markovian noise
|
|
73
|
+
issue: 4
|
|
74
|
+
volume: 3
|
|
75
|
+
identifiers:
|
|
76
|
+
- type: doi
|
|
77
|
+
value: 10.1103/PhysRevResearch.3.043047
|
|
78
|
+
description: >-
|
|
79
|
+
Article on the formalism and software
|
|
80
|
+
implementation
|
|
81
|
+
- type: doi
|
|
82
|
+
value: 10.5281/zenodo.4575000
|
|
83
|
+
description: Zenodo DOI for the software package
|
|
84
|
+
- type: doi
|
|
85
|
+
value: 10.1103/PhysRevLett.127.170403
|
|
86
|
+
description: Letter introducing parts of the formalism
|
|
87
|
+
- type: doi
|
|
88
|
+
value: 10.1103/PhysRevApplied.17.024006
|
|
89
|
+
description: Article on analytic derivatives
|
|
90
|
+
repository-code: 'https://github.com/qutech/filter_functions'
|
|
91
|
+
url: >-
|
|
92
|
+
https://www.quantuminfo.physik.rwth-aachen.de/cms/Quantuminfo/Forschung/Quantum-Technology-Group/~zcsx/code/lidx/1/
|
|
93
|
+
keywords:
|
|
94
|
+
- python
|
|
95
|
+
- physics
|
|
96
|
+
- quantum computing
|
|
97
|
+
- quantum information
|
|
98
|
+
- qutip
|
|
99
|
+
- filter functions
|
|
100
|
+
- quantum control
|
|
101
|
+
license: GPL-3.0
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Contributing to this project
|
|
2
|
+
## Licensing strategy
|
|
3
|
+
|
|
4
|
+
We are committed to make our research software available to other researchers with minimal limitations and hope to motivate some to help improving it. However, economic and strategic interests are becoming increasingly influential in the field of quantum computing. We have therefore [chosen the copyleft GPL license](LICENSE) to prevent an uncontrolled incorporation in proprietary software packages. However, to facilitate a potential future use in a commercial context, we would like to retain the possibility to offer the software packages developed under our lead under a different license. As this requires control of the copyright, we may ask contributors to execute a copyright assignment agreement. Following common practice, this agreement will license back all relevant rights of contributors regarding their contributions. We feel that this is a fair arrangement at least for minor contributions.
|
|
5
|
+
|
|
6
|
+
We hope that this strategy will not be a barrier to using the software at hand or to contributing to its advancement. If it does, please do not hesitate to contact us to consider alternative approaches.
|