无内部定义的运算符
以
为例,当进行输入时,Mathematica 首先将
识别为一个运算符,并构造表达式 Plus[2, 2],然后用 Plus 的内部规则计算该表达式从而得到结果
.
当并非所有能被 Mathematica 识别的运算符都与一个有内部含义的函数相联系. Mathematica 也支持几百种额外的运算符用于表达式的构造,但对这些运算符没有事先定义的计算规则.
在 Mathematica 语言内部,可以用这些运算符构造自己的记号.

被看作一个中缀运算符,但没有事先定义的值.
Out[1]//FullForm= |
| |  |
| Out[2]= |  |
可以为

定义一个值.
现在

不仅被看作一个运算符,而且可以进行计算.
| Out[4]= |  |
对应于未预先定义值函数的一些 Mathematica 运算符.
Mathematica 按照常规约定,与一个运算符对应的函数与表示这个运算的特定字符具有相同的名称.

显示为

.
| Out[5]= |  |
Out[6]//FullForm= |
| |  |
| x \[name] y | name[x, y] |
\ | name[x] |
| name[x, y, ...] |
Mathematica 中运算符名称和函数名称之间的常规对应.
应该认识到,即使函数 CirclePlus 和 CircleTimes 没有给定的内部运算规则,运算符
和
仍具有内部设定的优先级别. "运算符的输入形式" 一节中按照优先次序列出了能被 Mathematica 识别的全部运算符.
运算符

和

有明确的优先级别——

的优先级高于

.
Out[7]//FullForm= |
| |  |
一些没有内部定义的二维形式.
Out[8]//InputForm= |
| |  |
Out[9]//InputForm= |
| |  |
Out[10]//InputForm= |
| |  |
Out[11]//InputForm= |
| |  |