QCTraceSimulatorConfiguration Class

Definition

The configuration of QCTraceSimulator.

[System.Serializable]
public class QCTraceSimulatorConfiguration
[<System.Serializable>]
type QCTraceSimulatorConfiguration = class
Public Class QCTraceSimulatorConfiguration
Inheritance
QCTraceSimulatorConfiguration
Attributes

Constructors

QCTraceSimulatorConfiguration()

Fields

CallStackDepthLimit

Bounds the call stack depth for which information per call graph edge is stored. The depth of a given node in the call graph is the distance from the node to the root of the call graph.

EnableRestrictedReuse

Specifies if a qubit manager with restricted reuse should be used to allocate qubits. When true, a qubit manager derived from QubitManagerRestrictedReuse is used for tracing.

OptimizeDepth

Controls if depth or width optimization is favored. If set to true, resulting circuit is optimized for depth by discouraging qubit reuse. If set to false, resulting circuit is optimized for width be encouraging qubit reuse. Optimization is only limited to reuse of qubits after they are released by user code.

ThrowOnUnconstrainedMeasurement

If set to true, an UnconstrainedMeasurementException is thrown every time there is an unconstrained measurement. For more details, please refer to the "Quantum computer trace simulator" documentation section.

TraceGateTimes

Specifies the time it takes to execute each gate. In other words, specifies the depth of each primitive operation. These fields are used by the Depth Counter component of QCTraceSimulator to compute the aggregate depth of operations.

UseDepthCounter

If set to true, QCTraceSimulator collects operations depth per each call graph edge. The names of the metrics collected by the Depth Counter are listed in MetricsNames.DepthCounter For more details, please refer to the "Quantum computer trace simulator/Depth Counter" documentation section.

UseDistinctInputsChecker

If set to true, the Distinct Inputs Checker component of QCTraceSimulator is used. If input to an operation containing non-distinct qubits is detected, a DistinctInputsCheckerException is thrown. For more details, please refer to the "Quantum computer trace simulator/Distinct Inputs Checker" documentation section.

UseInvalidatedQubitsUseChecker

If set to true, the Invalidated Qubits Use Checker component of QCTraceSimulator is used. If the problem is detected, InvalidatedQubitsUseCheckerException is thrown. For more details, please refer to the "Quantum computer trace simulator/Invalidated Qubits Use Checker" documentation section.

UsePrimitiveOperationsCounter

If set to true, QCTraceSimulator collects primitive operation counts for each call graph edge. The names of the metrics collected by Primitive Operations Counter are listed in PrimitiveOperationsGroupsNames. For more details, please refer to the "Quantum computer trace simulator/Primitive Operations Counter" documentation section.

UseWidthCounter

If set to true, QCTraceSimulator collects information about the number of qubits used per call graph edge. The names of the metrics collected by the Width Counter are listed in MetricsNames.WidthCounter. For more details, please refer to the "Quantum computer trace simulator/ Width Counter" documentation section.

Applies to