Граф коммитов

2 Коммитов

Автор SHA1 Сообщение Дата
Chris Granade 7be564b5d0
New example notebook with conceptual overview of open quantum systems. (#750)
* New example notebook with conceptual overview of open quantum systems.

* Clarify that open systems simulators are preview.

* One more "experimental" → "preview."
2021-06-23 19:14:54 +00:00
Chris Granade 1334dc8cef
Experimental simulators feature (#720)
* Start experimental simulators feature (#709)

* Experiment to hook up Rust crate to cmake.

* Add experimental simulator as rlib crate.

* Expanded C API, started consolidating Cargo.toml.

* Just the one crate will do.

* First unit test of QIR ↔ opensim.

* Add rust to builds.

* Start adding to CI.

* Don't set toolchain in CI.

* Started building managed interface.

* Add System.Text.Json dependency.

* Add native opensim sharedlibs to nupkg.

* Updated DLL name in NativeInterface.

* downgrade s.t.json.

* Fix pack.ps1 paths.

* Set --release flag in opensim.

* Add get_name.

* Added rest of c_api to NativeInterface.cs.

* Initial attempt at type1 implementation.

* Add open systems data model.

* Fix null reference exception by adding explicit qubit manager.

* Started using QSharpCore interface temporarily.

* Begin adding decompositions for opensim.

* Expose noise_model::ideal() through c_api.

* Fix json serialization of instruments.

* More informative exceptions in SetNoiseModel

* Pass DumpMachine through OnDisplayableDiagnostic.

* Began addressing warnings and adding unit tests.

* A couple more tests.

* Started enabling doctests for Rust runtime.

* Fix new doctest.

* Added more API doc comments.

* A bit of code cleanup.

* Start adding integration tests for experimental simulator in C# runtime.

* Fix teleport test.

* Attempt at fixing project-based tests.

* One more Rust-side unit test.

* Added opensim to local dev props, and reverted bad change to unittests.qs.

* Undo one other bad change.

* Disable test that depends on Rz.

* Started adding Rust-language integration tests.

* Added more informative error message when R is not supported.

* Forgot to add test data to prev commit.

* Start enabling performance reporting for opensim.

* Adapt opensim / managed interface to #538.

* Adapt QIR / opensim interface to #553.

* Apply rust-fmt, and reduce extraneous copying in conjugate_by.

* Started weakening from owned arrays to views.

* Weakened tensor to views by owning views and borrowing owns.

* Started adding microbenchmarks.

* extend_two_to_n

* Clear diskspace and build microbenchmarks in CI.

* Clean more aggressively to avoid disk space issues.

* Format, fix warnings, simplify Cargo.toml.

* Fix choco rustup in prereqs.

* Disable choco rustup.

* Fix path to Cargo.toml.

* Don't check Rust-style names with clang-tidy.

* M is no longer overriden.

* Temporarily disable QIR / opensim integration.

* Clean up extra cargo files after testing opensim.

* Work on API docs and refactoring of Rust crate.

* Separate out qdk_sim into its own crate.

* Work on testing and enforcing rust fmt.

* Run clippy in tests as well.

* Add code quality checks to build/test.

* Ignore jupyter temps and xplat drops.

* Begin exposing build metadata through to C# callers.

* Start injecting version number from build into Cargo.toml.

* Started infrastructure to expose simulation functionality to Python.

* Ignore Python temporaries and build artifacts.

* More partial progress on exposing to Python.

* Add initial precommit config.

* Introduce fmt error.

* Add new checks to pre-commit.

* Continued integrating CHP into simulator API.

* Address clippy warnings.

* Work on docs.

* Separate out paulis.rs.

* Expose more simulation functionality to Python.

* Generalize C API to allow using other state representations.

* Enable CFG for C / Rust boundaries.

* Move Cargo.toml injection into bootstrap.

* Fix path from bootstrap to Cargo.toml injection, debug injection.

* One more path fix.

* One more path fix.

* Remove --release from cargo package.

* Revert CFG change to cmake.

* Fix Rust build script.

* Debug artifact paths.

* Debug drop paths as well.

* More path debugging.

* Fix build paths.

* Don't cargo clean build artifacts away.

* Fix one character typo in Simulators.Dev.props.

* Fix one more dev props typo.

* Eliminate unneeded copy.

* Improve naming conventions in processes.rs.

* Fix pack.ps1 to include qdk_sim_rs drops.

* Expose more information in exceptions.

* Fix one more path.

* Add links on cargo-clippy.

* Fix issues in C API benchmarking.

* Improve Python bindings for NoiseModel.

* Improve readme for qdk_sim_rs crate.

* Improve noise model handling, add test coverage.

* Update System.Text.Json to 4.7.2.

* Address clippy warnings.

* Don't use new C# 9 features.

* Don't store cargo lockfile in repo for now.

* Remove outdated gitignore.

* Fix serialization test, false negatives.

* Use +nightly to run doctests.

* Allow serializing and deserializing mixed pauli channels.

* Expose as_json to more Python classes.

* Added ideal_stabilizer noise model, split up processes, and start CHP decomp.

* Allow applying CHP decompositions.

* Fix clippy warnings.

* Check error conditions on get_noise_model.

* Allow for getting/setting noise models by name.

* Expose as_json for State to Python.

* Added stabilizer states to data model for serialization.

* Significantly expanded documentation.

* Added header explaining how to call cargo doc.

* Fix doctest.

* Add extra assertions.

* Add more debug outputs to assertion failure.

* Fixed assertion.

* Fixed assert.

* Fix clippy warning.

* Update src/Simulation/Simulators/OpenSystemsSimulator/NativeInterface.cs

Co-authored-by: Robin Kuzmin <kuzmin.robin@gmail.com>

* Fixed C# serialization.

* Slight comment fixes.

* Fix build failure.

* Address review comments.

* qdk_sim → qdk_sim_experimental,improve Python version handling.

* Revert src/Qir to main.

QIR integration deferred to #713.

* Add prerequisites.ps1.

* Finish reverting QIR.

* Generate C++ headers as well as C.

* Fixed issue building docs locally with python disabled.

* Updated link to tracking issue for experimental sims.

* Gate `cargo clean` on CI builds.

* Addressing feedback.

* Force dependency on S.T.Encodings.Web to be >= 4.7.2.

* Adding comment to explain serialization field.

* Added README link to experimental simulators doc.

* Fix typo.

* Add stabilizers to state converter.

* Move format/linting checks to build from test.

* Fix stabilizer noise model serialization, added new test.

* Work on docs.

* Fixed some slight issues with n_qubits handling.

* Update documentation notebook.

* Regenerate notebook from latest build.

* Fixed some serialization issues.

* Fixed some serialization tests.

* Expose build info and fix mixed pauli channels.

* Updated documentation notebook from latest build.

Co-authored-by: Robin Kuzmin <kuzmin.robin@gmail.com>

* Finish remaining decompositions for initial version of experimental simulators. (#724)

* Update documentation notebook for latest IQ# bugfix.

* Started work on decompositions.

* Added more detail to documentation notebook.

* Moved all decomposition logic to Q# operations.

* Added more decompositions.

* Make known limitations more explicit in README.md.

* Move known limitations to Markdown documentation./

* Started adding tests of decompositions.

* Added missing `open` statement.

* Don't mark decompositions as internal.

* Fixed build issue (💕 to @swernli for all the help!)

* Unit tests now pass.

* Address feedback.

* Fix two small build issues.

* Added comment explaining reset / release.

* Remove DLL added by accident.

* Removed one more file added by accident.

* Revert "Removed one more file added by accident."

This reverts commit 1cc67a37a3.

* Added comment explaining vcomp140.dll.

* Call cbindgen manually (#730)

* Call cbindgen manually instead of in build.rs.

* Updated metadata in Cargo.toml.

* Addressing feedback from @swernli.

* Update src/Simulation/Simulators/OpenSystemsSimulator/README.md

Co-authored-by: Robin Kuzmin <kuzmin.robin@gmail.com>

* Update src/Simulation/qdk_sim_rs/docs/c-api.md

Co-authored-by: Robin Kuzmin <kuzmin.robin@gmail.com>

* Update src/Simulation/qdk_sim_rs/docs/c-api.md

* Addressing feedback on c-api.md.

Co-authored-by: Robin Kuzmin <kuzmin.robin@gmail.com>
2021-06-16 18:19:58 -07:00