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

add generic sykr/herk

Open araujoms opened this issue 8 months ago • 0 comments

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.

araujoms avatar Mar 27 '25 17:03 araujoms