返回列表

bottema2009里面的三元轮换求和sgm

bottema2009 里定义了 sgm 函数,这是纯粹为了方便输入的,比如输入 sgm(a^2*b) 得到的是 a^2*b+b^2*c+c^2*a。
查了一下源代码,是这样定义的:
  1. sgm:=proc(expr)
  2.    local rap,ex2,ex3,ex:
  3.    
  4.    rap:={a=b,b=c,c=a,A=B,B=C,C=A,x=y,y=z,z=x,ha=hb,hb=hc,hc=ha,Ra=Rb,Rb=Rc,Rc=Ra,
  5.          ra=rb,rb=rc,rc=ra,ma=mb,mb=mc,mc=ma,wa=wb,wb=wc,wc=wa,ka=kb,kb=kc,kc=ka,
  6.          HA=HB,HB=HC,HC=HA,IA=IB,IB=IC,
  7.          IC=IA,Ha=Hb,Hb=Hc,Hc=Ha,A=B,B=C,C=A,Ra=Rb,Rb=Rc,Rc=Ra,GA=GB,GB=GC,
  8.          GC=GA,JA=JB,JB=JC,JC=JA,ca=cb,cb=cc,cc=ca,Ja=Jb,Jb=Jc,Jc=Ja}:
  9.          
  10.    ex2:=subs(rap,expr):
  11.    ex3:=subs(rap,ex2):
  12.    ex:=expr+ex2+ex3:
  13.    RETURN(ex)
  14. end:
复制代码
那个 rap 里很清楚地显示了这个函数适用于哪些字母。

但是里面只定义了求和,没有求积,也没有四元,所以可以仿照着定义一下,方便使用。
四元的情况的 rap 就不用定义那么多东西了,就弄 a,b,c,d 和 x,y,z,w 好了。
  1. sgm4:=proc(expr)
  2.    local rap,ex2,ex3,ex4,ex:
  3.    
  4.    rap:={a=b,b=c,c=d,d=a,x=y,y=z,z=w,w=x}:
  5.          
  6.    ex2:=subs(rap,expr):
  7.    ex3:=subs(rap,ex2):
  8.    ex4:=subs(rap,ex3):
  9.    ex:=expr+ex2+ex3+ex4:
  10.    RETURN(ex)
  11. end:

  12. pro:=proc(expr)
  13.    local rap,ex2,ex3,ex:
  14.    
  15.    rap:={a=b,b=c,c=a,A=B,B=C,C=A,x=y,y=z,z=x,ha=hb,hb=hc,hc=ha,Ra=Rb,Rb=Rc,Rc=Ra,
  16.          ra=rb,rb=rc,rc=ra,ma=mb,mb=mc,mc=ma,wa=wb,wb=wc,wc=wa,ka=kb,kb=kc,kc=ka,
  17.          HA=HB,HB=HC,HC=HA,IA=IB,IB=IC,
  18.          IC=IA,Ha=Hb,Hb=Hc,Hc=Ha,A=B,B=C,C=A,Ra=Rb,Rb=Rc,Rc=Ra,GA=GB,GB=GC,
  19.          GC=GA,JA=JB,JB=JC,JC=JA,ca=cb,cb=cc,cc=ca,Ja=Jb,Jb=Jc,Jc=Ja}:
  20.          
  21.    ex2:=subs(rap,expr):
  22.    ex3:=subs(rap,ex2):
  23.    ex:=expr*ex2*ex3:
  24.    RETURN(ex)
  25. end:

  26. pro4:=proc(expr)
  27.    local rap,ex2,ex3,ex4,ex:
  28.    
  29.    rap:={a=b,b=c,c=d,d=a,x=y,y=z,z=w,w=x}:
  30.          
  31.    ex2:=subs(rap,expr):
  32.    ex3:=subs(rap,ex2):
  33.    ex4:=subs(rap,ex3):
  34.    ex:=expr*ex2*ex3*ex4:
  35.    RETURN(ex)
  36. end:
复制代码
基本信息:kuing,GG,19880618~?,地道广州人,高中毕业,无业游民,不等式爱好者,论坛混混;
现状:冇钱又冇样、冇型又冇款、冇身材又冇文采、冇学历又冇能力、冇高度冇速度冇力度兼夹冇野做!(粤语)

返回列表