qml.estimator.templates.MPSPrep¶
- class MPSPrep(num_mps_matrices, max_bond_dim, precision=None, wires=None)[source]
Bases:
ResourceOperator
Resource class for the MPSPrep template.
The resource operation for preparing an initial state from a matrix product state (MPS) representation.
- Parameters:
num_mps_matrices (int) – the number of matrices in the MPS representation
max_bond_dim (int) – the bond dimension of the MPS representation
precision (float | None) – the precision used when loading the MPS matricies
wires (WiresLike | None) – the wires the operation acts on
- Resources:
The resources for MPSPrep rely on a decomposition which uses the generic
QubitUnitary
. This decomposition is based on the routine described in arXiv:2310.18410.
See also
Example
The resources for this operation are computed using:
>>> mps = qre.MPSPrep(num_mps_matrices=10, max_bond_dim=2**3) >>> print(qre.estimate(mps, gate_set={"CNOT", "RZ", "RY"})) --- Resources: --- Total wires: 13 algorithmic wires: 10 allocated wires: 3 zero state: 3 any state: 0 Total gates : 1.654E+3 'RZ': 728, 'RY': 152, 'CNOT': 774
Attributes
Returns a dictionary containing the minimal information needed to compute the resources.
- resource_keys = {'max_bond_dim', 'num_mps_matrices', 'precision'}¶
- resource_params¶
Returns a dictionary containing the minimal information needed to compute the resources.
- Returns:
- A dictionary containing the resource parameters:
num_mps_matrices (int): the number of matrices in the MPS representation
max_bond_dim (int): the bond dimension of the MPS representation
precision (float | None): the precision used when loading the MPS matrices
- Return type:
dict
Methods
resource_decomp
(num_mps_matrices, max_bond_dim)Returns a list representing the resources of the operator.
resource_rep
(num_mps_matrices, max_bond_dim)Returns a compressed representation containing only the parameters of the Operator that are needed to compute the resources.
tracking_name
(num_mps_matrices, ...)Returns a name used to track the operator during resource estimation.
- classmethod resource_decomp(num_mps_matrices, max_bond_dim, precision=None)[source]¶
Returns a list representing the resources of the operator. Each object in the list represents a gate and the number of times it occurs in the circuit.
- Parameters:
num_mps_matrices (int) – the number of matrices in the MPS representation
max_bond_dim (int) – the bond dimension of the MPS representation
precision (float | None) – the precision used when loading the MPS matrices
- Resources:
The resources for MPSPrep are estimated according to the decomposition, which uses the generic
QubitUnitary
. The decomposition is based on the routine described in arXiv:2310.18410.
- Returns:
A list of
GateCount
objects, where each object represents a specific quantum gate and the number of times it appears in the decomposition.- Return type:
list[
GateCount
]
- classmethod resource_rep(num_mps_matrices, max_bond_dim, precision=None)[source]¶
Returns a compressed representation containing only the parameters of the Operator that are needed to compute the resources.
- Parameters:
num_mps_matrices (int) – the number of matrices in the MPS representation
max_bond_dim (int) – the bond dimension of the MPS representation
precision (float | None) – the precision used when loading the MPS matrices
- Returns:
the operator in a compressed representation
- Return type: