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

Noise transformation module #15

Closed
wants to merge 110 commits into from
Closed

Conversation

gadial
Copy link
Contributor

@gadial gadial commented Jan 1, 2019

Summary

This pull request adds a noise transformation module to Qiskit-Aer. The module is fully working, and many unit tests were added as well.

Details and comments

The basic use case we envision is the following: The user wants to run a Clifford simulator on a suitable circuit, using some noise model e.g. amplitude damping. It is not possible to simulate this noise on a Clifford simulator, but we can transform this noise into a Clifford noise (e.g. a noise which only uses Clifford operators) which is "close" to the original noise.

@gadial gadial requested a review from atilag as a code owner January 1, 2019 13:53
@jaygambetta jaygambetta mentioned this pull request Dec 25, 2018
chriseclectic and others added 27 commits January 2, 2019 13:38
Fix non OpenMP build, add qobj method to AerJob
Improve error reporting if scikit-build is not preinstalled in the system at install time.
if you had to use --plat-name macosx-10.9-x86_64 for bdist_wheel then you need to do this for install:
python ./setup.py install -- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9 -DCMAKE_OSX_ARCHITECTURES:STRING=x86_64
… run

Fixed "from qiskit.quantum_info import state_fidelity"
Issue Qiskit#32: Documentation fixes in CONTRIBUTING and fix import in terra-integrated tests
Improved checking of Circuit and NoiseModel instructions
gadial and others added 13 commits March 6, 2019 13:51
)

* Add CHSimulator, backend wrapper, standalone executable

* Add json for standalone tests

* Tests for CH Simulator, optimised measurement for a single stabilizer state

* Make sure we use optimised measurement everywhere

* Measurement Tests

* CHSimulator passes all default_basis tests

TODO: Add flag to enable NormEstimation
TODO: Add UserGuide for the CH Simulator
TODO: Pauli/Clifford noise support

* Switch to direct Toffoli Decomposition

* Update controller, state and python wrappers for new validation API

TODO: Update tests, heuristic for switching to ch when using the
qasm simulator in 'automatic' mode.

* Add method for checking memory requirements

Defined for the CH simulator only; could consider making this
a virtual method of the base controller class?

* Tests fixed for 0.1.1

* QasmController::run_circuit_helper for ch method

* Style changes to tests

* Memory validation, Automatic Switching to CH

* Add documentation
convert explicitly from json_t to std::string in CHSimulator::Runner
* allow various qubit vector class in qasm controller

* change indent in qasm_controller.cpp

* Specify QV class in simulation_method

* set default class for template of statevector
@chriseclectic
Copy link
Member

Hi @gadial I can't see the changes because its showing a lot of commits from master that are already merged. Could you rebase against master to fix that?

nonhermitian and others added 8 commits March 18, 2019 11:35
* * Adding ASV as the framework for benchmarking

* Migratind old benchmark infra to ASV

* * Adding tools for benchmarks

* * Adding params to the benchmarks

* * Added new benchmarks for simple circuits with just u3 and cnots
  but different number of qubits

* * Simplifying to just one function to benchmark, by moving the
  noise models as parameters
* Minor style changes I've found

* * Simplifying benchmark code by moving the noise models to params
* Better docstring documentation
* Improving ASV virutal environments generation
…_transformation

# Conflicts:
#	requirements-dev.txt
#	test/terra/test_noise_transformer.py
@gadial
Copy link
Contributor Author

gadial commented Mar 26, 2019

Reopening as another pull request.

@gadial gadial closed this Mar 26, 2019
@gadial gadial deleted the noise_transformation branch April 15, 2019 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.