(*最后图片为整篇文觇致惯鸹档的截图*)
一句话来总结它的基本原理: 对我们输入的每一个表达式持续不断地应用变换规则进行替换操作, 直到最后的结果不再改变就停廛摄斟腓止, 并将最后的结果返回给我们.
问题来了! 什么是变换规则?分为哪些变换规则呢?那么替换的操作又有哪些呢? 先来看第一个问题.对变量赋值就是一个变换规则的定义. 比如, 先来看
现在还未对 x 和 a 赋值, 所以结果只是调整了一下顺序原样返回给我们.
OwnValues 函数给出符号本身的规则定义. HoldPattern 是用来在 :> 左端抑制立刻对 x 进行替换操作的 . 这个查询的结果和之前的分析完全一致.
再来看第二个问题: "分为哪些变换规则呢?" 有自动变换和非自动变换. 系统内部函数定义和由我们自己使用 = 和:= 自己定义的规则, 这些都放在系统的规则库中, 由软件自动调用发生替换操作. 而由我们定义的变换规则 (如 a-> 6) 需要自己执行一个替换的操作, 才会发挥效用.
第三问题"那么替换的操作又有哪些呢", 事实上 Mathematica 里可以有多种方式对某个表达式进行替换计算, 比如:
只进行一次的替换;
反复不断替换;
对整个表达式进行替换;
以所有可能的方式进行替换;
或者是根据给出的位置索引进行替换.
我们将再稍后进行展开.
整篇文档的截图: