JuliaLinearAlgebra / ArnoldiMethod.jl

The Arnoldi Method with Krylov-Schur restart, natively in Julia.
https://julialinearalgebra.github.io/ArnoldiMethod.jl/dev
MIT License
96 stars 18 forks source link

Preallocate workspace #101

Closed samuelpowell closed 7 months ago

samuelpowell commented 4 years ago

I've been using this package to solve a very large number of small eigenproblems in parallel. Owing to the large number of solves my runtime was dominated by allocation, so I had to factor out the allocation routines in the partial Schur factorisation.

The PR is a draft as I haven't tested it beyond my own requirements.

If this is of use to a wider audience, I'm happy to clean it up as required. If not, I'm equally happy to close it and maintain a fork.

P.S. Performance is excellent, thanks for your work on this @haampie .

haampie commented 4 years ago

This is a very welcome PR! It is also a step in the direction of making the algorithm work with different array types. I'll review it a bit later!

samuelpowell commented 4 years ago

Thanks @haampie , seems to pass tests so I'll udraft it.

haampie commented 7 months ago

This is a very welcome PR! It is also a step in the direction of making the algorithm work with different array types. I'll review it a bit later!

That did not happen, but I'll add you as a Co-authored-by in #141