零零多项式

阿育·库玛(Ayush kumar)

谁能在下面的算法中向我解释“ ISZERO”函数如何检查多项式是否为零。在此,“ REM(P,e)”函数将删除所有指数为“ e”的值。我无法理解的是“如果COEF(P,e)=-c”的含义。还有什么是“ SMULT”功能。

 structure POLYNOMIAL
    declare ZERO( ) poly; ISZERO(poly) Boolean
    COEF(poly,exp) coef;
    ATTACH(poly,coef,exp) poly
    REM(poly,exp) poly
    SMULT(poly,coef,exp) poly
    ADD(poly,poly) poly; MULT(poly,poly) poly;
    for all P,Q, poly c,d, coef e,f exp let
    REM(ZERO,f) :: = ZERO
    REM(ATTACH(P,c,e),f) :: =
    if e = f then REM(P,f) else ATTACH(REM(P,f),c,e)
    ***ISZERO(ZERO) :: = true
    ISZERO(ATTACH(P,c,e)):: =
    if COEF(P,e) = - c then ISZERO(REM(P,e)) else false***
    COEF(ZERO,e) :: = 0
    COEF(ATTACH(P,c,e),f) :: =
    if e = f then c + COEF(P,f) else COEF(P,f)
    SMULT(ZERO,d,f) :: = ZERO
    SMULT(ATTACH(P,c,e),d,f) :: =
    ATTACH(SMULT(P,d,f),c d,e + f)
    ADD(P,ZERO):: = P
    ADD(P,ATTACH(Q,d,f)) :: = ATTACH(ADD(P,Q),d,f)
    MULT(P,ZERO) :: = ZERO
    MULT(P,ATTACH(Q,d,f)) :: =
    ADD(MULT(P,Q),SMULT(P,d,f))
    end
    end POLYNOMIAL
Arghbleargh

不知道这是什么语言,看起来像这行

ISZERO(ATTACH(P,c,e)):: =
if COEF(P,e) = - c then ISZERO(REM(P,e)) else false

ISZERO递归指定我们正在试图确定是否ATTACH(P, c, e),也被称为P(x) + cx^e是零。首先检查的x^e系数是否P-c如果不是,则P(x) + cx^e绝对不为零,并且您可以立即返回false。否则,P(x) + cx^e = REM(P, e)因此您必须检查ISZERO(REM(P, e))

我相信SMULT是乘法,所以SMULT(P, a, b)等价于a * x^b * P(x)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章