qrunch.quantum.estimators.tensor_network_estimator
Tensor network estimator.
Classes
Estimator implementation using tensor network contraction. |
- class TensorNetworkEstimator
Bases:
EstimatorEstimator implementation using tensor network contraction.
This estimator computes expectation values of observables by representing quantum circuits as tensor networks and contracting them. Currently only supports exact estimation (shots=None).
- __init__(estimator_algorithm: TensorNetworkEstimatorAlgorithm, error_mitigator: EstimatorErrorMitigator | None = None, measurement_cache: MeasurementCache | None = None) None
Initialize a tensor network estimator.
- Parameters:
estimator_algorithm (TensorNetworkEstimatorAlgorithm) – Algorithm for tensor network contraction and estimation.
error_mitigator (EstimatorErrorMitigator | None) – Optional error mitigation strategy to apply.
measurement_cache (MeasurementCache | None) – Optional cache for storing and reusing measurement results.
- Return type:
None
- clear_cache() None
Clear the measurement cache.
- Return type:
None
- has_spin_particle_conservation() bool
Return True, if the estimator is set to use spin particle conservation.
- Return type:
bool
- has_total_particle_conservation() bool
Return True, if the estimator is set to use total particle conservation.
- Return type:
bool
- run(observables: Sequence[int | float | complex | Expression[PauliOperators]] | int | float | complex | Expression[PauliOperators] | Sequence[HermitianPauliSum] | HermitianPauliSum, circuits: Circuit | Sequence[Circuit], shots: int | ShotsPerGroup | None) ExpectationValue | list[ExpectationValue] | EstimatorResults
Estimate the value of the observables using the circuit state.
For each observable the following will be calculated: <circuit|observable|circuit>.
- Parameters:
observables (Sequence[int | float | complex | Expression[PauliOperators]] | int | float | complex | Expression[PauliOperators] | Sequence[HermitianPauliSum] | HermitianPauliSum) – Observable(s) to be estimated.
circuits (Circuit | Sequence[Circuit]) – States to make estimation from.
shots (int | ShotsPerGroup | None) – number of shots or None if using a full state vector calculation.
- Return type:
ExpectationValue | list[ExpectationValue] | EstimatorResults
- validate_shots_type(shots_type: Type[int | ShotsPerGroup | None]) list[str]
Validate that the sampler supports the given shots type. Return a list of error messages if not supported.
- Parameters:
shots_type (Type[int | ShotsPerGroup | None])
- Return type:
list[str]