pygsti.algorithms.do_mlgst¶
-
pygsti.algorithms.
do_mlgst
(dataset, startGateset, gateStringsToUse, maxiter=100000, maxfev=None, tol=1e-06, minProbClip=0.0001, probClipInterval=(-1000000.0, 1000000.0), radius=0.0001, poissonPicture=True, verbosity=0, check=False, gateLabelAliases=None, memLimit=None, comm=None, distributeMethod='gatestrings')¶ Performs Maximum Likelihood Estimation Gate Set Tomography on the dataset.
Parameters: - dataset (DataSet) – The data used to generate MLGST gate estimates
- startGateset (GateSet) – The GateSet used as a starting point for the maximum-likelihood estimation.
- maxiter (int, optional) – Maximum number of iterations for the logL optimization.
- maxfev (int, optional) – Maximum number of function evaluations for the logL optimization. Defaults to maxiter.
- tol (float, optional) – The tolerance for the logL optimization.
- minProbClip (float, optional) – The minimum probability treated normally in the evaluation of the log-likelihood. A penalty function replaces the true log-likelihood for probabilities that lie below this threshold so that the log-likelihood never becomes undefined (which improves optimizer performance).
- probClipInterval (2-tuple or None, optional) – (min,max) values used to clip the probabilities predicted by gatesets during MLGST’s search for an optimal gateset (if not None). if None, no clipping is performed.
- radius (float, optional) – Specifies the severity of rounding used to “patch” the zero-frequency terms of the log-likelihood.
- poissonPicture (boolean, optional) – Whether the Poisson-picture log-likelihood should be used.
- check (boolean, optional) – If True, perform extra checks within code to verify correctness. Used for testing, and runs much slower when True.
- gateLabelAliases (dictionary, optional) – Dictionary whose keys are gate label “aliases” and whose values are tuples corresponding to what that gate label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. gateLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)
- memLimit (int, optional) – A rough memory limit in bytes which restricts the amount of intermediate values that are computed and stored.
- comm (mpi4py.MPI.Comm, optional) – When not None, an MPI communicator for distributing the computation across multiple processors.
- distributeMethod ({“gatestrings”, “deriv”}) – How to distribute calculation amongst processors (only has effect when comm is not None). “gatestrings” will divide the list of gatestrings; “deriv” will divide the columns of the jacobian matrix.
Returns: - maxLogL (float) – The maximum log-likelihood obtained.
- gateset (GateSet) – The gate set that maximized the log-likelihood.