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

1.3.1 Mathematica 的结构

Mathematica 系统的基本部分

Mathematica 是模块化系统,其执行运算的内核 (kernel) 与处理用户交互的 前端 (front end) 是互相分离的.
Mathematica 前端是称作笔记本的交互文档,笔记本把具有文字、图形、面板 和其它材质的输入和输出放在一起. 用户使用笔记本既可进行运算, 也可作为表达或发布自己的结果的工具.

Mathematica 的常见界面种类

笔记本前端包含许多菜单和图形工具,用以创建和阅读笔记本文档,向内核发送 材料和从内核接收材料.

把文本、图形和输入输出混合放在一起的笔记本

picture

在某些情况下,用户可能不需要笔记本前端的混合功能,而想代之以和内核交互. 这可通过使用文本界面来实现,在文本界面,从键盘键入的文字直接进入内核.

使用文本界面与 Mathematica 对话

In[1]:= 2^100

Out[1]= 1267650600228229401496703205376

In[2]:= Integrate[1/(x^3 - 1), x]

1 + 2 x
ArcTan[-------] 2
Sqrt[3] Log[-1 + x] Log[1 + x + x ]
Out[2]= -(---------------) + ----------- - ---------------
Sqrt[3] 3 6

Mathematica 的一个重要特点是它不仅能与人交互,还能和其它程序交互. 这个功能是通过 MathLink 来实现的. MathLink 是外部程序和 Mathematica 内核 之间的标准双向通讯协议.

通过 MathLinkMathematica 内核通讯的 C 程序代码的一部分

MLPutFunction(stdlink, "EvaluatePacket", 1);

MLPutFunction(stdlink, "Gamma", 2);
MLPutReal(stdlink, 2);
MLPutInteger(stdlink, n);

MLEndPacket(stdlink);
MLCheckFunction(stdlink, "ReturnPacket", &n);

MLGetReal(stdlink, &result);

在许多兼容 MathLink 的程序中,一些被用来作为 Mathematica 前端.这些前端常常提供自己特有的用户界面,并把 Mathematica 内核纯粹作为嵌入的计算引擎.以这种方式使用 Mathematica,在本节最后有 一些讨论.