LinearAlgebra.jl
LinearAlgebra.jl copied to clipboard
add generic sykr/herk
I've added an implementation of syrk/herk for generic types, in order to avoid falling back to _generic_matmatmul!, as it's rather slow. I didn't do anything fancy, no multithreading or anything, but this gives a 1.5x to 2x speedup for Int and BigFloat, for example.
The generic version of syrk only works for real and complex numbers, but funnily enough herk works for anything that respects conj(a*b) == conj(b)*conj(a), which as far as I can tell is any subtype of Number, including quaternions and octonions.
I've ran the tests locally by reverting to the commit before the lazy JLLs one, and they pass.