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