-
Notifications
You must be signed in to change notification settings - Fork 10
Commit eca0ce7
authored
Fix RUS reject bits and add QEC flag bits (#82)
* Added files.
* Updated the README with Read the Docs info.
* Updating docs/README since adding project to pypi.
* Small fix to README.
* Small changes to install instructions.
* Added SVG PECOS icons and ProjectQ extension.
* Included initial version of Cirq wrapper. [Not fully functional...]
* Added the shorest_logicals method to the VerifyStabilizers tool.
* Updated requirements for the simulator wrappers.
* Simplified circuit_runners and took out kwargs `param` in circuit data structures so params always given when looping over circuits.
* Changed circuit_runners method run_logic to just run. `run` now will run both LogicalCircuits and QuantumCircuit. Applying errors to both.
* Added the MS (square root of XX) gate to PySparseSim. Added simulator tests. Other minor improvements.
* Took out cirq wrapper to move it to feature branch
* Initial built initial wrapper for qcgpu
* Small improvements.
* Took out circuit_runner not longer being used. Improved `Standard.` Corrected error in ProjectQ wrapper.
* deleted old circuit runner
* Wrapped most of the gates.
* Fixed F2 definition error and made minor improvements in ProjectQ wrapper. Minor improvements to Standard and SparseSim.
* Added the MS gate (Sqrt XX).
* Removed quantum_circuit_duration to put it in a separate feature branch.
* removed two unnecessary documentation pages.
* Improved installation documentation
* More doc improvements
* Added warnings that `run_circuit` and `run_logic` are being deprecated for `run`.
* Added environment yml and described its use in the documentation.
* Updated install doc and removed unnecessary _build folder.
* First pass at updating the documentation to just have the ``run`` method.
* Updated README
* Update to docs. Corrected version number to 0.2.dev
* Small modifications to simulators.
* Fixed a test.
* Simplified circuit runners.
* Simplification to circuit runner. Added new logo. Small improvement to simulators.
* added things to gitignore
* Changed README to point to the development branch documentation.
* Added MANIFEST and setup.cfg from master branch
* Edited doc index wording.
* Edited doc index wording v2.
* Small bib fix to doc
* Simplifications for std output and error circuits.
* Improved .gitignore and manifest prune
* Small improvements to doc
* Simplified/cleaned Standard, tests, and tools.
Removed `init` method from circuit_runner `Standard`. Cleaned deprecated methods from tests and tools. Small improvement to README.
* Corrected documentation on simulators.
* Fixed other pages that included the init method of Standard.
* Simplification to Standard in circuit_runners. Moved std_output to misc.
* Removed deprecated Standard methods. Updated conda yml and requirements.
* Added a Pauli propagation simulator. Improved the ProjectQ wrapper.
* Added a possible QuantumCircuit replacement (quantum_circuit_new)
* A collection of small improvements.
* Fixed errors in Pauli prop sim and made small improvement to it.
* Added `logical_sign` method to Pauli prop sim and ProjectQ wrapper.
* Simplifying the `logical_sign` method
* Improved the docstrings and typing of quantum_circuit_new.py
* Further improvements to quantum_circuit_new
* Improvements to ProjectQ wrapper and gate_dict -> bindings in sims
* Improved wrapping of ProjectQ.
* Fix error for random circuit test.
* Updated simulators. Changed random_outcome to forced_outcome.
* added simulator class typing file
* small fix
* New circuit updates
* additional circuit update
* change type name
* accumulated updates
* Dev cleanup (#1)
* Move ruff config to its own file
* Clean up README
* Pre-commit pass on all files
* Add typos pass
* Sync gitignore with GitHub's official Python.gitignore
* Add testing instructions
* Fix docs generation and copyright
* Remove redundant gitignore
* Create python-app.yml
* Also run CI on PRs to dev branch
* Fix testing command
* Install package before running tests
* Cache dependencies for faster CI processing
* Ignore PyCharm idea folder as before
* Also run CI on dev
* Revert and exclude formatting changes to gates table
* Added more to README install section
* Setting the copyrights for The PECOS developers to original 2018
* To .gitignore, added more cython extensions, + vscode + avoiding tracking C++ extern
* Replacing Quantinuum logo with svg file
* Moved custom ignores to the top of file
* fixed README typo
* Auto-generate requirements.txt using pip-tools / pip-compile
* Updating copyright dates as suggested
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaran.ryan-anderson@quantinuum.com>
* add makefile (#2)
* Add Makefile with useful commands
* Ignore DeprecationWarning: datetime.datetime.utcfromtimestamp()
* Adding [all] options
* Removing install-all from tests and docs
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaran.ryan-anderson@quantinuum.com>
* Adding rtd yaml copied from https://docs.readthedocs.io/en/stable/config-file/v2.html
* Update documentation for modern rtd
* Until refactored, measurements need to accept **params (#13)
* Update packages, cleanup ruff.toml (#14)
* Update packages, cleanup ruff.toml
* Adding backing in ANN per directory ignore
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaran.ryan-anderson@quantinuum.com>
* Fix sim (#15)
* Fix conditional eval oversight
* Cherry-picked from c4e5ed
* Dev updates (#16)
* Fixing some documentation issues found by doctest + blackdoc
* Expanding Makefile to include additional useful options
* refactor resetting environment tracking attributes in cinterp
* unit and integration test stubs
* Adding comments to makefile + modifying .venv to replace old .venv
* Tweaked Makefile to not both with __pycache__ + added comment + removing VENV_BIN since not used right now
* Assume all tests are integration tests unless proven otherwise later
* remove print statement from cinterp
* Apply suggestions from code review
Co-authored-by: Kartik Singhal <130700862+qartik@users.noreply.github.com>
* Adding docstrings to empty test __init__.py files
* Rewriting to focus on using venv only.
* Updated Makefile given PR conversation. Hopefully improves clarity
---------
Co-authored-by: Ciaran <ciaranra@gmail.com>
Co-authored-by: Kartik Singhal <130700862+qartik@users.noreply.github.com>
* Dev update (#17)
* Removing dependencies from README + using | to separate Python versions
* Makefile refactor + help + docs now uses venv
* Testing PHIR. Fixing wasmer/wasmtime pathlib issue
* Added basic PHIR wasm tests + tests-dep to Makefile
* Adding pytest.ini
* Adding tests of PHIR and Wasm
* Move error_params and machine_params to be declased only at the object level
* Making optional dep (ProjectQ) not default.
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaran.ra@gmail.com>
Co-authored-by: Ciaran Ryan-Anderson <ciaranra@gmail.com>
* Minor fix to PHIR tests + adding pytest as metadependency (#18)
* Minor fix to PHIR tests + adding pytest as metadependency
* adding optional dep mark to test
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaranra@gmail.com>
* fix: errors found in end to end testing with pytket-phir
* reviewfix: angles only needed in QOp
* reviewfix: convert RZZ to I during phir -> pypmir conversion
* Adding very simple depolarizing error model. (#24)
* changing the dev version number from 0.5.dev1 to 0.5.0.dev1 to be more specific (#25)
* Version bump to fix pypi issue.
* Bug phir if statement (#27)
* Fixed issue with yielding instructions of blocks
* bump to 0.5.0.dev3 + avoiding [] buffer yielding
* Fixing linting because my pre-commit hook was off
* add external phir dependency + remove Python 3.8 + test both required… (#19)
* add external phir dependency + remove Python 3.8 + test both required and optional dependencies
* Updating workflow to include diff OSs. Added skipping of tests based on optional dependency OS/Python version support.
* Skip wasmer tests on for Python >= 3.11
* Skipping test if Wasmer could not be imported.
* More robust method for skipping tests of Wasmer due to unsupported systems
* Add simple test of extern phir
* Requirement update to phir 0.1.6
* Included PHIR model validation and related tests
* small bump for requirements.txt
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaranra@gmail.com>
* Added support for qparallel. (#33)
* Added support for qparallel.
* Bumping to 0.5.0.dev4
* Bug out of order seq (#35)
* Fixed buggy yielding of Sequence/QParallel blocks
* Add a test of the sequence of op buffers.
* Reworked recursive iteration through blocks to be more elegant
* Marked test using state-vec sim as optional dependency
* Added Clifford Bell qparallel test and silence tz warning
* Bumping version to 0.5.0.dev5 and updating requirements
* Fixing support of PHIR's multi-assignment (#36)
* Fixing support of PHIR's multi-assignment
* bump version to 0.5.0.dev6
* Adding coder owners file
* Fixing code owners file typo
* build: add typed marker for pecos
* Initial support for barriers (skips barriers for now). (#38)
* Initial support for barriers (skips barriers for now).
* Additional barrier testing and associated fixes
* bumping version to 0.5.0.dev7
* Update requirements
* Bumping phir req (#39)
* updating requirements to phir ~= 0.3.0
* Fixes rare test error
* Bumping version to 0.5.0.dev8 and updating requirements.txt
* Broadening wasmtime req. + simplifying [all] (#42)
* Add wasmtime support for engines/cvm/wasm (#43)
* bumping to version 0.5.0.dev9 (#44)
* Update docs (#47)
* Various small updates of docs including autogen of API docs
* Small doc tweaks + fixing FT checking file issue that was detected by generating docs automatically
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaranra@gmail.com>
* Feature more simulators (#21)
* CoinToss simulator implemented.
* Replaced the old CuStateVec simulator (C API) with a version using the Python API.
* Updated README with installation instructions for CuStateVec.
---------
Co-authored-by: PabloAndresCQ <pablo.andres-martinez@cambridgequantum.com>
Co-authored-by: Kartik Singhal <kartik.singhal@quantinuum.com>
* Cumulative development update (#54)
* Added .sim_name to QOps. Added angle info to QOp.angle
* Added code to identify Clifford gates from more general gates
* Added conversion to Clifford support for RZ , RZZ, and R1XY
* Tweaking generic machine to clear state
* Add test of operation type before running qsims.
* Adding general Instr type and list types
* Adding slr code
* Updated linting/formatting
* Moving slr down to reduce nesting
* fix slr __version__
* Creating a slr.std folder to hold common extension to core to the DSL
* Fixing std import
* Adding in duration for MOps in PyPMIR
* Modifying qargs in mops appropriately.
* Moving the old cuquantum code to cuquantum_old for now...
* Updating actions/setup-python from v4 to v5
* Adding tests of SLR and gate name resolving + some fixes due to those
* Update .pre-commit-config.yaml
Co-authored-by: Kartik Singhal <kartik.singhal@quantinuum.com>
* Apply suggestions from code review
Co-authored-by: Kartik Singhal <kartik.singhal@quantinuum.com>
* Updating pre-commit / running ruff/black
* Updating the docs using autodoc
* Changing PHIR test to only have bits set by 1 or 0 (not bool)
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaran.ryan-anderson@quantinuum.com>
Co-authored-by: Ciarán Ryan-Anderson <70174051+qciaran@users.noreply.github.com>
Co-authored-by: Kartik Singhal <kartik.singhal@quantinuum.com>
* Bumping version number to 0.5.0.dev10
* Feat hybrid noise (#60)
* Allows noise model to generate hybrid errors (classical and quantum instructions)
* Adding internal cinterp registers for error models
* removing internally generated measurements from results
* Converts conditionals into COps
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaran.ryan-anderson@quantinuum.com>
* version bump 0.5.0.dev11
* Adding specific error messaging and enforced maximum duration to WASM calls (#62)
Preventing infinite looping of WASM calls and providing additional details to users when WASM errors occur.
---------
Co-authored-by: Ciarán Ryan-Anderson <70174051+qciaran@users.noreply.github.com>
* 64 bit signed arithmetic support (#57)
* feat: add support for negative integers to phir
* feat: add hypothesis-enabled unit tests for BinArray2
Also, clamp only for unsigned integer types
* lint: fix typos and exclude cuquantum_old
* feat: replace BinArray with BinArray2
* fix: set BinArray2's value correctly, or it can convert to ndarray
* build: bump patch version to distinguish in testing
* feat: partition data_types into signed and unsigned
also make size optional for signed integer type
* build: update to correct phir version
Co-authored-by: Ciarán Ryan-Anderson <70174051+qciaran@users.noreply.github.com>
---------
Co-authored-by: Ciarán Ryan-Anderson <70174051+qciaran@users.noreply.github.com>
* cuStateVec bugfixes and slight refactor (#64)
* Updated argument names for new API (cuStateVec 1.6.0)
* Bumped up version requirements
* Fixing a bug in CuStateVec in the implementation of the RYY gate
* Refactor of state.vector so that it returns a numpy array for easier testing and integration
* Adding some of the changes from Dominic's PR #58
* Added more bindings requested by @dlucchetti
* Bumping version number to 0.6.0.dev3 (#65)
* Adding a numpy-based basic statevector simulator for more exhaustive testing (#55)
* Adding a basic numpy statevector simulator
* Adding more exhaustive tests against BasicSV
* Adding a reset method
* [feature] Adding support for QuEST and Qulacs statevector simulators (#68)
* Added Qulacs simulator
* Added wrapper for QuEST
* Updated readme with simulator installation instructions
* Adding tests for HybridEngine on statevector simulators
* Supporting new statevector sims on HybridEngine
* Fixed a bug in CuStateVec relating to HybridEngine
* [feature] Adding support for MPS simulation (#63)
* Adding an MPS simulator
* Adding tests for MPS
* Using non-destructive measurements
* Added a reset method to MPS
* Including MPS as a qsim backend for HybridEngine
* Adding more bindings for initialisation that are needing for the tests
* Allowing users to provide parameters for the MPS simulation from HybridEngine
* Add HybridEngine tests for MPS
* Bumping version number to 0.6.0.dev4
* [Bugfixes] Solving some issues for qemulator MPS release (#73)
* Added angles vs angle parameter handling to hybrid_engine_old
* The reset methods in simulators must return self.
* If import fails, create dummy NoneType simulator
* Updated bindings of CoinToss
* Removed filter of simulation parameters, since it is not necessary
* Using a more sensible import approach in the test file
* Debug message converted to info message.
* Bump to 0.6.0.dev5
* Feat qeclib steane (#75)
* Initial dump of qeclib code + SLR updates
* Add teleportation/application of the Tdg gate to Steane code class.
* fix register naming bug (#70)
* Add qasm regression tests
* Refactor qasm generation
* Removed some test print statements
* Use `default_rus_limit` in `Steane` class (#74)
* use default_rus_limit
* Revert "use default_rus_limit"
This reverts commit c186dd9.
* set rus_limit to None by default
* Allow passing ancillas to `Steane` class (#72)
* allow ancilla recycling in Steane class
* raise error if ancilla register is too small
* add only new variables
* Revert "add only new variables"
This reverts commit a0d8e4f.
* Fixing regression qasm issues
* lint fixes
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaranra@gmail.com>
Co-authored-by: Michael A. Perlin <mika.perlin@gmail.com>
* Typo fixed in the implementation of `p` and `tdg` in `steane_class.py` (#76)
* Typo fixed
* Another typo in definition of tdg
* Fixing regression issue due to typo fix + fixing inconsistent creg use
---------
Co-authored-by: Ciaran Ryan-Anderson <ciaran.ryan-anderson@quantinuum.com>
* fix Steane.prep_tdg_plus_state (#78)
* Fixing measurement noise causing only 0 measurement
* fix RUS reject bits and add QEC flag bits
* Automatic lint fixes
* Revert "Automatic lint fixes"
This reverts commit 8f0e928.
* More Clifford gates supported in state-vector and MPS simulators (#87)
* Added informative error if gate not supported by simulator
* Added more Clifford gates
* Test for new gates
* bump v0.6.0.dev5 to v0.6.0.dev6 + update pre-commit + fix regression version issue (#88)
* typo fix
* remove changes to pauli_states.py
* remove changes to qec_3parallel.py
* remove artifact
* consolidate measurements
* make reject optional
* set default value of log: Bit | None
* self.extend --> block.extend
* qasm file fix for regression tests
* simplify redundant code
* remove redundant error message
* recognize X/Y/Z states as +X/+Y/+Z
---------1 parent a0989e7 commit eca0ce7Copy full SHA for eca0ce7
File tree
Expand file treeCollapse file tree
20 files changed
+86
-245
lines changedFilter options
- python/pecos/qeclib/steane
- preps
- tests/regression/test_qasm/regression_qasm
Expand file treeCollapse file tree
20 files changed
+86
-245
lines changedpython/pecos/qeclib/steane/preps/pauli_states.py
Copy file name to clipboardExpand all lines: python/pecos/qeclib/steane/preps/pauli_states.py+4-4Lines changed: 4 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
139 | 139 |
| |
140 | 140 |
| |
141 | 141 |
| |
142 |
| - | |
| 142 | + | |
143 | 143 |
| |
144 | 144 |
| |
145 | 145 |
| |
| |||
155 | 155 |
| |
156 | 156 |
| |
157 | 157 |
| |
158 |
| - | |
| 158 | + | |
159 | 159 |
| |
160 |
| - | |
| 160 | + | |
161 | 161 |
| |
162 | 162 |
| |
163 | 163 |
| |
| |||
166 | 166 |
| |
167 | 167 |
| |
168 | 168 |
| |
169 |
| - | |
| 169 | + | |
170 | 170 |
| |
171 | 171 |
| |
172 | 172 |
| |
|
0 commit comments