qlasskit
qlasskit copied to clipboard
A python-to-quantum compiler
Implement integer division `//` (known as floor_div) for Qint type using the following algorithm: [Integer_division_(unsigned)_with_remainder](https://en.wikipedia.org/wiki/Division_algorithm#Integer_division_(unsigned)_with_remainder) Handle division by constant using the same optimization method used for multiplying with constant implemented...
- Propose and implement an algorithm in the [`qlasskit.algorithms`](https://github.com/dakk/qlasskit/tree/master/qlasskit/algorithms) package. - The algorithm have to use one or more `qlassf` functions. - The algorithm have to preferably come from a...
Create a cli tool in the [`qlasskit/tools`](https://github.com/dakk/qlasskit/tree/master/qlasskit/tools) package called `py2bexp` that receives a python script (file or stdin) in input and outputs bool expressions. The python script should contain at...
Create a cli tool in the [`qlasskit/tools`](https://github.com/dakk/qlasskit/tree/master/qlasskit/tools) package called `py2qasm` that receives a python script (file or stdin) in input and outputs qasm code. The python script should contain at...
Implement the `ast.Pow` operator (**) between a variable and an integer constant. Since a ** n == a * a * ... * a, we implement this operator with a...
Integrate in `QCircuit` a new function called `zx_simplify` that call `zx.simplify.full_reduce(circuit)` on pyzx and return a simplified `QCircuit`. After that, we need to extend the test suite for benchmarking all...
In some places of the code we are using `type: ignore` for disabling mypy checks. We need to remove all ignores, enforcing type consistency. ``` $ grep -R "type: ignore"...
When qlasskit parses expressions containing constants, the boolean form containing the constant is created and then optimized (if possible). A smarter approach would be to evaluate constant expression during ast2logic...