Quantum Info

A module for working with POVMs on a quantum-informational setting.

Note

In this module, we use the formalism of frame theory. POVMs are considered special cases of frames and, for this reason, the effects of POVMs are often called frame operators.

POVM Classes

These classes allow you to build up POVM definitions. You can create POVMs defined over any number of qubits using the MultiQubitPOVM class and construct tensor products of these using the ProductPOVM class.

The SingleQubitPOVM is a convenient subclass of the MultiQubitPOVM for the case of acting on a single qubit. It provides some nice methods for inspecting the POVM visually within a Bloch sphere, SingleQubitPOVM.draw_bloch().

SingleQubitPOVM

A convenience class to represent a single-qubit MultiQubitPOVM instance.

MultiQubitPOVM

Class that collects all information that any POVM over multiple qubits should specify.

ProductPOVM

Class to represent a set of product POVM operators.

Dual Classes

These classes are used to represent dual frames of the POVM objects listed above. To learn more about dual frames, be sure to check out some of the other material like this introduction or this guide on dual frame optimization.

MultiQubitDual

Class that collects all information that any Dual over multiple qubits should specify.

ProductDual

Class to represent a set of product Dual operators.

Abstract Frames

Both, the POVM and Dual classes above have much functionality in common because they can be viewed as frames. The classes below implement the common functionalities.

MultiQubitFrame

Class that collects all information that any frame of multiple qubits should specify.

ProductFrame

Class to represent a set of product frame operators.

Submodules

base

The base interfaces for the quantum-informational frame, POVM, and Dual classes.