outerProduct(const RScalar<T1>& l, const RScalar<T2>& r)
outerProduct(const RScalar<T1>& l, const RComplex<T2>& r)
outerProduct(const RScalar<T1>& l, const RScalar<T2>& r){  return l.elem() * r.elem();}