circuit_knitting.cutting.qpd.QPDBasis

class QPDBasis(maps, coeffs)[source]

Bases: object

Basis in which to decompose an operation.

This class defines a basis in which a quantum operation will be decomposed. The ideal (noise-free) quantum operation will be decomposed into a quasiprobabilistic mixture of noisy circuits.

Assign member variables.

Parameters:
  • maps (Sequence[tuple[Sequence[Instruction], ...]]) – A sequence of tuples describing the noisy operations probabilistically used to simulate an ideal quantum operation.

  • coeffs (Sequence[float]) – Coefficients for quasiprobability representation. Each coefficient can be any real number.

Returns:

None

Methods

__init__(maps, coeffs)

Assign member variables.

from_instruction(gate, /)

Generate a QPDBasis object, given a supported operation.

Attributes

coeffs

Quasiprobability decomposition coefficients.

kappa

Get the square root of the sampling overhead.

maps

Get mappings for each qubit in the decomposition.

num_qubits

Get number of qubits that this decomposition acts on.

overhead

Get the sampling overhead.

probabilities

Get the probabilities on which the maps will be sampled.