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

2.2.10 结构的操作

Mathematica 有改变表达式结构的有效功能,这可以使我们实现合并、 分配等数学特性. Sort[ ] 可以对列表和含有任何头部的表达 式的元素进行分类.

Sort 将函数的变量按序排列

按顺序分类

将数字按减少的顺序排列

根据不含 x 的元素比含 x 的元素靠前的次序排列

压平表达式的结构

Flatten 压平函数嵌套

Flatten 将元素拼接为列表或其它表达式

Flatten 进行组合,Distribute 进行分配.

分配律

f 分配到 a+b

更复杂一些的例子

一般地, Expand 对标准的代数乘法进行 类似的分配展开,Distribute 可对任意运算进行类似的分配展开.

Expand 实施乘法对加法的分配

对一个列表进行分配

当表达式的头部为f时对其进行分配

当头部是 f 时对列表进行分配, 用 gp 代替列表,用 fp 代替f

Distribute 相关的是 Thread, Thread 将函数并行地作用于一个列表 或表达式的所有项.

线性作用于表达式的函数

变量是列表的函数

Thread 线性作为列表的元素

不在列表中的元素将重复

Mathematica 的许多函数可以形成列表,它们可以自动进行线性作用.

Log 函数可自动线性作用于列表

Log 不能自动对方程进行线性作用

可以用 Thread 使函数作用 于方程两端

广义内积和外积

Outer[f,  ,  ]给出 list1 list2中元素所有可能的组合, 并将 f 作用于这些给合,它可以看作是张量的积的推广.

Outer 给出了元素的所有组合,并用 f 作用

Outer 产生一个下三角 Boolean 矩阵

Outer 可用于任何头部相同的表达式

Distribute 一样,Outer 给出元素所有可能的组合,而 InnerThread 一样 仅给出表达式中相应位置元素的组合.

Inner 形成的结构

Inner 是内积的推广