for(int j=1; j < N; ++j)
for(int j=0; j < N; ++j)
outerProduct(const PColorVector<T1,N>& l, const PColorVector<T2,N>& r){  typename BinaryReturn<PColorVector<T1,N>, PColorVector<T2,N>, FnOuterProduct>::Type_t  d;  for(int i=0; i < N; ++i)    for(int j=1; j < N; ++j)      d.elem(i,j) = outerProduct(l.elem(i),r.elem(j));  return d;}