我正在尝试使用maple中的以下代码来简化此表达式。
simplify((Q+P)*a_1+P*a_2-((Q+P)*b_1+P*b_2)*(d_2*Q/d_1+P)/d_2)
但是,我想假设Q + P = I,这是身份,而且我想假设PP = P和QQ = Q,这意味着P和Q是幂等的。
我知道我应该以某种方式使用假设声明,但我不确定它是如何起作用的。
另外,枫似乎不知道我在使用矩阵。
感谢。
答案 0 :(得分:3)
那么,Q和P是否应该代表矩阵,所有其他名称代表标量?
ee:=(Q+P)*a_1+P*a_2-((Q+P)*b_1+P*b_2)*(d_2*Q/d_1+P)/d_2:
U:=simplify(subs(Q=Id-P,ee),{P^2=P,Id^2=Id,Id*P=P}):
collect(expand(U),[P,Id]);
/ b_1 b_1 b_2\ / b_1\
|a_2 - --- + --- - ---| P + |a_1 - ---| Id
\ d_2 d_1 d_2/ \ d_1/
由于您已经使用通勤乘法*
而不是非交换.
进行乘法,因此我提到要小心Q * P等产品。但也许从你的条件来看,Q.P是Q.P+P = Q.P+P.P = (Q+P).P = P
以来的零矩阵。无论如何,Q可能会被Id-P取代。