Thanks for this package! I've noticed there are some allocations when using mul!(y,A,x), where x,y are <: Vector and A is a KroneckerProduct. This seems to be due to alloc_temp_array in _kron_mul_fast_square!(C, B, factors).
Since we're calling mul! many times, these allocations add up. Would it make sense to have a version of KroneckerProduct which stores this temporary array as a hidden field to avoid allocating?
Thanks for this package! I've noticed there are some allocations when using
mul!(y,A,x), wherex,yare<: VectorandAis aKroneckerProduct. This seems to be due toalloc_temp_arrayin_kron_mul_fast_square!(C, B, factors).Since we're calling
mul!many times, these allocations add up. Would it make sense to have a version ofKroneckerProductwhich stores this temporary array as a hidden field to avoid allocating?