traceColorMultiply(const PScalar<T1>& l, const PColorMatrix<T2,N>& r)
traceColorMultiply(const PColorMatrix<T1,N>& l, const PScalar<T2>& r)
traceColorMultiply(const PScalar<T1>& l, const PColorMatrix<T2,N>& r){  typename BinaryReturn<PScalar<T1>, PColorMatrix<T2,N>, FnTraceColorMultiply>::Type_t  d;  // The traceColor is eaten here  d.elem() = s1.elem() * s2.elem(0,0);  for(int k=1; k < N; ++k)    d.elem() += s1.elem() * s2.elem(k,k);  return d;}