I defined the matrix integral operator
\[ScriptCapitalD]11[w_] := (1/2)*D[w[x], x] - r[x]*Integrate[q[x]*w[x], x] \[ScriptCapitalD]12[w_] := r[x]*Integrate[r[x]*w[x], x] \[ScriptCapitalD]21[w_] := (-q[x])*Integrate[q[x]*w[x], x] \[ScriptCapitalD]22[w_] := (-2^(-1))*D[w[x], x] + q[x]*Integrate[r[x]*w[x], x] m = {{\[ScriptCapitalD]11, \[ScriptCapitalD]12}, {\[ScriptCapitalD]21, \[ScriptCapitalD]22}}; and defined how it acts in a column vector
operate[matrix_, column_] := Table[Inner[#1[#2] & , \[Mu], column, Plus], {\[Mu], matrix}] Code result is
result = operate[m, {r[x], q[x]}]; MatrixForm[FullSimplify[result]] How can I further simplify the vanishing integrals? (see image below). What I am doing wrong that I obtain the correct result up to a factor of $2$?

q[x][x]in your integrals. Tryoperate[m, {r, q}]instead. $\endgroup$ris a function.r[x]is not a function, but a function called with an argument. If you want to be super explicit about callingoperatewith functions, you could useoperate[m, {Function[x, r[x]], Function[x, q[x]]}]. $\endgroup$