l.elem(i,j) = pokeSpin(l.elem(i,j),r.elem(i,j),row);
pokeSpin(l.elem(i,j),r.elem(i,j),row);
pokeSpin(PMatrix<T1,N,C>& l, const PMatrix<T2,N,C>& r, int row){  for(int i=0; i < N; ++i)    for(int j=0; j < N; ++j)      l.elem(i,j) = pokeSpin(l.elem(i,j),r.elem(i,j),row);  return l;}