Note

This is the documentation for the current state of the development branch of Qiskit Experiments. The documentation or APIs here can change prior to being released.

TomographyExperiment

class TomographyExperiment(circuit, backend=None, physical_qubits=None, measurement_basis=None, measurement_indices=None, preparation_basis=None, preparation_indices=None, conditional_circuit_clbits=False, basis_indices=None, analysis='default')[source]

Base experiment for quantum state and process tomography.

Analysis class reference

TomographyAnalysis

Experiment options

These options can be set by the set_experiment_options() method.

Options
  • Defined in the class TomographyExperiment:

    • basis_indices (Iterable[Tuple[List[int], List[int]]])

      Default value: None
      The basis elements to be measured. If None All basis elements will be measured.
  • Defined in the class BaseExperiment:

    • max_circuits (Optional[int])

      Default value: None
      The maximum number of circuits per job when running an experiment on a backend.

Initialization

Initialize a tomography experiment.

Parameters:
  • circuit (Union[QuantumCircuit, Instruction, BaseOperator]) – the quantum process circuit. If not a quantum circuit it must be a class that can be appended to a quantum circuit.

  • backend (Optional[Backend]) – The backend to run the experiment on.

  • physical_qubits (Optional[Sequence[int]]) – Optional, the physical qubits for the initial state circuit. If None this will be qubits [0, N) for an N-qubit circuit.

  • measurement_basis (Optional[MeasurementBasis]) – Tomography basis for measurements. If set to None no tomography measurements will be performed.

  • measurement_indices (Optional[Sequence[int]]) – Optional, the physical_qubits indices to be measured as specified by the measurement_basis. If None all circuit physical qubits will be measured.

  • preparation_basis (Optional[PreparationBasis]) – Tomography basis for measurements. If set to None no tomography preparations will be performed.

  • preparation_indices (Optional[Sequence[int]]) – Optional, the physical_qubits indices to be prepared as specified by the preparation_basis. If None all circuit physical qubits will be prepared.

  • basis_indices (Optional[Iterable[Tuple[List[int], List[int]]]]) – Optional, the basis elements to be measured. If None All basis elements will be measured.

  • conditional_circuit_clbits (Union[bool, Sequence[int], Sequence[Clbit]]) – Specify any clbits in the input circuit to treat as conditioning bits for conditional tomography. If set to True all circuit clbits will be treated as conditional. If False all circuit clbits will be marginalized over (Default: False).

  • analysis (Union[BaseAnalysis, None, str]) – Optional, a custom analysis instance to use. If "default" TomographyAnalysis will be used. If None no analysis instance will be set.

Raises:

QiskitError – If input params are invalid.

Attributes

TomographyExperiment.analysis

Return the analysis instance for the experiment

TomographyExperiment.backend

Return the backend for the experiment

TomographyExperiment.experiment_options

Return the options for the experiment.

TomographyExperiment.experiment_type

Return experiment type.

TomographyExperiment.num_qubits

Return the number of qubits for the experiment.

TomographyExperiment.physical_qubits

Return the device qubits for the experiment.

TomographyExperiment.run_options

Return options values for the experiment run() method.

TomographyExperiment.transpile_options

Return the transpiler options for the run() method.

Methods

TomographyExperiment.circuits()

Return a list of experiment circuits.

TomographyExperiment.config()

Return the config dataclass for this experiment

TomographyExperiment.copy()

Return a copy of the experiment

TomographyExperiment.from_config(config)

Initialize an experiment from experiment config

TomographyExperiment.run([backend, ...])

Run an experiment and perform analysis.

TomographyExperiment.set_experiment_options(...)

Set the experiment options.

TomographyExperiment.set_run_options(**fields)

Set options values for the experiment run() method.

TomographyExperiment.set_transpile_options(...)

Set the transpiler options for run() method.