更改 Maple 中平方方程的符号

问题描述 投票:0回答:1

我想改变Maple中平方方程中所有符号的符号。例如,这些方程产生相同的答案:

  1. ((-a + b - c + d)^2) / (a - b)
  2. ((a - b + c - d)^2) / (a - b)

现在假设我已经使用以下代码在 Maple 中编写了第一个函数:

测试 := (-苹果 + 香蕉 - 樱桃 + 枣)^2/(苹果 - 香蕉)

然后我可以轻松地将它们替换为:

numer(test)/denom(test),因为 numer() 改变了符号。

但是,如果我使用不同的标签,例如将“苹果”与“质量”交换,这将不再起作用。

测试 := (-质量 + 香蕉 - 樱桃 + 枣)^2/(苹果 - 香蕉); 数字(测试)/分母(测试)

您能解释一下为什么以及如何实现它吗?

maple
1个回答
0
投票

这是处理示例的一种方法,

它作用于表达式中所有和的平方。它将

-
映射到总和子表达式上。

sw:=e->subsindets(e,`+`^2,
                  u->subsop(1=map(`-`,op(1,u)),u)):

expr:=((-a+b-c+d)^2)/(a-b):

sw(expr);

   (a-b+c-d)^2/(a-b)

 test:=(-quality+banana-cherry+date)^2/(quality-banana):

sw(test);

   (quality-banana+cherry-date)^2/(quality-banana)

这是一个变体。

sw:=e->subsindets(e,`+`^2,
              u->map(`-`,op(1,u))^2):

您也可以让它在其他偶数功率上工作。

sw:=e->subsindets(e,`+`^even,
              u->map(`-`,op(1,u))^op(2,u)):

expr2:=(a-b)/(-a+b-c+d)^4:

sw(expr2);

   (a-b)/(a-b+c-d)^4
© www.soinside.com 2019 - 2024. All rights reserved.