Mathematica 程序包

Mathematica 的一个重要特性在于它是一个可扩充系统. Mathematica 中已建立了一定数量的数学和其它功能. 然而,使用 Mathematica 语言,能添加更多的函数.

对许多种运算,Mathematica 标准版中建立的函数已经足够用了. 然而,当用户在一个特殊专业领域中讨论时,会需要使用特定函数,而这在 Mathematica 中是没有的.

在这种情况下,用户或许能在 Mathematica 程序包中找到所需的函数. Mathematica 程序包是用 Mathematica 语言写成的文件. 这些文件是由 Mathematica 定义集合组成,使 Mathematica 能进行特殊应用领域的工作.

<<package读入一个 Mathematica 程序包

读入 Mathematica 程序包.

如果要使用某个程序包中的函数,必须首先把程序包读入 Mathematica 中. 具体做法将在 "外部程序" 节讨论. 使用软件包时有许多规定.

这个命令读入一个特定的 Mathematica 程序包.
In[1]:=
Click for copyable input
该程序包中定义了 ProvablePrimeQ 函数.
In[2]:=
Click for copyable input
Out[2]=

在不同程序包的函数名之间有许多矛盾. 这些将在 "上下文和程序包" 节讨论. 需要注意一点,在读入某个程序包之前不要使用名称与该程序包中的函数名相同的函数. 如果你错误地这样做了,Mathematica 将会发出一条警告信息并且使用最后定义的名称. 这意味着你定义的函数版本将不会被使用;而它将从程序包中得到. 必须执行命令Remove["name"] 来取消程序包函数.

Remove["name"]取消用户自定义的函数

确认 Mathematica 使用程序包中定义的函数.

Mathematica 通过使用程序包能被扩充的事实说明" Mathematica 部分"的界限是模糊的. 从用法上来说,程序包中定义的函数与 Mathematica 的内部函数没有任何区别.

事实上,本书中所介绍的许多函数实际上是 Mathematica 程序包中的函数. 而在大多数 Mathematica 系统中,必须的程序包已经被预先装入了. 所以,其中定义的函数总是存在的.

为了进一步淡化 Mathematica 的边界, "包的自动调入" 节介绍了如何使 Mathematica 自动装入特定包. 如果用户从未使用过该包中某个函数,那么该函数是不在 Mathematica 中的,但是一旦用户要使用它,则它就被从程序包中读入 Mathematica 中.

从实际情况看来,被认为是"Mathematica 部分"的函数或许是那些在所有 Mathematica 系统中都有的函数. 本节讨论的也正是这些函数.

然而,Mathematica 的大多数版本都具有标准的 Mathematica 程序包集合,其中包含了更多的函数. 其中一些函数将来都会提到. 要使用这些函数,用户通常需要明确读入必要的程序包.

用户可以使用参考资料中心来获得 Mathematica 8 标准附加程序包的信息.

1.gif

当然,能够设置 Mathematica 系统,使得特定的程序包被预先装入或当用户需要的时候自动装入. 如果这样设置了,那么将有许多函数作为标准函数出现在所使用的 Mathematica 版本中,不过没有在 Mathematica 系统参考文档中出现.

有一点要提到的是程序包和笔记本之间的关系. 二者都是作为文件储存在计算机系统中,都能被读入 Mathematica 中. 但是,笔记本是要被显示的,而程序包只是作为 Mathematica 的输入. 事实上,许多笔记本包含了被认为是程序包的段落,其中包含着打算作为 Mathematica 输入的定义序列. 另外,还可以建立程序包来自动维护笔记本.

New to Mathematica? Find your learning path »
Have a question? Ask support »