代数规划语言又称计算机代数语言REDUCE2,计算机代数语言与数值计算语言相比最显著的特点是适用于公式推导,比如,化简数学表达式、求多项式的因式分解、求两个多项式的最大公因式、符号地进行矩阵代数运算、求代数方程组的解的方式,求函数的微分和不定积分、求微分方程和积分方程的解析解、证明数字恒等式等等。
中文名
代数规划语言
外文名
Algebraic programming language
别 名
计算机代数语言语 种
REDUCE2
类 型
代数
系 统
计算机
代数规划语言概述
编辑
语音
计算机代数语言与数值计算语言相比最显著的特点是适用于公式推导,比如,化简数学表达式、求多项式的因式分解、求两个多项式的最大公因式、符号地进行矩阵代数运算、求代数方程组的解的方式,求函数的微分和不定积分、求微分方程和积分方程的解析解、证明数字恒等式等等。
计算机代数语言REDUCE2的数类似于数值计算语言,但它能进行任意位数的准确运算。REDUCE 2的变量分为两大类;一类是说明型变量,一类是非说明型变量。前者类似于数值计算机语言的变量;后者是一种不经说明而使用的变量,它有两种状态:赋值之前的状态称做自由状态,这时变量称为未定元(indeterminate),它以变量名本身为其值;赋值之后的状态叫做受束状态,这时的变量称为点束变量(bound variable),它以被赋值的表达式为其值。显然含有未定元的表达式是一个符号数学表达式,而不含未定元的表达式的值却是一个数。可见,未定元是形成符号数学表达式的关键因素,是计算机代数语言的关键性概念之一。[1]
代数规划语言表达式
编辑
语音
REDUCE 2的表达式分为四类:数表达式,布尔表达式、等式和纯量表达式。
在REDUCE2中:
::=|
语句用于计算表达式的值。表达式在求值时将所有含变量的值代入。
::=|(条件语句>||||
::=:=
::=IF(|)THENELSE
其中ELSE(语句)部分可有可无。
::=FOR:=STEPUNTIL(DO|SUM|PRODUCT)
计算机执行的是REDUCE 2命令,REDUCE 2程序是由命令构成的:
::=|
::=;|$
::=||||
为了便于用户控制公式推导的过程和数学表达式打印的格式,REDUCE 2提供了丰富的开关和控制命令。为了直接用求得数学公式编制数值计算程序,REDUCE 2提供了编制FORTRAN程序的工具,此外,REDUCE 2还有连接LISP语言的工具。
计算机代数语言的关键是构成符号数学表达式的未定元概念和贮存公式推导规则的工具(代换命令)。它使人们摆脱使用笔和纸推导公式,使科学计算进入了一个新的时代。[1]
代数规划语言字符集
编辑
语音
REDUCE的字符集包括55个字符,语法可用巴科斯范式描述如下:
::=||||
::=A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U||V|W|X|Y|Z
::=0|1|2|3|4|5|6|7|8|9
::=+|-|*|/
::=>|
::=(|)|,|.|:|;|”|’|!| |$|%
特殊字符所枚举的第十个字符是“空格”字符。从语法上看,REDUCE不允许小写字母,但事实上,REDUCE允许用小写字母输入,这时系统自动地将小写字母转换成大写字母。此外,在某些计算机上运行的REDUCE版本使用更大的字符集。
代数规划语言数和算术运算
编辑
语音
REDUCE有两类数:整数和实型数。
::=|
::=|+|-
例如,一2,000,+5396,123456789123456789等等都是整数。在原则上整数可以是任意位长的,事实上,在不同的计算机上运行的REDUCE不同版本都规定了自己的整数的最大长度。
::=.|.
::=E
::=|
例如,32.1,一32.1,十32.1都是定点数。注意:321.也是符合语法的定点数。而0.321E3和3210E一1都是浮点数。以上列举的数都是实型数。实型数一定带有小数点。
::=|
按照语法,.5,一.11,+.24,1.2E0.5,+1.2E0.5都不是REDUCE的数,如果将它们当作数使用则会发生错误。
算术运算符十、一、*和/依次表示四则运算加、减、乘和除。REDUCE是一种计算机代数语言,对数进行精确运算。当两个整数进加、减和乘运算时所得结果是整数。当两个整数相除时是消去公因数,得到的结果是个精确的既约分数或整数。[2]
词条图册
更多图册
参考资料
1.
李英华编著,计算机语言的发展,湖北科学技术出版社,1992年11月第1版,337-338
2.
衷仁保编著,计算机代数,国防科技大学出版社,1989年12月第1版,7-8