12 _m(arg1->dimensionality()),
13 _n(arg2->dimensionality())
19 _arg1(right._arg1->clone()),
20 _arg2(right._arg2->clone()),
40 <<
"Warning: Direct product function/argument dimension mismatch"
45 for (
unsigned int i = 0; i<_m;i++) {
48 for (
unsigned int j = 0;j<_n;j++) {
51 return (*_arg1)(x1) * (*_arg2)(x2);
61 <<
"Warning. direct product called with scalar argument"
70 assert (index<(_m+_n));