low_rank_toolbox.cssp.oversampling_sqdeim

Oversampling Strong QDEIM algorithm.

Author: Benjamin Carrel, University of Geneva, 2024

Functions

oversampling_sQDEIM(U, oversampling_size[, ...])

Oversampling sQDEIM - Oversampled version of sQDEIM

low_rank_toolbox.cssp.oversampling_sqdeim.oversampling_sQDEIM(U, oversampling_size, tol=None, return_projection=False, return_inverse=False)[source]

Oversampling sQDEIM - Oversampled version of sQDEIM

Reference: ACCURACY AND STABILITY OF CUR DECOMPOSITIONS WITH OVERSAMPLING (Taejun Park and Yuji Nakatsukasa)

Parameters:
  • U (ndarray) – Orthonormal matrix of size n x k

  • oversampling_size (int) – Oversampling size p < k such that m = k + p

  • tol (float) – Tolerance for the strong rank-revealing QR factorization If None, use the rank-revealing QR factorization with eta=2

  • return_projection (bool) – If True, return also the matrix U @ pseudoinv(U[S, :])

  • return_inverse (bool) – If True, return also the inverse of U[S, :]

Return type:

ndarray | Tuple[ndarray, ndarray] | Tuple[ndarray, ndarray, ndarray]

Returns:

  • p (list) – Selection of m = k + oversampling_size row indices.

  • P_U (ndarray (n x m) (optional)) – Matrix U @ pseudoinv(U[p, :]) where U[p, :] is the (m x k) submatrix. Only returned if return_projection=True.

  • inv_U (ndarray (k x m) (optional)) – Matrix U.T @ P_U, representing the pseudoinverse relationship. Only returned if return_inverse=True (requires return_projection=True).