pygsti.algorithms.germselection.construct_update_cache

pygsti.algorithms.germselection.construct_update_cache#

construct_update_cache(mat, evd_tol=1e-10)#

Calculates the parts of the eigenvalue update loop algorithm that we can pre-compute and reuse throughout all of the potential updates.

Input:

matndarray

The matrix to construct a set of reusable objects for performing the updates. mat is assumed to be a symmetric square matrix.

evd_tolfloat (optional)

A threshold value for setting eigenvalues to zero.

Output:

U, endarrays

The components of the compact eigenvalue decomposition of mat such that U@diag(s)@U.conj().T= mat e in this case is a 1-D array of the non-zero eigenvalues.

projUndarray

A projector onto the complement of the column space of U Corresponds to (I-U@U.T)