具有多个变量的因子方程
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
我有这个代码:
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