JuliaLinearAlgebra / ArnoldiMethod.jl

The Arnoldi Method with Krylov-Schur restart, natively in Julia.

Home Page:https://julialinearalgebra.github.io/ArnoldiMethod.jl/dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Apply Given's rotations right away to the whole H matrix

haampie opened this issue · comments

In the implicit restart we have a structure

H11 H12
    H22

where the Given's rotations are being applied to H22, and via a callback to H12. It seems to make more sense to just pass the full H matrix to the implicit restart routine, so that we can apply the Given's rotations to H12 an H22 at the same time when multiplying from the right.

--

In the locking procedure we could basically do the same:

H11 H12 H13
    H22 H23
        H33

When applying Given's rotations on H22, just apply them to H23 and H12 right away.

So basically pass the start and end positions of the H-block to which you apply Given's rotations to the shift functions, rather than a view of H22.

  • Fix this in implicit restart (#13)
  • Fix this in locking once we have our own QR algorithm working