Tomography
The tomography module in Perceval provides tools for performing quantum tomography experiments.
StateTomography
- class perceval.algorithm.tomography.tomography.StateTomography(computer, experiment, **kwargs)
Algorithm that reconstructs the state of the system by tomography experiment.
Adds preparation and measurement circuits to input experiment (with the gate operation under study)
Computes parameters required to do state tomography
Performs Tomography experiment - Computes and Returns density matrices for each input state
- Parameters:
computer (
AComputer) – A perceval Computer that will be used to perform the tomography.experiment (
Experiment) – An Experiment describing the gate (or operation) on which state tomography will be performed.
- perform_state_tomography(prep_state_indices)
Computes the density matrix of a state after the operator_circuit. Size d x d where d=size_of_hilbert_space
- Parameters:
prep_state_indices (
list) – list of length of number of qubits to index the corresponding preparation circuit- Return type:
ndarray- Returns:
density matrix for a given input state preparation. size_hilbert x size_hilbert array.
ProcessTomography
- class perceval.algorithm.tomography.tomography.ProcessTomography(computer, experiment, **kwargs)
Algorithm that reconstructs the process map of the gate operation by tomography experiment.
Computes the mathematical tensors/matrices defined by theory required to perform process tomography.
Computes Chi matrix form of the operation process map.
Provides analysis methods to investigate the results of process tomography such as the fidelity of the operation and error process maps.
- Parameters:
computer (
AComputer) – The computer to use to perform the tomographyexperiment (
Experiment) – A perceval Experiment with gate (or operation) on which process tomography needs to be performed
- average_fidelity(operator)
Computes the average fidelity of an operator (ideal) and its implementation (realistic). This is not a full fidelity of the operation as given by the process_fidelity but simply that of the gate.
- Parameters:
operator (
ndarray) – operator (gate) matrix whose fidelity is to be calculated- Return type:
float- Returns:
the computed fidelity - between 0 and 1
- chi_matrix()
Computes the chi matrix of the operator_circuit.
- Return type:
ndarray- Returns:
Chi matrix normalized by gate efficiency (=its trace).
- error_process_matrix(computed_chi, operator)
Computes the error matrix for an operation from the computed chi matrix.
- Parameters:
computed_chi (
ndarray) – chi matrix computed from process tomography.operator (
ndarray) – Gate (or operator) matrix.
- Return type:
ndarray- Returns:
error process matrix.
TomographyMLE
- class perceval.algorithm.tomography.tomography_mle.TomographyMLE(computer, experiment, **kwargs)
Maximum likelihood Estimation for Quantum Tomography with an Accelerated Projected Gradient descent algorithm which takes an input guess and uses measurements to reconstruct quantum maps - either state or process.
- Parameters:
computer (
AComputer) – The computer to use to perform the tomographyexperiment (
Experiment) – A perceval Experiment with gate (or operation) on which process tomography needs to be performed
StateTomographyMLE
- class perceval.algorithm.tomography.tomography_mle.StateTomographyMLE(computer, experiment, **kwargs)
Maximum likelihood estimations to reconstruct quantum state density matrices.
- Parameters:
computer (
AComputer) – The computer to use to perform the tomographyexperiment (
Experiment) – A perceval Experiment with gate (or operation) on which process tomography needs to be performed
- static state_fidelity(target_state_dm, computed_state_dm)
Computes the fidelity of the density matrix reconstructed after State Tomography using MLE algorithm :type target_state_dm:
ndarray:param target_state_dm: target Density Matrix of the State :type computed_state_dm:ndarray:param computed_state_dm: reconstructed Density Matrix of the State :rtype:float:return: fidelity of the reconstructed state
ProcessTomographyMLE
- class perceval.algorithm.tomography.tomography_mle.ProcessTomographyMLE(computer, experiment, **kwargs)
Maximum likelihood estimations to reconstruct a given quantum process.
- Parameters:
computer (
AComputer) – The computer to use to perform the tomographyexperiment (
Experiment) – A perceval Experiment with gate (or operation) on which process tomography needs to be performed
- chi_matrix()
Computes the chi matrix of the quantum process under study using the MLE tomography :rtype:
ndarray:return: chi matrix