Why doesn't `mul!` have a GEMV style interface?


For A::SparseMatrixCSC, there is a GEMV style interface A_mul_B!(α, A, x, β, y) (in 0.6) or mul!(C, A, B, α, β) (in 0.7 and beyond). These interfaces do not exist for other matrix types, and it seems like they should; if not a common operation, it’s still something I’d expect to be available so that I can write generic code rather than calling BLAS.gemv!. I found it especially surprising that the interface does not exist given that the method is defined for sparse matrices. Is there a rationale for why we don’t have methods for other array types, or is it simply an oversight / lack of implementers with time?


It hasn’t been implemented yet. Here is the issue for it, though it predates the change to mul!: