不定结果和无穷结果
表达式
是一个不确定数值结果 的例子. 如果用户打入
,Mathematica 没有办法知道你想要的答案. 如果通过取当
时
的极限得到
,那么你会想要结果为
. 而取
的极限所得
,那么你可能想要结果为
. 表达式
本身没有含区别不同情况的足够信息. 因此它的值必定是不确定的.
当一个不定结果产生时,Mathematica 就显示一个警告信息,然后返回 Indeterminate 作为结果. 如果在一个算术计算中使用 Indeterminate,那么总是得到结果 Indeterminate. 一个单个不定式将"毒害"任何算术运算. (符号Indeterminate 在 Mathematica 中所起的作用类似于IEEE浮点标准中的"非数"对象.)
| In[2]:= |
| Out[2]= |
| In[3]:= |
| Out[3]= |
当在 Mathematica 程序中进行算术运算时,能区分是否在运算中生成不确定的结果常常是重要的. 通过使用在 "Messages" 中讨论的函数 Check 检测是否有与不确定结果相关的警告信息生成,可以实现这一点.
| Indeterminate | 不确定的数值结果 |
| Infinity | 正无穷大量 |
| -Infinity | 负无穷大量(DirectedInfinity[-1]) |
| DirectedInfinity[r] | 具有复方向 r 的无穷大量 |
| ComplexInfinity | 不定方向的无穷大量 |
| DirectedInfinity[] | 等价于 ComplexInfinity |
在许多场合下,能够用无穷大量做运算常常是方便的. 在 Mathematica 中符号 Infinity 代表正无穷大量,用户可使用它指明和式与积分上下限等,也可以用它做某些算术运算.
| In[5]:= |
| Out[5]= |
| In[6]:= |
| Out[6]= |
在处理无穷大量中会出现许多微妙之处. 其中之一涉及到无穷大量的方向. 当计算无穷积分时,典型地考虑沿着复平面上某个趋向无穷大的路径进行积分. 在这种情况下,区分复平面上不同方向上的无穷大是重要的.
和
是两个例子,但在某些情况下,也需要
等等.
在 Mathematica 中,无穷大量可以有"方向",它由一个复数来说明. 当键入符号 Infinity,它代表正无穷大量,它在内部被转换成 DirectedInfinity[1], 该式代表
方向上的无穷大量. 类似地,-Infinity 变成DirectedInfinity[-1],IInfinity 变成 DirectedInfinity[I]. 尽管 DirectedInfinity 形式总是在内部使用,但 DirectedInfinity[r] 的标准输出格式是 r Infinity.
| In[8]:= |
Out[8]//FullForm= | |
尽管"有向无穷大"的表示常常被使用,但它并不总是有效的. 如果打入
,将得到一个无穷大,但根本无法确定无穷大的方向. Mathematica 把
的结果表示为 DirectedInfinity[]. 在标准输出格式中,方向不定的无穷大被显示为ComplexInfinity.
