具有多个变量的因子方程

factor equation with several variables

我有这个代码:

factor(sqrt((diff(theta, x1))^2+(diff(theta, y1))^2+(diff(theta, z1))^2));

这两个方程式是相同的,但 maple 没有看到它(差异给了我一个糟糕的方程式......)。有没有办法让 maple 对第一个方程进行因式分解?

当你写的时候,"The two equations are identicals..."你似乎在表明你认为它们在数学上是等价的。

这是错误的。

在假设所有未知数都是真实的情况下,Maple 可以将差值简化为零。

下面我给出两个表达式不相等的反例

这里不礼貌,提供代码图片而不是明文代码。

restart;
with(VectorCalculus):
r1:=<x1,y1,z1>:
r2:=<x2,y2,z2>:
r3:=<x3,y3,z3>:
A:=r1 &x r2:
B:=r3 &x r2:

theta:=arccos(DotProduct(A,B)/(Norm(A)*Norm(B))):

sintheta1:=Norm(r1 &x r2)/(Norm(r1)*Norm(r2)):

expr1:=factor(sqrt((diff(theta, x1))^2+(diff(theta, y1))^2
              +(diff(theta, z1))^2)):

lprint(expr1);
    ((x2^2+y2^2+z2^2)/(x1^2*y2^2+x1^2*z2^2-2*x1*x2*y1*y2-
    2*x1*x2*z1*z2+x2^2*y1^2+x2^2*z1^2+y1^2*z2^2-
    2*y1*y2*z1*z2+y2^2*z1^2))^(1/2)

expr2:=1/(Norm(r1)*sintheta1):

lprint(expr2);
    (x2^2+y2^2+z2^2)^(1/2)/((y1*z2-y2*z1)^2
    +(-x1*z2+x2*z1)^2+(x1*y2-x2*y1)^2)^(1/2)

现在,假设所有未知数都是真实的,

combine(expr2-expr1) assuming real;

                           0

现在,一个具有(某些特定的)复杂值的反例,

simplify(eval(expr2-expr1, [x1=I, x2=1, y1=0, y2=1, z1=0, z2=1]));

                        (1/2)  (1/2)
                    -I 2      3