low_rank_toolbox.cssp.osinsky

Osinsky’s quasi-optimal column subset selection algorithm.

Author: Benjamin Carrel, University of Geneva, 2024

Functions

Osinsky(U[, return_projector, return_inverse])

Osinsky's quasi optimal column subset selection algorithm.

low_rank_toolbox.cssp.osinsky.Osinsky(U, return_projector=False, return_inverse=False, **extra_args)[source]

Osinsky’s quasi optimal column subset selection algorithm.

Reference:

“Close to optimal column approximations with a single SVD.” by A.I. Osinsky, 2023.

Parameters:
  • U (numpy.ndarray) – Orthonormal real matrix of shape (n, r) defining a row space approximation

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

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

  • extra_args (dict) –

    Additional arguments:
    solve_kwargsdict

    Additional arguments for the solve function

Return type:

ndarray | tuple

Returns:

  • J (ndarray) – Selected column indices (r elements)

  • P_U (ndarray (n x r) (optional)) – Matrix U @ inv(U[J, :]) where U[J, :] is the (r x r) submatrix. Only returned if return_projector=True.

  • inv_U (ndarray (r x r) (optional)) – Matrix inv(U[J, :]). Only returned if return_inverse=True (requires return_projector=True).