pygsti.algorithms.germselection.symmetric_low_rank_spectrum_update#
- symmetric_low_rank_spectrum_update(update, orig_e, U, proj_U, force_rank_increase=False)#
This function performs a low-rank update to the spectrum of a matrix. It takes as input a symmetric update of the form: A@A.T, in other words a symmetric rank-decomposition of the update matrix. Since the update is symmetric we only pass as input one half (i.e. we only need A, since A.T in numpy is treated simply as a different view of A). We also pass in the original spectrum as well as a projector onto the complement of the column space of the original matrix’s eigenvector matrix.
input:
- updatendarray
symmetric low-rank update to perform. This is the first half the symmetric rank decomposition s.t. update@update.T= the full update matrix.
- orig_endarray
Spectrum of the original matrix. This is a 1-D array.
- proj_Undarray
Projector onto the complement of the column space of the original matrix’s eigenvectors.
- force_rank_increasebool
A flag to indicate whether we are looking to force a rank increase. If so, then after the rrqr calculation we can check the rank of the projection of the update onto the complement of the column space of the base matrix and abort early if that is zero.