Skip to content

Releases: Mowstyl/QSimov

Fixed sympy requirement, Rzz gate and density simulation

21 Oct 18:54
Compare
Choose a tag to compare

New license, new name.

04 Apr 21:05
Compare
Choose a tag to compare

The module is now published under "qsimov" instead of "qsimov-Mowstyl" and it's now under the GNU GPL v3+ license.
The setup.py has been replaced with a pyproject.toml.
Feel free to contribute!

QSystem bloch bug fixed

19 Jun 18:31
Compare
Choose a tag to compare

Fixed QSystem.bloch always returning None for certain values of "key".

QSimov 5, now with classical registries support and lots of bugs fixed

24 May 23:31
Compare
Choose a tag to compare

Some bugs that used to happen when inverting a special kind of SimpleGates have been fixed. Hopefully, there is no bug left with the gates, lots of tests have been performed against them (they will be automated in a future update).
Also, a weird error that happened when cloning a QSystem has been fixed too.

QGates and QCircuits now work with classical bits along with the usual quantum bits. Measurements now have to be outputted to a classical bit of the classical registry and they can be used to control gates/measurements. When using Doki, the value of all the classical bits will always be outputted after executing a circuit, no more lists of lists of lists of... (ended looking like ((((LISP))))).

The Wiki has also been updated, feel free to take a look.

Increased QSystem performance with high number of qubits

15 Mar 21:33
Compare
Choose a tag to compare

Cloning all registries inside a QSystem on each operation was taking too long.
Now we just copy the reference to them instead of creating a new registry with the same values.
This means the free method is unsafe when used with deep=False.
Always prefer using python's del.

This means you can use QSystems with a higher number of qubits (like in QSimov v3).

Version 4.0.0, rewritten almost everything

08 Nov 20:15
Compare
Choose a tag to compare

Rewritten lots of things, the API should be more stable from now on.
Added Drewom, a submodule that will handle the translation from the list of operations used in a QDesign to anything another simulator may need to execute them, serving as a middleware.
The core is now a module following Doki 1.3.0 API (doki-Mowstyl 1.3.0 by default).
It can be provided when creating a QStructure and as an argument to Drewom.

Added samples, more fixes

10 Jun 07:39
Compare
Choose a tag to compare

Additions:

  • Samples submodule with
    • An implementation of the Deutsch-Jozsa algorithm circuit for the specified oracle
    • Gate with specified values as its first column (currently not working for negative and complex numbers), based on an article with DOI: 10.1103/PhysRevA.64.014303

Fixes:

  • Designs ignoring offsets when using anti/controlled qubits

Fixes and changes

28 Apr 13:20
Compare
Choose a tag to compare

Additions:

  • Method get_seed() added to main module. Use it to get the seed

Changes:

  • The current seed is no longer printed on import

Fixes:

  • Empty QGates causing errors. They'll be treated as a 2x2 identity matrix
  • Fixed error when adding gates after a measure in a circuit (due to the last update)
  • Negative numbers can now be used as parameters for parametrized gates

Not naïve addLine methods

26 Feb 20:43
Compare
Choose a tag to compare

Fixed some errors in Linux systems.
Now the addLine method automatically optimizes the circuit/gate by removing gates applied after its inverse (and the inverse).

Fixed errors, reported or not

24 Aug 21:33
Compare
Choose a tag to compare

Updated libqsimov to fix a potential error.
Fixed an error related with addLine of both QGate and QCircuit. controls and anticontrols weren't being saved well.