qat.core
This module provides the core data structures and functions needed in the framework.
Objects for writing a job
Following are used to send a circuit/schedule or a set of circuits/schedules to a plugin or to a
QPU. The circuit is then compiled or executed. The Job
class is used to send a
single Circuit
or Schedule
to a QPU whereas the
Batch
class is used to send several Circuit
objects
or several Schedule
objects at the same time.
Collection of |
|
Quantum circuit describing a collection of gates |
|
Job that can be processed by a QPU |
|
Encoding of time-dependent Hamiltonians |
Objects for parsing a job result
Collection of |
|
Result of a quantum processing |
|
One sample of the |
|
Represents a classical state |
Hardware specifications
Hardware specifications are described by the class HardwareSpecs
.
Hardware specification of a quantum processor |
|
Describes the topology of a quantum processor |
|
Enumeration describing the type of a |
Variables and Parameters
When defining a variational circuit, pyAQASM provides its own way to declare variables (via the
qat.lang.Program.new_var()
method). However, it is possible to turn most parts of a Job
into a parametrized quantity using Variable
objects.
Time-dependent parameter than can be included within a |
|
Typed variable, which can |
More utilities on Variable
objects are documented in qat.core.variables
.
Misc. utilities
Ensure an assertion is valid (to be used in a Plugin) |
|
Ensure an assertion is valid (to be used in a QPU) |
|
Displays a circuit on the terminal using ASCII art |
|
Evaluate a logical formula |
|
Displays a circuit inside a Jupyter notebook |
|
Tool for QPU simulation returning a numpy array wavefunction |
|
Load a state vector from data serialized in a binary file |
|
Aggregate data |