qml.labs.estimator_beta

This module contains experimental features for resource estimation.

Warning

This module is experimental. Frequent changes will occur, with no guarantees of stability or backwards compatibility.

Resource Estimation

estimate(workflow[, gate_set, zeroed_wires, ...])

Estimate the quantum resources required to implement a circuit or operator in terms of a given gateset.

LabsResourceConfig()

Sets the values of precisions and custom decompositions when estimating resources for a quantum workflow (see also ResourceConfig).

Qubit Tracking Functionality

Allocate(num_wires[, state, restored])

A class used to represent the allocation of auxiliary wires to be used in the resource decomposition of a ResourceOperator.

Deallocate([num_wires, allocated_register, ...])

A class used to represent the deallocation of auxiliary wires that were used in the resource decomposition of a ResourceOperator.

estimate_wires_from_circuit(circuit_as_lst)

Determine the number of auxiliary qubits needed to decompose the operators of a quantum circuit into a specific gate_set with a given config.

estimate_wires_from_resources(workflow[, ...])

Determine the number of auxiliary qubits needed to decompose the operators in a Resources object into a specific gate_set with a given config.

MarkClean(wires)

A class used to mark that certain wires are in the zero state.

MarkQubits(wires)

A base class used to mark the state of certain wire labels.

Alternate Decompositions

ch_resource_decomp()

Returns a list of GateCount objects representing the resources of the CH operator.

ch_toffoli_based_resource_decomp()

Returns a list representing the resources of the CH operator.

hadamard_controlled_resource_decomp(...[, ...])

Returns a list representing the resources for a controlled version of the Hadamard operator.

hadamard_toffoli_based_controlled_decomp(...)

Returns a list representing the resources for a controlled version of the Hadamard operator.