support for long double and complex
operator*= for matrices
scalar operator*=