qat.tomo.core.process_tomography_data

qat.tomo.core.process_tomography_data(method, prep_gates, meas_gates, G_tilde, G_tilde_err_sq, g_tilde, E_tilde, rho_tilde, nqbits, target_gates_spec=None, gate_list=None, enforce_CP=False, enforce_TP=False, meas_weight=0.5, verbose=False)

Process tomography data of a QPU.

Three tomography methods are supplied:

  • Linear inversion Quantum Process Tomography (‘lqpt’),

  • Maximum Likelihood Quantum Process Tomography (‘mlqpt’), and

  • Linear inversion Gateset Tomography (‘lgst’).

Parameters
  • method (string) – type of tomography (lqpt|mlqpt|lgst)

  • prep_gates (list<list<pair<string, int>>>) – list of gate sequences for state preparation (\(>= d^2\)), with \(d = 2^{n_\mathrm{qbits}}\)

  • meas_gates (list<list<pair<string, int>>>) – list of gate sequences for measurement (\(>= d^2\))

  • G_tilde (list<np.array>) – \(\{ \tilde{G}^{(k)}\}_k\), with \(\tilde{G}^{(k)}_{i,j} = d\ll E|F_{i}'G_{k}F_{j}|\rho\gg\)

  • G_tilde_err_sq (list<np.array>) – \(\{(\Delta \tilde{G}^{(k)})^2 \}_k\)

  • g_tilde (np.array) – \(g\) with \(g_{ij} = d\ll E|F_{i}'F_{j}|\rho\gg\)

  • g_tilde_err_sq (np.array) – \(\Delta g^2\)

  • E_tilde (np.array) – \(\tilde{E}\) with \(\tilde{E}_{j}=d\ll E|F_{j}'|\rho\gg\)

  • E_tilde_err_sq (np.array) – \(\Delta \tilde{E}^2\)

  • rho_tilde (np.array) – \(\tilde{\rho}\) with \(\tilde{\rho}_{i}=d\ll E|F_{i}|\rho\gg\)

  • rho_tilde_err_sq (np.array) – \(\Delta \tilde{\rho}^2\)

  • nqbits (int) – arity of gates on which tomography is applied

  • target_gates_spec (GatesSpecification, optional) – ideal/target gates specification. Required for QPT methods.

  • gate_list (list<string>, optional) – list of gates to be tomographed. If None, make tomography of all gates in target_gates_spec

  • enforce_CP (bool) – whether to enforce complete-positive character. Implemented in ‘mlqpt’ (not yet implemented for GST methods)

  • enforce_TP (bool) – whether to enforce trace-preserving character (implemented by fixing some PTM elements in ‘mlqpt’, and by gauge-fixing in ‘lgst’)

  • meas_weight (float, optional) – relative weight of measurement part \(w\) when enforcing TP by gauge-fixing. Defaults to 0.5.

  • verbose (bool) – verbose output

Returns

the output gates specification (with channels in QuantumChannelPTM form)

Return type

GatesSpecification

Note

gate names in prep_gates, meas_gates, gate_list have to be consistent with those of the qpu and target_gates_spec

Note

This method is available as an application in Qaptiva Access.