Вот я пишу:
Код:
Unprotect[NonCommutativeMultiply];
NonCommutativeMultiply[as___, x_?NumericQ, bs___] := g[x, {as}, {bs}]
Protect[NonCommutativeMultiply];
и потом предлагаю вычислить хотя бы просто
a ** b — а в результате это вычисляется и вычисляется в себя бесконечно, пока позволено. Не пойму поведение.
Я убрал все другие определения и перезапустил kernel, если что.