Common lisp exp是expt的旧形式吗?
我在Tanimoto的《使用Common Lisp的人工智能要素》中发现了这一点: 那不应该是expt而不是exp吗?这个程序,在很多我认为应该是expt的地方使用exp。我缺少什么?这只是历史问题吗?或者这是一个错误?expt和exp的行为在HyperSpec条目中描述。expn返回en,而expt x y返回xy。这与你的理解是一致的 exp和expt执行幂运算 exp返回提升到幂数的e,其中e是 自然对数。exp没有分支切割 expt返回提升为幂次幂次的基数。如果 基数是有理数,幂数是整数 计算准确,结果为有理型; 否则,可能会产生浮点近似值。出口 复有理到整数次幂,计算必须精确 结果为有理型或复合有理型 谷本也知道这一点。在第519第一版的词汇表中,有对Common Lisp的exp和expt的描述。然而,在这里,这些符号的使用方式不同。Tanimoto正在开发符号代数系统,并使用符号exp表示指数表达式。排队Common lisp exp是expt的旧形式吗?,common-lisp,Common Lisp,我在Tanimoto的《使用Common Lisp的人工智能要素》中发现了这一点: 那不应该是expt而不是exp吗?这个程序,在很多我认为应该是expt的地方使用exp。我缺少什么?这只是历史问题吗?或者这是一个错误?expt和exp的行为在HyperSpec条目中描述。expn返回en,而expt x y返回xy。这与你的理解是一致的 exp和expt执行幂运算 exp返回提升到幂数的e,其中e是 自然对数。exp没有分支切割 expt返回提升为幂次幂次的基数。如果 基数是有理数,幂数是整数
(setf f0 '(d (+ (exp x 2) (* 2 x)) x))
f0的值就是列表d+expx2*2x。执行的不是代码。关键是它是一个代数表达式。它只是一个嵌套的符号和数字列表。d根本不是公共Lisp中定义的函数。稍后,在第99页第一版中,Tanimoto定义了一些符号区分规则:
(setq exp0-rule '(
simplify
(exp (? e1) 0)
1
exp0-rule
) )
这些基于第96页所述的数学规则,其中:
EXP0-RULE:x0=1
EXP1-RULE:x1=xexpt和exp的行为在HyperSpec条目中描述。expn返回en,而expt x y返回xy。这与你的理解是一致的
exp和expt执行幂运算
exp返回提升到幂数的e,其中e是
自然对数。exp没有分支切割
expt返回提升为幂次幂次的基数。如果
基数是有理数,幂数是整数
计算准确,结果为有理型;
否则,可能会产生浮点近似值。出口
复有理到整数次幂,计算必须精确
结果为有理型或复合有理型
谷本也知道这一点。在第519第一版的词汇表中,有对Common Lisp的exp和expt的描述。然而,在这里,这些符号的使用方式不同。Tanimoto正在开发符号代数系统,并使用符号exp表示指数表达式。排队
(setf f0 '(d (+ (exp x 2) (* 2 x)) x))
f0的值就是列表d+expx2*2x。执行的不是代码。关键是它是一个代数表达式。它只是一个嵌套的符号和数字列表。d根本不是公共Lisp中定义的函数。稍后,在第99页第一版中,Tanimoto定义了一些符号区分规则:
(setq exp0-rule '(
simplify
(exp (? e1) 0)
1
exp0-rule
) )
这些基于第96页所述的数学规则,其中:
EXP0-RULE:x0=1
EXP1-RULE:x1=x我想我现在明白了。注意,不要把exp看作CL函数exp。这可能是一个错误的伪符号选择。顺便说一句,我是在第二版的塔尼莫托。我不认为这真的是一个可怕的选择,但有一些潜在的混乱,肯定。在公式的符号表示和提供数学函数的编程语言中肯定会有一些重叠。是的,现在知道了。但我想我们在看不同版本的《塔尼莫托》。页码不匹配。我,第二版。@147pm是的,我更新了我的答案,提到了第一版,我认为它是,因为它是1990年,没有提到任何其他版本。我想我现在明白了。注意,不要把exp看作CL函数exp。这可能是一个错误的伪符号选择。顺便说一句,我是在第二版的塔尼莫托。我不认为这真的是一个可怕的选择,但有一些潜在的混乱,肯定。在公式的符号表示和提供数学函数的编程语言中肯定会有一些重叠。是的,现在知道了。但我想我们在看不同版本的《塔尼莫托》。页码不匹配。我,第二版。@147pm是的,我更新了我的答案,提到了第一版,我认为它是,因为它是1990年,没有提到任何其他版本。