pygsti.algorithms.germselection.test_germ_set_finitel

pygsti.algorithms.germselection.test_germ_set_finitel#

test_germ_set_finitel(model, germs_to_test, length, weights=None, return_spectrum=False, tol=1e-06)#

Test whether a set of germs is able to amplify all non-gauge parameters.

Parameters:
  • model (Model) – The Model (associates operation matrices with operation labels).

  • germs_to_test (list of Circuits) – List of germ circuits to test for completeness.

  • length (int) – The finite length to use in amplification testing. Larger values take longer to compute but give more robust results.

  • weights (numpy array, optional) – A 1-D array of weights with length equal len(germs_to_test), which multiply the contribution of each germ to the total jacobian matrix determining parameter amplification. If None, a uniform weighting of 1.0/len(germs_to_test) is applied.

  • return_spectrum (bool, optional) – If True, return the jacobian^T*jacobian spectrum in addition to the success flag.

  • tol (float, optional) – Tolerance: an eigenvalue of jacobian^T*jacobian is considered zero and thus a parameter un-amplified when it is less than tol.

Returns:

  • success (bool) – Whether all non-gauge parameters were amplified.

  • spectrum (numpy array) – Only returned when return_spectrum is True. Sorted array of eigenvalues (from small to large) of the jacobian^T * jacobian matrix used to determine parameter amplification.