executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
randomized_nystrom_factorizationCompute a stable randomized Nyström PSD low-rank eigendecomposition from a dense PSD matrix or matrix-vector product interface.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this skill when you need the paper's Algorithm 2.1 component: a reproducible low-rank PSD approximation A_nys = U diag(lambda_hat) U.T for a symmetric positive-semidefinite matrix. Do not use it as a full linear solver; downstream solver skills own preconditioning and PCG.
A as a dense JSON/NumPy array, or a Python callable that applies A to a matrix.n and sketch rank ell, with 1 <= ell <= n.U: orthonormal basis for the Nyström range.lambda_hat: nonnegative approximate eigenvalues.Y = A @ Omega; this is the only matrix interaction required by the algorithm.nu * Omega before Cholesky.Omega.T @ Y_shift, solve by the Cholesky factor, and take a thin SVD.U and squared singular values minus the stability shift, clipped at zero for roundoff.Run:
python scripts/nystrom.py --self-test
python tests/test_nystrom.py
The tests verify shapes, orthonormality, nonnegative eigenvalues, deterministic seeding, and improved approximation with larger rank.
The routine assumes PSD-compatible input. It is intentionally small and dense-friendly for recovery experiments; large production runs should provide an efficient matvec closure and avoid forming dense matrices.