此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

1.3.10 Mathematica程序包

Mathematica 的一个重要特征在于它是一个可扩充系统. Mathematica 中已建立 了一定数量的数学和其它功能. 然而使用 Mathematica 语言能添加更多的函数.
对许多种运算,Mathematica 标准版中建立的函数已经足够用了.然而, 当用户在一个特殊专业领域中讨论时,会需要使用特定函数,而这在 Mathematica 中是没有的. 在这种情况下,用户或许能在 Mathematica 程序包中找到所需的函数. Mathematica 程序包是用 Mathematica 语言写成的文件.这些文件是由 Mathematica 定义集合组成. 使 Mathematica 能进行特殊应用领域的工作.

读入 Mathematica 程序包

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

这个命令读入一个特定的 Mathematica 程序包

该程序包中定义了一个 Subfactorial 函数

在不同程序包的函数名之间有许多矛盾,这些将在第 2.6.9 节讨论.需要 注意一点,在读入某个程序包之前不要使用名称与该程序包中的函数名相同的函数. 如果因为差错这样做了,必须执行命令 Remove[" name " ] ;在读入定义该函数的程序包之前取消自定义的函数. 如果不调用 Remove, Mathematica 将使用用户自定义的函数,而不是程序包中的函数.

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

Mathematica 通过使用程序包能被扩充的事实说明 "Mathematica 部分" 的界限 是模糊的. 从用法上来说,程序包中定义的函数与 Mathematica 的内部函数 没有任何区别.
事实上,本书中介绍的许多函数实际上是 Mathematica 程序包中的函数. 而在大多数 Mathematica 系统中,必要的程序包已经被预先装入了. 所以其中定义的函数总是存在的 (在某些内存限制严格的系统上, 这些程序包仅当用户要求的时候才装入).
为了进一步淡化 Mathematica 的边界,第 2.6.11 节介绍了如何使 Mathematica 自动装入特定包.如果用户从未使用过该包中某个函数, 那么该函数是不在 Mathematica 中的,但是一旦用户要使用它,则它就被 从程序包中读入 Mathematica 中.
从实际情况看来,被认为是 "Mathematica 部分" 的函数或许是那些在所有 Mathematica 系统中都有的函数.本书讨论的也正是这些函数.
然而,Mathematica 的大多数版本都具有标准的程序包集合,其中包含了更 多的函数. 其中一些函数在本书中被提到. 要得到这些函数,用户通常需要 明确读入必要的程序包.

用户可以使用帮助浏览器获得 Mathematica 的标准附加程序包的信息

当然,能够设置 Mathematica 系统,使得特定的程序包被预先装入或当用户需要的时候 自动装入. 如果这样设置了,那么将有许多函数作为标准函数出现在所使用的 Mathematica 版本中. 不过本书不提供这方面的资料.
有一点要提到的是程序包和笔记本的关系.二者都是作为文件储存在计算机系统中, 都能被读入 Mathematica 中. 但笔记本是要被显示的,而程序包只是作为 Mathematica 的输入. 事实上笔记本包含了被认为是程序包的段落,其中包含着 打算作为 Mathematica 输入的定义序列.