Data Cybernetics qiskit-algorithms
###################################
.. image:: https://img.shields.io/travis/com/carstenblank/dc-qiskit-algorithms/master.svg?style=for-the-badge
:alt: Travis
:target: https://travis-ci.com/carstenblank/dc-qiskit-algorithms
.. image:: https://img.shields.io/codecov/c/github/carstenblank/dc-qiskit-algorithms/master.svg?style=for-the-badge
:alt: Codecov coverage
:target: https://codecov.io/gh/carstenblank/dc-qiskit-algorithms
.. image:: https://img.shields.io/codacy/grade/f4132f03ce224f82bd3e8ba436b52af3.svg?style=for-the-badge
:alt: Codacy grade
:target: https://www.codacy.com/app/carstenblank/dc-qiskit-algorithms?utm_source=github.com&utm_medium=referral&utm_content=carstenblank/dc-qiskit-algorithms&utm_campaign=Badge_Grade
.. image:: https://img.shields.io/readthedocs/dc-qiskit-algorithms.svg?style=for-the-badge
:alt: Read the Docs
:target: https://dc-qiskit-algorithms.readthedocs.io
.. image:: https://img.shields.io/pypi/v/dc-qiskit-algorithms.svg?style=for-the-badge
:alt: PyPI
:target: https://pypi.org/project/dc-qiskit-algorithms
.. image:: https://img.shields.io/pypi/pyversions/dc-qiskit-algorithms.svg?style=for-the-badge
:alt: PyPI - Python Version
:target: https://pypi.org/project/dc-qiskit-algorithms
.. header-start-inclusion-marker-do-not-remove
`qiskit <https://qiskit.org/documentation/>`_ is an open-source compilation framework capable of targeting various
types of hardware and a high-performance quantum computer simulator with emulation capabilities, and various
compiler plug-ins.
This library sports some useful algorithms for quantum computers using qiskit as a basis.
Features
========
* Multi Qubit Quantum Fourier Transform
* Draper adder
* Uniform Rotations
* State Preparation
.. header-end-inclusion-marker-do-not-remove
.. installation-start-inclusion-marker-do-not-remove
Installation
============
This library requires Python version 3.5 and above, as well as qiskit.
Installation of this plugin, as well as all dependencies, can be done using pip:
.. code-block:: bash
$ python -m pip install dc_qiskit_algorithms
To test that the algorithms are working correctly you can run
.. code-block:: bash
$ make test
.. installation-end-inclusion-marker-do-not-remove
.. gettingstarted-start-inclusion-marker-do-not-remove
Getting started
===============
You can use the state preparation as follows
.. code-block:: python
from dc_qiskit_algorithms.MöttönenStatePrep import state_prep_möttönen
vector = [-0.1, 0.2, -0.3, 0.4, -0.5, 0.6, -0.7, 0.8]
vector = numpy.asarray(vector)
vector = (1 / numpy.linalg.norm(vector)) * vector
qubits = int(numpy.log2(len(vector)))
reg = QuantumRegister(qubits, "reg")
c = ClassicalRegister(qubits, "c")
qc = QuantumCircuit(reg, c, name='state prep')
state_prep_möttönen(qc, vector, reg)
After this, the quantum circuit is prepared in the given state. All complex vectors are possible!
.. gettingstarted-end-inclusion-marker-do-not-remove
Please refer to the `documentation of the dc qiskit algorithm Plugin <https://dc-qiskit-algorithms.readthedocs.io/>`_ .
.. howtocite-start-inclusion-marker-do-not-remove
Contributing
============
We welcome contributions - simply fork the repository of this plugin, and then make a
`pull request <https://help.github.com/articles/about-pull-requests/>`_ containing your contribution.
All contributers to this plugin will be listed as authors on the releases.
We also encourage bug reports, suggestions for new features and enhancements, and even links to cool projects or applications built on PennyLane.
Authors
=======
Carsten Blank
.. support-start-inclusion-marker-do-not-remove
Support
=======
- **Source Code:** https://github.com/carstenblank/qiskit-algorithms
- **Issue Tracker:** https://github.com/carstenblank/qiskit_algorithms/issues
If you are having issues, please let us know by posting the issue on our Github issue tracker.
.. support-end-inclusion-marker-do-not-remove
.. license-start-inclusion-marker-do-not-remove
License
=======
The data cybernetics qiskit algorithms plugin is **free** and **open source**, released under
the `Apache License, Version 2.0 <https://www.apache.org/licenses/LICENSE-2.0>`_.
.. license-end-inclusion-marker-do-not-remove