Как в системе Mathematica упростить такие выражения, как a == +/- b, в a ^ 2 == b ^ 2?

Как в системе Mathematica упростить выражения типа a == b || a == -b в a ^ 2 = b ^ 2 ? Все функции, которые я пробовал (включая Reduce, Simplify и FullSimplify), этого не делают.

Обратите внимание, что я хочу, чтобы это работало для произвольных (полиномиальных) выражений a и b . В качестве другого примера,

a == b || a == -b || a == i b || a == -i b

(для воображаемого i ) и

a^2 == b^2 || a^2 == -b^2

следует упростить до a ^ 4 == b ^ 4 .

Примечание: решение должно работать на логическом уровне, чтобы не навредить другим логическим случаям, не связанным между собой. Например,

a == b || a == -b || c == d

должен стать

a^2 == b^2 || c == d.
5
задан Tyson Williams 31 May 2011 в 17:01
поделиться