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) dxright) * 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?