unitaria.Simulator¶
- class unitaria.Simulator(scheme: str = 'exact', default_precision: float | None = None, default_failure_probability: float | None = None, seed: SeedSequence | None = None, count_gates: bool = False)[source]¶
Bases:
EstimatorEstimator based on matrix-arithmetic simulation
- Parameters:
scheme – The measurement scheme, which is simulated. Should be one of
"exact"or"monte-carlo".default_precision – Default for the
precisionparameter inestimate_norm.default_failure_probability – Default for the
failure_probabilityparameter inestimate_norm.count_gates – Wether to count the number of gates. May be much slower.
- estimate_norm(node: Node, precision: float | None = None, failure_probability: float | None = None) float[source]¶
Estimate the norm of the given block encoding.
The block encoding must represent a vector. The returned value is guaranteed to lie in the range
[0, node.normalization].The implementors of this method are free to interpret the
precision``argument loosely, and ignore the ``failure_probabilityargument.- Parameters:
node – The node representing the vector of which to compute the norm.
precision – The absolute precision, with which the norm should be computed. If
None,self.default_precisionis used instead.failure_probability – The maximum allowed failure probability, with which the absolute error of the estimate may exceed the given precision. If
None,self.default_failure_probabilityis used instead.