I want to use the NCAlgebra package to do some simplification on non commutative expressions involving integrals. For example, one such expression would be

$$ I=\left(\int f(x)g(x) dx\right) * h $$

where $*$ denotes non-commutative multiplication. Let's say that I know that $g(x)*h=1$ for all $x$. Then, simplifying the above expression yields

$$ I=\int f(x)dx $$

So far, I have tried the following to implement this in Mathematica:

<< NC`
<< NCAlgebra`

NCReplaceRepeated[(A b[X] F[X]) ** (G h J), b[X_] ** h -> 1]

which results in

A G J F[X]

as expected. However, this does not work for

NCReplaceRepeated[(Integrate[A b[X] F[X], X]) ** (G h J), b[X_] ** h -> 1]

which results in

A G J (Integrate[b[X] F[X], X]) ** h

which does not respect this simplification.

Of course, there need to be several assumptions about the integral regarding e.g. convergence. But I want to assume that "everything works out nicely" and that this type of simplification is OK. Additionally, instead of Integrate, Sum might be used. This simplification does not work either.

How can I properly perform this simplification?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.