I have a use case for an Arnoldi iteration, but where instead of being orthonormal, my U in A * U = U * H is actually symplectic, such that Uᵀ * Jₘ * U = Jₙ where J₂ₙ = Iₙ ⊗ [0 1; -1 0]. This can be achieved with a skew-symmetric version of the Gram-Schmidt process, such as described on pages 3-4 of https://people.math.ethz.ch/%7Eacannas/Papers/lsg.pdf. Most of the literature I could find on this only discusses symplectic Arnoldi methods in the context of Hamiltonian systems, but I am interested in calculating skew-orthogonal polynomials w.r.t. a skew-symmetric inner product, so my operator A is not Hamiltonian.
My question is, would something like this be in scope for KrylovKit.jl? Looking at the design in https://github.com/Jutho/KrylovKit.jl/blob/master/src/orthonormal.jl, I think it might lend itself quite nicely to extending it to different notions of "orthogonality" and there could then be different SkewOrthogonalizers, which do different versions of symplectic Gram-Schmidt. Any thoughts regarding such a design? If that sounds interesting, I can try putting up a proof of concept.
I have a use case for an Arnoldi iteration, but where instead of being orthonormal, my
UinA * U = U * His actually symplectic, such thatUᵀ * Jₘ * U = JₙwhereJ₂ₙ = Iₙ ⊗ [0 1; -1 0]. This can be achieved with a skew-symmetric version of the Gram-Schmidt process, such as described on pages 3-4 of https://people.math.ethz.ch/%7Eacannas/Papers/lsg.pdf. Most of the literature I could find on this only discusses symplectic Arnoldi methods in the context of Hamiltonian systems, but I am interested in calculating skew-orthogonal polynomials w.r.t. a skew-symmetric inner product, so my operatorAis not Hamiltonian.My question is, would something like this be in scope for KrylovKit.jl? Looking at the design in https://github.com/Jutho/KrylovKit.jl/blob/master/src/orthonormal.jl, I think it might lend itself quite nicely to extending it to different notions of "orthogonality" and there could then be different
SkewOrthogonalizers, which do different versions of symplectic Gram-Schmidt. Any thoughts regarding such a design? If that sounds interesting, I can try putting up a proof of concept.