Changelog ========= v1.5.10 ------- * Fix bug in the documentation deployment. v1.5.9 ------ * Minimal changes to Gitlab CI/CD configuration, to fix some issue for the public version. v1.5.8 ------ * Switch to Gitlab CI/CD. * Bugfix for resuming checkpoints a second time for qiskit circuits, which was incorrect due to wrong instruction indexing. * Added subtests in ``test_observables.py`` and ``test_basic_circuits.py``. v1.5.7 ------ * Modernized the build system by relying solely on ``pyproject.toml``. ``setup.py`` is now a thin wrapper around ``setuptools.setup()``. This and ``conanfile.py`` will be removed once we switch to Gitlab CI/CD. * Removed ``requirements.txt`` as dependencies are now specified in ``pyproject.toml``. v1.5.6 ------ * Update CI/CD pipelines. v1.5.5 ------ * Updated dependency of qtealeaves to v1.7.20. v1.5.4 ------ * Replaced recursion with nested while loops to reduce memory requirement for tn compiler. v1.5.3 ------ * Fixed bugs in the tensor compiler to ensure all consecutive one/two qubit gates are merged. * Updated the Quantum Volume preprocessing in unittests. v1.5.2 ------ * Merged bugfixes from master `v1.4.3` to `v1.5.2`. v1.5.1 ------ * Import updates from `1.4.2` for new build server. * Extend developers readme. v1.5.0 ------ * New minor version (no changes on the code side with repsect to v1.4.1). v1.4.3 ------ * `mpi4py` is now optional, and only required for MPI simulations. v1.4.2 ------ * Update build server to new jenkins. v1.4.1 ------ * Merge develop and master for new public version. v1.4.0 ------ * Update to `python3.11`. * Update dependencies of qtealeaves and qredtea accordingly. v1.3.3 ------ * Fixing bug with statevector retrieval in the case `20=X.Y.Z, `save_pickle`, `load_results` -> `read_pickle`. v1.0.0 ------ - Removed `mock_fortran` simulation, now the simulation in python does not write the inputs in the same fashion of a fortran simulation - Updated to the v1.0.0 of qtealeaves, using tensors - Created utils folder - Implemented automatic selection of device - Implemented automatic selection of precision - Implemented automatic selection of svd decomposition - Parallel execution of the MPS across multiple processes is now possible in python - Implemented checkpoints in python - Implemented mid-circuit measurements in python - Added memory tracker in simulations v0.5.2 ------- - Implemented pypi installation. - Bugfix for documentation not showing online. - Improved and updated documentation. - Bugfix for `save_result()`, `load_result()` methods of `simulation_results` class. v0.4.13 ------- - Updated examples to current version - The examples are now run during the unittests, and gives an error if they do not run. v0.4.12 ------- - Bugfix for checkpoints construction and default folder (now inside the default simulation folder ) - Bugfix for the tensor compiler v0.4.11 ------- - Bugfix construction nml file with checkpoints. - Adapt logic initial state. - Export `py_quantum_matcha_tea/tests` folder in conan recipe. v0.4.10 ------- - `QcMps` is renamed in `QCEmulator` since now it can accept different TN ansatzes - Added new argument `ansatz` in `QCBackend` to select which ansatz (either MPS or TTN). The TTN anstaz only works on python cpu at the moment. - Removed postprocessing with quantum registers of the bond entropy because it does not make sense with the new description of the bond entorpy - Added example to test the difference in performances between TTNs and MPS - `singval_mode` is renamed to `trunc_tracking_mode` v0.4.9 ------ - Fixed bug due to argparse when launching `run_simulation` from jupyter noteboos. - Changed path of the `_get_layered_instruction` function such that it works even with the latest qiskit - Removed `num_clbits` argument from `QcMps` since it was useless and caused errors. - Added Pauli operators (`"X"`, `"Y"`, `"Z"`) as default in `QCOperators`. - Added a new utility class `SimpleHamiltonian` to make it easier to create WeightedSum observables. In the future a `SimpleHamiltonian` will be directly passed to the observables. - Added the computation of the lower bound of the fidelity in the results - Changed the default for the `singval_mode` from `M` to `C`, that is better v0.4.8 ------ - Added VQE optimization example v0.4.7 ------ - Allow passing command line arguments to be parsed by `argparse` to run simulation method, which is necessary if consuming package has its own argparse. v0.4.6 ------ - Fixed requirements and warnings - Fixed bug in `random_quantum_circuit.py` example - Added notice in the README based on cupy installation v0.4.5 ------ - Update dependency of qtealeaves to v0.4.8 v0.4.4 ------ - Update dependency of qtealeaves. - Comment sphinx gallery due to problems in CI/CD v0.4.3 ------ - Link to documentation on public repository. v0.4.2 ------ - Added mirroring to public repository v0.4.1 ------ - Implemented black formatter for the code, plus pre-commit hooks v0.4.0 ------ - Execute update from `tn_py_frontend` v0.3.32 to `qtealeaves` v0.4.2 which requires renaming all imports and breaks backwards compatibility. v0.3.5 ------ - Solved bug in the generation of the docs due to sphinxgallery - Introduced the new QCBackend class to select the backend of the simulation v0.3.4 ------ - Implemented classically controlled gates from a qiskit circuit - Implemented initial state for qiskit simulations - Implemented tensor compiler for qiskit circuits - Added example for the convergence study - Added GPY approach, which implement a GPU backend through cupy. The presence of a GPU/cupy is not mandatory. - Added MPI example, fixed bug in the MPI data parallel approach v0.3.2 ------ - Fixed path for TNConvergenceParameters following tn_py_frontend - Fixed path error when working with serial approach v0.3.1 ------ - Fixing naming issues for qmatchatea - Add integration tests v0.3.0 ------ - Renamed in qmatchatea - Fixed bug when using the unittest from an interactive interface after the addition of argparse - Fixed bug for which the name of the input file was not appended when using parallel fortran approach - Deleted lines that resulted in an error, that previously were meant for debug v0.2.3 ------ - Added QCircuit class :doc:`circuit` - Added example on how to use the Qcircuit class - Added support for custom operations on the quantum circuit, with also intermediate observables measurements :doc:`operations` v0.2.2 ------ - Added possibility of installing with the fortran executables, by running the ``installer.py`` file. - Updated the README to take into account the above possibility - Added the possibility of using command line arguments that overwrites the approach and the executable used in the simulation at runtime, if the :func:`run_simulation` function is used. v0.2.1 ------ - Improved documentation - Added examples and sphinx gallery v0.2.0 ------ - Moved observables from qcomps to tn_py_frontend - All measurable quantities are now observables - Removed the possibility of performing projective measurement directly from the interface, you now need to use an observable. - Removed the possibility of measuring the entanglement directly from the interface, you now need to use an observable. - Removed the possibility of performing statevector measurement directly from the interface, you now need to use an observable and save the MPS state. From that state you can compute the statevector