Pattern data structure

graphix.command module

This module defines standard data structure for pattern commands.

class graphix.command.CommandKind(value)[source]

An enumeration.

class graphix.command.N(*, kind: CommandKind = CommandKind.N, node: int)[source]

Preparation command.

class graphix.command.M(*, kind: CommandKind = CommandKind.M, node: int, plane: Plane = Plane.XY, angle: float = 0.0, s_domain: list[int] = [], t_domain: list[int] = [], vop: int = 0)[source]

Measurement command. By default the plane is set to ‘XY’, the angle to 0, empty domains and identity vop.

class graphix.command.E(*, kind: CommandKind = CommandKind.E, nodes: tuple[int, int])[source]

Entanglement command.

class graphix.command.C(*, kind: CommandKind = CommandKind.C, node: int, cliff_index: int)[source]

Clifford command.

class graphix.command.X(*, kind: CommandKind = CommandKind.X, node: int, domain: list[int] = [])[source]

X correction command.

class graphix.command.Z(*, kind: CommandKind = CommandKind.Z, node: int, domain: list[int] = [])[source]

Z correction command.

graphix.pauli module

This module defines standard data structure for Pauli operators, measurement planes and their transformations.

class graphix.pauli.Plane(value)[source]

An enumeration.

class graphix.pauli.Pauli(symbol: IXYZ, unit: ComplexUnit)[source]

Pauli gate: u * {I, X, Y, Z} where u is a complex unit

Pauli gates can be multiplied with other Pauli gates (with @), with complex units and unit constants (with *), and can be negated.

__init__(symbol: IXYZ, unit: ComplexUnit)[source]
property matrix: ndarray

Return the matrix of the Pauli gate.

class graphix.pauli.MeasureUpdate(*, new_plane: Plane, coeff: int, add_term: float)[source]

graphix.instruction module

This module defines standard data structure for gate seqence (circuit model) used for graphix.transpiler.Circuit.

class graphix.instruction.InstructionKind(value)[source]

An enumeration.

class graphix.instruction.RX(*, kind: InstructionKind = InstructionKind.RX, meas_index: int = None, target: int, angle: float)[source]

X rotation circuit instruction.

class graphix.instruction.RZ(*, kind: InstructionKind = InstructionKind.RZ, meas_index: int = None, target: int, angle: float)[source]

Z rotation circuit instruction.

class graphix.instruction.RY(*, kind: InstructionKind = InstructionKind.RY, meas_index: int = None, target: int, angle: float)[source]

Y rotation circuit instruction.

class graphix.instruction.M(*, kind: InstructionKind = InstructionKind.M, meas_index: int = None, target: int, plane: Plane, angle: float)[source]

M circuit instruction.

class graphix.instruction.X(*, kind: InstructionKind = InstructionKind.X, meas_index: int = None, target: int)[source]

X circuit instruction.

class graphix.instruction.Y(*, kind: InstructionKind = InstructionKind.Y, meas_index: int = None, target: int)[source]

Y circuit instruction.

class graphix.instruction.Z(*, kind: InstructionKind = InstructionKind.Z, meas_index: int = None, target: int)[source]

Z circuit instruction.

class graphix.instruction.S(*, kind: InstructionKind = InstructionKind.S, meas_index: int = None, target: int)[source]

S circuit instruction.

class graphix.instruction.H(*, kind: InstructionKind = InstructionKind.H, meas_index: int = None, target: int)[source]

H circuit instruction.

class graphix.instruction.SWAP(*, kind: InstructionKind = InstructionKind.SWAP, meas_index: int = None, targets: tuple[int, int])[source]

SWAP circuit instruction.

class graphix.instruction.CNOT(*, kind: InstructionKind = InstructionKind.CNOT, meas_index: int = None, target: int, control: int)[source]

CNOT circuit instruction.