atlas_q.linalg_robust.robust_svd#

atlas_q.linalg_robust.robust_svd(X)[source]#

Robust SVD with fallback cascade: CUDA → jitter → CPU

Args:

X: Input tensor to decompose

Returns:

U, S, Vh, driver_used

Strategy: 1. Try torch.linalg.svd on GPU (cuSOLVER backend) 2. If fails, add small jitter and retry on GPU 3. If still fails, fall back to CPU SVD 4. Return which driver succeeded for diagnostics