Julia’s type system for linear algebra is quite sophisticated. I have a case where, after some `reshape`

and `transpose`

operations, I obtain two matrices `A,B`

for which for some reason, `A*B`

falls back to the slow `generic_matmul`

instead of using BLAS.

Given two arrays `A, B`

(which are matrices or vectors), what determines if the product `A*B`

will be carried out by BLAS, instead of the fallback `generic_matmul`

? Is there a way to have something like a predicate `hitsblas(A, B)`

? That would be very useful debugging this situation.