12 _m(arg1->dimensionality()),
13 _n(arg2->dimensionality())
18 _arg1(right._arg1->clone()),
19 _arg2(right._arg2->clone()),
39 <<
"Warning: Direct product function/argument dimension mismatch"
44 for (
unsigned int i = 0; i<_m;i++) {
47 for (
unsigned int j = 0;j<_n;j++) {
50 return (*_arg1)(x1) * (*_arg2)(x2);
60 <<
"Warning. direct product called with scalar argument"
69 assert (index<(_m+_n));