KrylovKit.jl icon indicating copy to clipboard operation
KrylovKit.jl copied to clipboard

Feature request: Add randomized Gram-Schmidt alongside Classical and Modified Variants

Open P-Sonnentag opened this issue 5 months ago • 1 comments

This repository currently supports Classical and Modified Gram-Schmidt variants for building Krylov subspaces. I’d like to request the addition of a Randomized Gram-Schmidt variant, which uses randomized sketching to accelerate orthogonalization.

I have found this to be mainly useful in large-scale settings, this paper would agree.

An implementation of this papers code in matlab can be found here.

The core request would "just" be to have something like this in KrylovKit, of course having additional niceties (like in the matlab implementation), such as the flags for reducing the precision, to improve time in some steps.

Further, this would probably require some adaptions in the rest of KrylovKit as, for example, randomized Gram-Schmidt variants seem to profit from having a larger Krylov dimension (they choose 500, opposed to 30 in KrylovKit with MGS and CGS variants).

Sadly, I currently lack the time to work on something like this, but I still wanted suggest it here, maybe for later.

P-Sonnentag avatar Jul 20 '25 15:07 P-Sonnentag

Unfortunately I also don't have the bandwidth for this now. I would need to look into this approach more (as I am not familiar with it), but I am not even sure if the randomized approach and the sketching matrix work well in the KrylovKit context, where try to make minimal assumptions about what vector are (in particular, we cannot index or slice them).

Jutho avatar Jul 22 '25 00:07 Jutho