0

我刚开始第一次使用 Mathematica (5.0),虽然手册很有帮助,但我不完全确定我的技术在使用(Full)Simplify. 我正在使用该程序检查我在派生变换上的工作,以在参考帧之间进行更改,其中包括将三个相对较大的方阵相乘。

我和一位同事分别手工完成工作,以确保没有错误。我们希望从程序中获得第三次检查,这似乎很简单。由于矩阵大小,手工计算需要一些时间,但我们得出了相同的结论。当程序产生不同的结果时,我们有相同的答案这一事实让我怀疑。

  • 我已经检查并仔细检查了我的输入。
  • 我绝对是.(点乘)正确乘法的矩阵。
  • FullSimplify没有任何区别。
  • TrigReduce在简化之前,两者都没有与 / 展开代数组合。
  • 我从最终矩阵中获取索引并尝试在隔离时简化它们,但无济于事,所以问题不是由于使用矩阵。
  • 我还尝试将前两个矩阵相乘,简化,然后将其与第三个矩阵相乘;但是,这产生了与以前相同的结果。

我认为Simplify自动跨越到所有级别的 Heads,所以我不需要担心映射,但即使在矩阵中的输出预期为零的地方,也有术语,在我们期望术语的地方,也有接近的答案,加上许多不减少的正弦和余弦项。

Simplify与单独使用相比,是否有人经常使用任何类型的技术来获得更可取的结果Simplify

4

2 回答 2

3

如果对参数范围有假设,您将希望将它们提供给 Simplify。以下简单示例将说明这可能有用的原因。

In[218]:= Simplify[a*Sqrt[1 - x^2] - Sqrt[a^2 - a^2*x^2]]
Out[218]= a Sqrt[1 - x^2] - Sqrt[-a^2 (-1 + x^2)]

In[219]:= Simplify[a*Sqrt[1 - x^2] - Sqrt[a^2 - a^2*x^2], 
 Assumptions -> a > 0]
Out[219]= 0

假设此响应和其他响应未达标,如果您可以提供一个以某种方式显示可能的不良行为的示例,那将非常有帮助。以任何必要的方式伪装它以隐藏专有功能:漂白水印,归档注册号,也许留着小胡子。

Daniel Lichtblau Wolfram 研究

于 2011-02-14T18:55:45.403 回答
1

由于您没有提供太多细节来咀嚼,我只能给您一些提示:

  1. Mma5 已经很老了。当前版本是 8。如果您可以访问具有 8 的人,您可能会要求他尝试一下,看看这是否会有所作为。您也可以在线尝试 WolframAlpha (http://www.wolframalpha.com/),它也理解一些(全部?)Mma 语法。

  2. 您是否尝试过在数字上比较您自己和 Mma 的结果?为各种参数值生成差异表或使用 Plot。如果差异可以忽略不计(使用 Chop 去除小的残差),结果可能是相同的。

干杯——Sjoerd

于 2011-02-14T18:00:21.973 回答