pygsti.algorithms.do_exlgst

pygsti.algorithms.do_exlgst(dataset, startGateset, gateStringsToUseInEstimation, specs, targetGateset=None, spamDict=None, guessGatesetForGauge=None, svdTruncateTo=0, maxiter=100000, maxfev=None, tol=1e-06, regularizeFactor=0, verbosity=0, comm=None, check_jacobian=False)

Performs Extended Linear-inversion Gate Set Tomography on the dataset.

Parameters:
  • dataset (DataSet) – The data used to generate Extended-LGST estimates
  • startGateset (GateSet) – The GateSet used as a starting point for the least-squares optimization.
  • gateStringsToUseInEstimation (list of (tuples or GateStrings)) – Each element of this list specifies a gate string that is estimated using LGST and used in the overall least-squares fit that determines the final “extended LGST” gateset. e.g. [ (), (‘Gx’,), (‘Gx’,’Gy’) ]
  • specs (2-tuple) – A (prepSpecs,effectSpecs) tuple usually generated by calling build_spam_specs(...)
  • targetGateset (GateSet, optional) – A gateset used to provide a guess for gauge in which LGST estimates should be returned, and the SPAM labels used to connect the dataset values to rhoVec and EVec indices.
  • spamDict (dictionary, optional) – Dictionary mapping (rhoVec_index,EVec_index) integer tuples to string spam labels. Defaults to the spam dictionary of targetGateset e.g. spamDict[(0,0)] == “plus”
  • guessGatesetForGauge (GateSet, optional) – A gateset used to compute a gauge transformation that is applied to the LGST estimates before they are returned. Defaults to targetGateset.
  • svdTruncateTo (int, optional) – The Hilbert space dimension to truncate the gate matrices to using a SVD to keep only the largest svdToTruncateTo singular values of the I_tildle LGST matrix. Defaults to 0 (no truncation)
  • maxiter (int, optional) – Maximum number of iterations for the least squares optimization
  • maxfev (int, optional) – Maximum number of function evaluations for the least squares optimization Defaults to maxiter
  • tol (float, optional) – The tolerance for the least squares optimization.
  • regularizeFactor (float, optional) – Multiplicative prefactor of L2-like regularization term that penalizes gateset entries which have absolute value greater than 1. When set to 0, no regularization is applied.
  • verbosity (int, optional) – How much detail to send to stdout.
  • comm (mpi4py.MPI.Comm, optional) – When not None, an MPI communicator for distributing the computation across multiple processors.
  • check_jacobian (bool, optional) – If True, compare the analytic jacobian with a forward finite difference jacobean and print warning messages if there is disagreement. Defaults to False.
Returns:

  • numpy array – The minimum error vector v = f(x_min), where f(x)**2 is the function being minimized.
  • Gateset – The gateset containing all of the estimated labels.