[BACK]Return to algnum.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts

File: [local] / OpenXM / src / asir-doc / parts / algnum.texi (download)

Revision 1.1.1.1 (vendor branch), Wed Dec 8 05:47:44 1999 UTC (24 years, 6 months ago) by noro
Branch: NORO
CVS Tags: ASIR2000
Changes since 1.1: +0 -0 lines

Imported OpenXM/src/asir-doc. 

@node $BBe?tE*?t$K4X$9$k1i;;(B,,, Top
@chapter $BBe?tE*?t$K4X$9$k1i;;(B

@menu
* $BBe?tE*?t$NI=8=(B::
* $BBe?tE*?t$N1i;;(B::
* $BBe?tBN>e$G$N(B 1 $BJQ?tB?9`<0$N1i;;(B::
* $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B::
@end menu

@node $BBe?tE*?t$NI=8=(B,,, $BBe?tE*?t$K4X$9$k1i;;(B
@section $BBe?tE*?t$NI=8=(B

@noindent
@b{Asir} $B$K$*$$$F$O(B, $BBe?tBN$H$$$&BP>]$ODj5A$5$l$J$$(B. 
$BFHN)$7$?BP>]$H$7$FDj5A$5$l$k$N$O(B, $BBe?tE*?t$G$"$k(B. 
$BBe?tBN$O(B, $BM-M}?tBN$K(B, $BBe?tE*?t$rM-8B8D(B
$B=g<!E:2C$7$?BN$H$7$F2>A[E*$KDj5A$5$l$k(B. $B?7$?$JBe?tE*?t$O(B, $BM-M}?t$*$h$S(B
$B$3$l$^$GDj5A$5$l$?Be?tE*?t$NB?9`<0$r78?t$H$9$k(B 1 $BJQ?tB?9`<0(B
$B$rDj5AB?9`<0$H$7$FDj5A$5$l$k(B. $B0J2<(B, $B$"$kDj5AB?9`<0$N:,$H$7$F(B
$BDj5A$5$l$?Be?tE*?t$r(B, @code{root} $B$H8F$V$3$H$K$9$k(B. 

@example
[0] A0=newalg(x^2+1);
(#0)
[1] A1=newalg(x^3+A0*x+A0);
(#1)
[2]  [type(A0),ntype(A0)];
[1,2]
@end example

@noindent
$B$3$NNc$G$O(B, @code{A0} $B$O(B @code{x^2+1=0} $B$N:,(B, @code{A1} $B$O(B, $B$=$N(B @code{A0}
$B$r78?t$K4^$`(B @code{x^3+A0*x+A0=0} $B$N:,$H$7$FDj5A$5$l$F$$$k(B. 

@noindent
@code{newalg()} $B$N0z?t$9$J$o$ADj5AB?9`<0$K$O<!$N$h$&$J@)8B$,$"$k(B. 

@enumerate
@item
$BDj5AB?9`<0$O(B 1 $BJQ?tB?9`<0$G$J$1$l$P$J$i$J$$(B. 


@item
@code{newalg()} $B$N0z?t$G$"$kDj5AB?9`<0$O(B, $BBe?tE*?t$r4^$`<0$N4JC12=$N$?(B
$B$a$KMQ$$$i$l$k(B. $B$3$N4JC12=$O(B, $BAH$_9~$_H!?t(B @code{srem()} $B$KAjEv$9$kFb(B
$BIt%k!<%A%s$rMQ$$$F9T$o$l$k(B. $B$3$N$?$a(B, $BDj5AB?9`<0$N<g78?t$O(B, $BM-M}?t$K(B
$B$J$C$F$$$kI,MW$,$"$k(B.

@item
$BDj5AB?9`<0$N78?t$O(B $B$9$G$KDj5A$5$l$F$$$k(B @code{root} $B$NM-M}?t78?tB?9`<0(B
$B$G$J$1$l$P$J$i$J$$(B. 

@item
$BDj5AB?9`<0$O(B, $B$=$N78?t$K4^$^$l$kA4$F$N(B @code{root} $B$rM-M}?t$KE:2C$7$?(B
$BBN>e$G4{Ls$G$J$1$l$P$J$i$J$$(B. 
@end enumerate

@noindent
@code{newalg()} $B$,9T$&0z?t%A%'%C%/$O(B, 1 $B$*$h$S(B 2 $B$N$_$G$"$k(B. 
$BFC$K(B, $B0z?t$NDj5AB?9`<0$N4{Ls@-$OA4$/%A%'%C%/$5$l$J$$(B. $B$3$l$O(B
$B4{Ls@-$N%A%'%C%/$,B?Bg$J7W;;NL$rI,MW$H$9$k$?$a$G(B, $B$3$NE@$K4X$7$F$O(B, 
$B%f!<%6$N@UG$$KG$$5$l$F$$$k(B. 

@noindent
$B0lC6(B @code{newalg()} $B$K$h$C$FDj5A$5$l$?Be?tE*?t$O(B, $B?t$H$7$F$N<1JL;R$r;}$A(B, 
$B$^$?(B, $B?t$NCf$G$OBe?tE*?t$H$7$F$N<1JL;R$r;}$D(B. (@code{type()}, @code{vtype()}
$B;2>H(B.) $B$5$i$K(B, $BM-M}?t$H(B, @code{root} $B$NM-M}<0$bF1MM$KBe?tE*?t$H$J$k(B. 

@example
[87] N=(A0^2+A1)/(A1^2-A0-1);
((#1+#0^2)/(#1^2-#0-1))
[88] [type(N),ntype(N)];     
[1,2]
@end example

@noindent
$BNc$+$i$o$+$k$h$&$K(B, @code{root}$B$O(B @code{#@var{n}}
$B$HI=<($5$l$k(B. $B$7$+$7(B, $B%f!<%6$O$3$N7A$G$OF~NO$G$-$J$$(B. @code{root} $B$O(B
$BJQ?t$K3JG<$7$FMQ$$$k$+(B, $B$"$k$$$O(B @code{alg(@var{n})} $B$K$h$j<h$j=P$9(B. 
$B$^$?(B, $B8zN($OMn$A$k$,(B, $BA4$/F1$80z?t(B ($BJQ?t$O0[$J$C$F$$$F$b$h$$(B) $B$K$h$j(B
@code{newalg()} $B$r8F$Y$P(B, $B?7$7$$Be?tE*?t$ODj5A$5$l$:$K4{$KDj5A$5$l$?(B
$B$b$N$,F@$i$l$k(B. 

@example
[90] alg(0);
(#0)
[91] newalg(t^2+1);
(#0)
@end example

@noindent
@code{root} $B$NDj5AB?9`<0$O(B, @code{defpoly()} $B$K$h$j<h$j=P$;$k(B. 

@example
[96] defpoly(A0);     
t#0^2+1
[97] defpoly(A1);
t#1^3+t#0*t#1+t#0
@end example

@noindent
$B$3$3$G8=$l$?(B, @code{t#0}, @code{t#1} $B$O$=$l$>$l(B @code{#0}, @code{#1} $B$K(B
$BBP1~$9$kITDj85$G$"$k(B. $B$3$l$i$b%f!<%6$,F~NO$9$k$3$H$O$G$-$J$$(B. 
@code{var()} $B$G<h$j=P$9$+(B, $B$"$k$$$O(B @code{algv(@var{n})} $B$K$h$j<h$j=P$9(B. 

@example
[98] var(@@);
t#1
[99] algv(0);
t#0
[100] 
@end example

@node $BBe?tE*?t$N1i;;(B,,, $BBe?tE*?t$K4X$9$k1i;;(B
@section $BBe?tE*?t$N1i;;(B

@noindent
$BA0@a$G(B, $BBe?tE*?t$NI=8=(B, $BDj5A$K$D$$$F=R$Y$?(B. $B$3$3$G$O(B, $BBe?tE*?t$rMQ$$$?(B
$B1i;;$K$D$$$F=R$Y$k(B. $BBe?tE*?t$K4X$7$F$O(B, $BAH$_9~$_H!?t$H$7$FDs6!$5$l$F$$$k(B
$B5!G=$O$4$/>/?t$G(B, $BBgItJ,$O%f!<%6Dj5AH!?t$K$h$j<B8=$5$l$F$$$k(B. $B%U%!%$%k(B
$B$O(B, @samp{sp} $B$G(B, @samp{gr} $B$HF1MM(B @b{Asir} $B$NI8=`%i%$%V%i%j%G%#%l%/%H%j(B
$B$K$*$+$l$F$$$k(B. 

@example
[0] load("gr")$
[1] load("sp")$
@end example

@noindent
$B$"$k$$$O(B, $B>o$KMQ$$$k$J$i$P(B, @samp{$HOME/.asirrc} $B$K=q$$$F$*$/$N$b$h$$(B. 

@noindent
@code{root} $B$O(B $B$=$NB>$N?t$HF1MM(B, $B;MB'1i;;$,2DG=$H$J$k(B. $B$7$+$7(B, $BDj5AB?(B
$B9`<0$K$h$k4JC12=$O<+F0E*$K$O9T$o$l$J$$$N$G(B, $B%f!<%6$NH=CG$GE,599T$o(B
$B$J$1$l$P$J$i$J$$(B. $BFC$K(B, $BJ,Jl$,(B 0 $B$K$J$k>l9g$KCWL?E*$J%(%i!<$H$J$k$?$a(B, 
$B<B:]$KJ,Jl$r;}$DBe?tE*?t$r@8@.$9$k>l9g$K$O:Y?4$NCm0U$,I,MW$H$J$k(B.

@noindent
$BBe?tE*?t$N(B, $BDj5AB?9`<0$K$h$k4JC12=$O(B, @code{simpalg()} $B$G9T$&(B. 

@example
[49] T=A0^2+1;
(#0^2+1)
[50] simpalg(T);
0
@end example

@noindent
@code{simpalg()} $B$OM-M}<0$N7A$r$7$?Be?tE*?t$r(B, $BB?9`<0$N7A$K4JC12=$9$k(B. 

@example
[39] A0=newalg(x^2+1);      
(#0)
[40] T=(A0^2+A0+1)/(A0+3);
((#0^2+#0+1)/(#0+3))
[41] simpalg(T);
(3/10*#0+1/10)
[42] T=1/(A0^2+1);
((1)/(#0^2+1))
[43] simpalg(T);
div : division by 0
stopped in invalgp at line 258 in file "/usr/local/lib/asir/sp"
258                     return 1/A;
(debug) 
@end example

@noindent
$B$3$NNc$G$O(B, $BJ,Jl$,(B 0 $B$NBe?tE*?t$r4JC12=$7$h$&$H$7$F(B 0 $B$K$h$k=|;;$,@8$8(B
$B$?$?$a(B, $B%f!<%6Dj5AH!?t$G$"$k(B @code{simpalg()} $B$NCf$G%G%P%C%,$,8F$P$l$?(B
$B$3$H$r<($9(B. @code{simpalg()} $B$O(B, $BBe?tE*?t$r78?t$H$9$kB?9`<0$N(B
$B3F78?t$r4JC12=$G$-$k(B. 

@example
[43] simpalg(1/A0*x+1/(A0+1));
(-#0)*x+(-1/2*#0+1/2)
@end example

@noindent
$BBe?tE*?t$r78?t$H$9$kB?9`<0$N4pK\1i;;$O(B, $BE,59(B @code{simpalg()} $B$r8F$V$3$H$r(B
$B=|$1$PDL>o$N>l9g$HF1MM$G$"$k$,(B, $B0x?tJ,2r$J$I$GIQHK$KMQ$$$i$l$k%N%k%`$N(B
$B7W;;$J$I$K$*$$$F$O(B, @code{root} $B$rITDj85$KCV$-49$($kI,MW$,=P$F$/$k(B. 
$B$3$N>l9g(B, @code{algptorat()} $B$rMQ$$$k(B. 

@example
[83] A0=newalg(x^2+1);
(#0)
[84] A1=newalg(x^3+A0*x+A0);
(#1)
[85] T=(2*A0+A1*A0+A1^2)*x+(1+A1)/(2+A0);
(#1^2+#0*#1+2*#0)*x+((#1+1)/(#0+2))
[86] S=algptorat(T);
(((t#0+2)*t#1^2+(t#0^2+2*t#0)*t#1+2*t#0^2+4*t#0)*x+t#1+1)/(t#0+2)
[87] algptorat(coef(T,1));
t#1^2+t#0*t#1+2*t#0
@end example

@noindent
$B$3$N$h$&$K(B, @code{algptorat()} $B$O(B, $BB?9`<0(B, $B?t$K4^$^$l$k(B @code{root}
$B$r(B, $BBP1~$9$kITDj85(B, $B$9$J$o$A(B @code{#@var{n}} $B$KBP$9$k(B @code{t#@var{n}}
$B$KCV$-49$($k(B. $B4{$K=R$Y$?$h$&$K(B, $B$3$NITDj85$O%f!<%6$,F~NO$9$k$3$H$O$G$-$J$$(B. 
$B$3$l$O(B, $B%f!<%6$NF~NO$7$?ITDj85$H(B, @code{root} $B$KBP1~$9$kITDj85$,0lCW(B
$B$7$J$$$h$&$K$9$k$?$a$G$"$k(B. 

@noindent
$B5U$K(B, @code{root} $B$KBP1~$9$kITDj85$r(B, $BBP1~$9$k(B @code{root} $B$KCV$-49$($k(B
$B$?$a$K$O(B @code{rattoalgp()} $B$rMQ$$$k(B. 

@example
[88] rattoalgp(S,[alg(0)]);
(((#0+2)/(#0+2))*t#1^2+((#0^2+2*#0)/(#0+2))*t#1+((2*#0^2+4*#0)/(#0+2)))*x
+((1)/(#0+2))*t#1+((1)/(#0+2))
[89] rattoalgp(S,[alg(0),alg(1)]);
(((#0^3+6*#0^2+12*#0+8)*#1^2+(#0^4+6*#0^3+12*#0^2+8*#0)*#1+2*#0^4+12*#0^3
+24*#0^2+16*#0)/(#0^3+6*#0^2+12*#0+8))*x+(((#0+2)*#1+#0+2)/(#0^2+4*#0+4))
[90] rattoalgp(S,[alg(1),alg(0)]);
(((#0+2)*#1^2+(#0^2+2*#0)*#1+2*#0^2+4*#0)/(#0+2))*x+((#1+1)/(#0+2))
[91] simpalg(@@89);
(#1^2+#0*#1+2*#0)*x+((-1/5*#0+2/5)*#1-1/5*#0+2/5)
[92] simpalg(@@90);
(#1^2+#0*#1+2*#0)*x+((-1/5*#0+2/5)*#1-1/5*#0+2/5)
@end example

@noindent
@code{rattoalgp()} $B$O(B, $BCV49$NBP>]$H$J$k(B @code{root} $B$N%j%9%H$rBh(B 2 $B0z?t(B
$B$K$H$j(B, $B:8$+$i=g$K(B, $BBP1~$9$kITDj85$rCV$-49$($F9T$/(B. $B$3$NNc$O(B, 
$BCV49$9$k=g=x$r49$($k$H4JC12=$r9T$o$J$$$3$H$K$h$j7k2L$,0l8+0[$J$k$,(B, 
$B4JC12=$K$h$j<B$O0lCW$9$k$3$H$r<($7$F$$$k(B. @code{algptorat()}, 
@code{rattoalgp()} $B$O(B, $B%f!<%6$,FH<+$N4JC12=$r9T$$$?$$>l9g$J$I$K$b(B
$BMQ$$$k$3$H$,$G$-$k(B. 

@node $BBe?tBN>e$G$N(B 1 $BJQ?tB?9`<0$N1i;;(B,,, $BBe?tE*?t$K4X$9$k1i;;(B
@section $BBe?tBN>e$G$N(B 1 $BJQ?tB?9`<0$N1i;;(B

@noindent
@samp{sp} $B$G$O(B, 1 $BJQ?tB?9`<0$K8B$j(B, GCD, $B0x?tJ,2r$*$h$S$=$l$i$N1~MQ$H$7$F(B
$B:G>.J,2rBN$r5a$a$kH!?t$rDs6!$7$F$$$k(B. 

@menu
* GCD::
* $BL5J?J}J,2r(B $B0x?tJ,2r(B::
* $B:G>.J,2rBN(B::
@end menu

@node GCD,,, $BBe?tBN>e$G$N(B 1 $BJQ?tB?9`<0$N1i;;(B
@subsection GCD

@noindent
$BBe?tBN>e$G$N(B GCD $B$O(B @code{gcda()} $B$K$h$j7W;;$5$l$k(B. 
$B$3$NH!?t$O%b%8%e%i1i;;$*$h$SCf9q>jM>DjM}$K$h$jBe?tBN>e$N(B GCD $B$r(B
$B7W;;$9$k$b$N$G(B, $BC`<!3HBg$KBP$7$F$bM-8z$G$"$k(B. 

@example
[63] A=newalg(t^9-15*t^6-87*t^3-125);
(#0)
[64] B=newalg(75*s^2+(10*A^7-175*A^4-470*A)*s+3*A^8-45*A^5-261*A^2);
(#1)
[65] P1=75*x^2+(150*B+10*A^7-175*A^4-395*A)*x+(75*B^2+(10*A^7-175*A^4-395*A)*B
+13*A^8-220*A^5-581*A^2)$
[66] P2=x^2+A*x+A^2$
[67] gcda(P1,P2,[B,A]);
27*x+((#0^6-19*#0^3-65)*#1-#0^7+19*#0^4+38*#0)
@end example

@node $BL5J?J}J,2r(B $B0x?tJ,2r(B,,, $BBe?tBN>e$G$N(B 1 $BJQ?tB?9`<0$N1i;;(B
@subsection $BL5J?J}J,2r(B, $B0x?tJ,2r(B

@noindent
$BL5J?J}J,2r$O(B, $BB?9`<0$H$=$NHyJ,$H$N(B GCD $B$N7W;;$+$i;O$^$k$b$C$H$b0lHLE*$J(B
$B%"%k%4%j%:%`$r:NMQ$7$F$$$k(B. $BH!?t$O(B @code{asq()} $B$G$"$k(B. 

@example
[116] A=newalg(x^2+x+1);                           
(#4)
[117] T=simpalg((x+A+1)*(x^2-2*A-3)^2*(x^3-x-A)^2);
x^11+(#4+1)*x^10+(-4*#4-8)*x^9+(-10*#4-4)*x^8+(16*#4+20)*x^7+(24*#4-6)*x^6
+(-29*#4-31)*x^5+(-15*#4+28)*x^4+(38*#4+29)*x^3+(#4-23)*x^2+(-21*#4-7)*x
+(3*#4+8)
[118] asq(T);
[[x^5+(-2*#4-4)*x^3+(-#4)*x^2+(2*#4+3)*x+(#4-2),2],[x+(#4+1),1]]
@end example

@noindent
$B7k2L$ODL>o$HF1MM$K(B, [@b{$B0x;R(B}, @b{$B=EJ#EY(B}] $B$N%j%9%H$H$J$k$,(B, $BA4$F$N0x;R(B
$B$N@Q$O(B, $B$b$H$NB?9`<0$HDj?tG\$N:9$O$"$jF@$k(B. $B$3$l$O(B, $B0x;R$r@0?t78?t$K$7(B
$B$F8+$d$9$/$9$k$?$a$G(B, $B0x?tJ,2r$G$bF1MM$G$"$k(B.

@noindent
$BBe?tBN>e$G$N0x?tJ,2r$O(B, Trager $B$K$h$k%N%k%`K!$r2~NI$7$?$b$N$G(B, $BFC$K(B
$B$"$kB?9`<0$KBP$7(B, $B$=$N:,$rE:2C$7$?BN>e$G$=$NB?9`<0<+?H$r0x?tJ,2r$9$k(B
$B>l9g$KFC$KM-8z$G$"$k(B. 

@example
[119] af(T,[A]);
[[x^3-x+(-#4),2],[x^2+(-2*#4-3),2],[x+(#4+1),1]]
@end example

@noindent
$B0z?t$O(B 2 $B$D$G(B, $BBh(B 2 $B0z?t$O(B, @code{root} $B$N%j%9%H$G$"$k(B. $B0x?tJ,2r$O(B
$BM-M}?tBN$K(B, $B$=$l$i$N(B @code{root} $B$rE:2C$7$?BN>e$G9T$o$l$k(B. 
@code{root} $B$N=g=x$K$O@)8B$,$"$k(B. $B$9$J$o$A(B, $B8e$GDj5A$5$l$?$b$N$[$I(B
$BA0$NJ}$K$3$J$1$l$P(B
$B$J$i$J$$(B. $BJB$Y49$($O(B, $B<+F0E*$K$O9T$o$l$J$$(B. $B%f!<%6$N@UG$$H$J$k(B. 

@noindent
$B%N%k%`$rMQ$$$?0x?tJ,2r$K$*$$$F$O(B, $B%N%k%`$N7W;;$H@0?t78?t(B 1 $BJQ?tB?9`<0$N(B
$B0x?tJ,2r$N8zN($,(B, $BA4BN$N8zN($r:81&$9$k(B. $B$3$N$&$A(B, $BFC$K9b<!$NB?9`<0(B
$B$N>l9g$K8e<T$K$*$$$FAH9g$;GzH/$K$h$j7W;;ITG=$K$J$k>l9g$,$7$P$7$P@8$:$k(B. 

@example
[120] B=newalg(x^2-2*A-3);
(#5)
[121] af(T,[B,A]);
[[x+(#5),2],[x^3-x+(-#4),2],[x+(-#5),2],[x+(#4+1),1]]
@end example

@node $B:G>.J,2rBN(B,,, $BBe?tBN>e$G$N(B 1 $BJQ?tB?9`<0$N1i;;(B
@subsection $B:G>.J,2rBN(B

@noindent
$B$d$dFC<l$J1i;;$G$O$"$k$,(B, $BA0@a$N0x?tJ,2r$rH?I|E,MQ$9$k$3$H$K$h$j(B, 
$BB?9`<0$N:G>.J,2rBN$r5a$a$k$3$H$,$G$-$k(B. $BH!?t$O(B @code{sp()} $B$G$"$k(B. 

@example
[103] sp(x^5-2);
[[x+(-#1),2*x+(#0^3*#1^3+#0^4*#1^2+2*#1+2*#0),2*x+(-#0^4*#1^2),2*x
+(-#0^3*#1^3),x+(-#0)],[[(#1),t#1^4+t#0*t#1^3+t#0^2*t#1^2+t#0^3*t#1+t#0^4],
[(#0),t#0^5-2]]]
@end example

@noindent
@code{sp()} $B$O(B 1 $B0z?t$G(B, $B7k2L$O(B @code{[1 $B<!0x;R$N%j%9%H(B, [[root,
algptorat($BDj5AB?9`<0(B)] $B$N%j%9%H(B]} $B$J$k%j%9%H$G$"$k(B. 
$BBh(B 2 $BMWAG$N(B @code{[root,algptorat($BDj5AB?9`<0(B)]} $B$N%j%9%H$O(B, 
$B1&$+$i=g$K(B, $B:G>.J,2rBN$,F@$i$l$k$^$GE:2C$7$F$$$C$?(B @code{root} $B$r<($9(B. 
$B$=$NDj5AB?9`<0$O(B, $B$=$ND>A0$^$G$N(B @code{root} $B$rE:2C$7$?BN>e$G4{Ls$G$"$k$3$H(B
$B$,J]>Z$5$l$F$$$k(B. 

@noindent
$B7k2L$NBh(B 1 $BMWAG$G$"$k(B 1 $B<!0x;R$N%j%9%H$O(B, $BBh(B 2 $BMWAG$N(B @code{root} $B$rA4$F(B
$BE:2C$7$?BN>e$G$N(B, @code{sp()} $B$N0z?t$NB?9`<0$NA4$F$N0x;R$rI=$9(B. $B$=$NBN$O(B
$B:G>.J,2rBN$H$J$C$F$$$k$N$G(B, $B0x;R$OA4$F(B 1 $B<!$H$J$k$o$1$G$"$k(B. @code{af()}
$B$HF1MM(B, $BA4$F$N0x;R$N@Q$O(B, $B$b$H$NB?9`<0$HDj?tG\$N:9$O$"$jF@$k(B. 


@node $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B,,, $BBe?tE*?t$K4X$9$k1i;;(B
@section $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B

@menu
* newalg::
* defpoly::
* alg::
* algv::
* simpalg::
* algptorat::
* rattoalgp::
* gcda::
* sp_norm::
* asq af::
* sp::
@end menu

@node newalg,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{newalg}
@findex newalg

@table @t
@item newalg(@var{defpoly})
:: @code{root} $B$r@8@.$9$k(B. 
@end table

@table @var
@item return
$BBe?tE*?t(B (@code{root})
@item defpoly
$BB?9`<0(B
@end table

@itemize @bullet
@item
@var{defpoly} $B$rDj5AB?9`<0$H$9$kBe?tE*?t(B (@code{root}) $B$r@8@.$9$k(B. 
@item
@var{defpoly} $B$KBP$9$k@)8B$K4X$7$F$O(B, @xref{$BBe?tE*?t$NI=8=(B}.
@end itemize

@example
[0] A0=newalg(x^2-2);
(#0)
@end example

@table @t
@item $B;2>H(B
@fref{defpoly}
@end table

@node defpoly,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{defpoly}
@findex defpoly

@table @t
@item defpoly(@var{alg})
:: @code{root} $B$NDj5AB?9`<0$rJV$9(B. 
@end table

@table @var
@item return
$BB?9`<0(B
@item alg
$BBe?tE*?t(B (@code{root})
@end table

@itemize @bullet
@item
@code{root} @var{alg} $B$NDj5AB?9`<0$rJV$9(B. 
@item
@code{root} $B$r(B @code{#@var{n}} $B$H$9$l$P(B, $BDj5AB?9`<0$N<gJQ?t$O(B
@code{t#@var{n}} $B$H$J$k(B. 
@end itemize

@example
[1] defpoly(A0);
t#0^2-2
@end example

@table @t
@item $B;2>H(B
@fref{newalg}, @fref{alg}, @fref{algv}
@end table

@node alg,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{alg}
@findex alg

@table @t
@item alg(@var{i})
:: $B%$%s%G%C%/%9$KBP1~$9$k(B @code{root} $B$rJV$9(B. 
@end table

@table @var
@item return
$BBe?tE*?t(B (@code{root})
@item i
$B@0?t(B
@end table

@itemize @bullet
@item
@code{root} @code{#@var{i}} $B$rJV$9(B. 
@item
@code{#@var{i}} $B$O%f!<%6$,D>@\F~NO$G$-$J$$$?$a(B, @code{alg(@var{i})} $B$H(B
$B$$$&7A$GF~NO$9$k(B. 
@end itemize

@example
[2] x+#0;
syntax error
0
[3] alg(0);
(#0)
@end example

@table @t
@item $B;2>H(B
@fref{newalg}, @fref{algv}
@end table

@node algv,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{algv}
@findex algv

@table @t
@item algv(@var{i})
:: @code{alg(@var{i})} $B$KBP1~$9$kITDj85$rJV$9(B. 
@end table

@table @var
@item return
$BB?9`<0(B
@item i
$B@0?t(B
@end table

@itemize @bullet
@item
$BB?9`<0(B @code{t#@var{i}} $B$rJV$9(B. 
@item
@code{t#@var{i}} $B$O%f!<%6$,D>@\F~NO$G$-$J$$$?$a(B, @code{algv(@var{i})} $B$H(B
$B$$$&7A$GF~NO$9$k(B. 
@end itemize

@example
[4] var(defpoly(A0));
t#0
[5] t#0;
syntax error
0
[6] algv(0);
t#0
@end example

@table @t
@item $B;2>H(B
@fref{newalg}, @fref{defpoly}, @fref{alg}
@end table

@node simpalg,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{simpalg}
@findex simpalg

@table @t
@item simpalg(@var{rat})
:: $BM-M}<0$K4^$^$l$kBe?tE*?t$r4JC12=$9$k(B. 
@end table

@table @var
@item return
$BM-M}<0(B
@item rat
$BM-M}<0(B
@end table

@itemize @bullet
@item
@samp{sp} $B$GDj5A$5$l$F$$$k(B. 
@item
$B?t(B, $BB?9`<0(B, $BM-M}<0$K4^$^$l$kBe?tE*?t$r(B, $B4^$^$l$k(B @code{root} $B$NDj5A(B
$BB?9`<0$K$h$j4JC12=$9$k(B. 
@item
$B?t$N>l9g(B, $BJ,Jl$,$"$l$PM-M}2=$5$l(B, $B7k2L$O(B @code{root} $B$NB?9`<0$H$J$k(B. 
@item
$BB?9`<0$N>l9g(B, $B3F78?t$,4JC12=$5$l$k(B. 
@item
$BM-M}<0$N>l9g(B, $BJ,JlJ,;R$,B?9`<0$H$7$F4JC12=$5$l$k(B. 
@end itemize

@example
[7] simpalg((1+A0)/(1-A0));
simpalg undefined
return to toplevel
[7] load("sp")$
[46] simpalg((1+A0)/(1-A0));
(-2*#0-3)
[47] simpalg((2-A0)/(2+A0)*x^2-1/(3+A0));
(-2*#0+3)*x^2+(1/7*#0-3/7)
[48] simpalg((x+1/(A0-1))/(x-1/(A0+1))); 
(x+(#0+1))/(x+(-#0+1))
@end example

@node algptorat,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{algptorat}
@findex algptorat

@table @t
@item algptorat(@var{poly})
:: $BB?9`<0$K4^$^$l$k(B @code{root} $B$r(B, $BBP1~$9$kITDj85$KCV$-49$($k(B. 
@end table

@table @var
@item return
$BB?9`<0(B
@item poly
$BB?9`<0(B
@end table

@itemize @bullet
@item
@samp{sp} $B$GDj5A$5$l$F$$$k(B. 
@item
$BB?9`<0$K4^$^$l$k(B @code{root} @code{#@var{n}} $B$rA4$F(B @code{t#@var{n}} $B$K(B
$BCV$-49$($k(B. 
@end itemize

@example
[49] algptorat((-2*alg(0)+3)*x^2+(1/7*alg(0)-3/7));
(-2*t#0+3)*x^2+1/7*t#0-3/7
@end example

@table @t
@item $B;2>H(B
@fref{defpoly}, @fref{algv}
@end table

@node rattoalgp,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{rattoalgp}
@findex rattoalgp

@table @t
@item rattoalgp(@var{poly},@var{alglist})
:: $BB?9`<0$K4^$^$l$k(B @code{root} $B$KBP1~$9$kITDj85$r(B @code{root} $B$K(B
$BCV$-49$($k(B. 
@end table

@table @var
@item return
$BB?9`<0(B
@item poly
$BB?9`<0(B
@item alglist
$B%j%9%H(B
@end table

@itemize @bullet
@item
@samp{sp} $B$GDj5A$5$l$F$$$k(B. 
@item
$BBh(B 2 $B0z?t$O(B @code{root} $B$N%j%9%H$G$"$k(B. @code{rattoalgp()} $B$O(B, $B$3$N(B @code{root}
$B$KBP1~$9$kITDj85$r(B, $B$=$l$>$l(B @code{root} $B$KCV$-49$($k(B. 
@end itemize

@example
[51] rattoalgp((-2*algv(0)+3)*x^2+(1/7*algv(0)-3/7),[alg(0)]);
(-2*#0+3)*x^2+(1/7*#0-3/7)
@end example

@table @t
@item $B;2>H(B
@fref{alg}, @fref{algv}
@end table

@node gcda,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{gcda}
@findex gcda

@table @t
@item gcda(@var{poly1},@var{poly2},@var{alist})
:: $BBe?tBN>e$N(B 1 $BJQ?tB?9`<0$N(B GCD
@end table

@table @var
@item return
$BB?9`<0(B
@item poly1, poly2
$BB?9`<0(B
@item alist
$B%j%9%H(B
@end table

@itemize @bullet
@item
@samp{sp} $B$GDj5A$5$l$F$$$k(B. 
@item
2 $B$D$N(B 1 $BJQ?tB?9`<0$N(B GCD $B$r5a$a$k(B. 
@item
@var{alist} $B$OF~NO$K8=$l$k(B @code{root} $B$*$h$S(B, $B$=$l$i$NDj5A$K4^$^$l$k(B
@code{root} $B$r:F5"E*$K<h$j=P$7$FJB$Y$?%j%9%H(B. @var{a} $B$,(B @var{b} $B$N(B
$BDj5A$K4^$^$l$F$$$k>l9g(B, @var{a} $B$O(B @var{b} $B$h$j8e(B ($B1&(B) $B$KJB$P$J$1$l$P(B
$B$J$i$J$$(B. 
@end itemize

@example
[76] X=x^6+3*x^5+6*x^4+x^3-3*x^2+12*x+16$
[77] Y=x^6+6*x^5+24*x^4+8*x^3-48*x^2+384*x+1024$
[78] A=newalg(X);
(#0)
[79] gcda(X,subst(Y,x,x+A),[A]);
x+(-#0)
@end example

@table @t
@item $B;2>H(B
@fref{gr hgr gr_mod}, @fref{asq af}
@end table

@node sp_norm,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{sp_norm}
@findex sp_norm

@table @t
@item sp_norm(@var{alg},@var{var},@var{poly},@var{alglist})
:: $BBe?tBN>e$G$N%N%k%`$N7W;;(B
@end table

@table @var
@item return
$BB?9`<0(B
@item var
@var{poly} $B$N<gJQ?t(B
@item poly
1 $BJQ?tB?9`<0(B
@item alg
@code{root}
@item alglist
@code{root} $B$N%j%9%H(B
@end table

@itemize @bullet
@item
@samp{sp} $B$GDj5A$5$l$F$$$k(B. 
@item
@var{poly} $B$N(B, @var{alg} $B$K4X$9$k%N%k%`$r$H$k(B. $B$9$J$o$A(B, 
@b{K} = @b{Q}(@var{alglist} \ @{@var{alg}@}) $B$H$9$k$H$-(B, 
@var{poly} $B$K8=$l$k(B @var{alg} $B$r(B, @var{alg} $B$N(B @b{K} $B>e$N6&Lr$KCV$-49$($?$b$N(B
$BA4$F$N@Q$rJV$9(B. 
@item
$B7k2L$O(B @b{K} $B>e$NB?9`<0$H$J$k(B. 
@item
$B<B:]$K$OF~NO$K$h$j>l9g$o$1$,9T$o$l(B, $B=*7k<0$ND>@\7W;;$dCf9q>jM>DjM}$K(B
$B$h$j7W;;$5$l$k$,(B, $B:GE,$JA*Br$,9T$o$l$F$$$k$H$O8B$i$J$$(B. 
$BBg0hJQ?t(B @code{USE_RES} $B$r(B 1 $B$K@_Dj$9$k$3$H$K$h$j(B, $B>o$K=*7k<0$K$h$j7W;;(B
$B$5$;$k$3$H$,$G$-$k(B. 
@end itemize

@example
[0] load("sp")$
[39] A0=newalg(x^2+1)$                 
[40] A1=newalg(x^2+A0)$
[41] sp_norm(A1,x,x^3+A0*x+A1,[A1,A0]);
x^6+(2*#0)*x^4+(#0^2)*x^2+(#0)
[42] sp_norm(A0,x,@@@@,[A0]);            
x^12+2*x^8+5*x^4+1
@end example

@table @t
@item $B;2>H(B
@fref{res}, @fref{asq af}
@end table

@node asq af,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{asq}, @code{af}
@findex asq
@findex af

@table @t
@item asq(@var{poly})
:: $BBe?tBN>e$N(B 1 $BJQ?tB?9`<0$NL5J?J}J,2r(B
@item af(@var{poly},@var{alglist})
:: $BBe?tBN>e$N(B 1 $BJQ?tB?9`<0$N0x?tJ,2r(B
@end table

@table @var
@item return
$B%j%9%H(B
@item poly
$BB?9`<0(B
@item alglist
@code{root} $B$N%j%9%H(B
@end table

@itemize @bullet
@item
$B$$$:$l$b(B @samp{sp} $B$GDj5A$5$l$F$$$k(B.
@item
@code{root} $B$r4^$^$J$$>l9g$O@0?t>e$NH!?t$,8F$S=P$5$l9bB.$G$"$k$,(B, 
@code{root} $B$r4^$`>l9g$K$O(B, @code{gcda()} $B$,5/F0$5$l$k$?$a$7$P$7$P(B
$B;~4V$,$+$+$k(B. 
@item
@code{af()} $B$O(B, $B4pACBN$N;XDj(B, $B$9$J$o$ABh(B 2 $B0z?t$N(B, @code{root} $B$N%j%9%H(B
$B$N;XDj$,I,MW$G$"$k(B. 
@item
@code{alglist} $B$G;XDj$5$l$k(B @code{root} $B$O(B, $B8e$GDj5A$5$l$?$b$N$[$IA0$N(B
$BJ}$KMh$J$1$l$P$J$i$J$$(B. 
@item
$B7k2L$O(B, $BDL>o$NL5J?J}J,2r(B, $B0x?tJ,2r$HF1MM(B [@b{$B0x;R(B}, @b{$B=EJ#EY(B}] $B$N%j%9%H$G$"$k(B. 
@item
$B=EJ#EY$r9~$a$?0x;R$NA4$F$N@Q$O(B, @var{poly} $B$HDj?tG\$N0c$$$,$"$jF@$k(B. 
@end itemize

@example
[99] asq(-x^4+6*x^3+(2*alg(0)-9)*x^2+(-6*alg(0))*x-2);
[[-x^2+3*x+(#0),2]]
[100] af(-x^2+3*x+alg(0),[alg(0)]);
[[x+(#0-1),1],[-x+(#0+2),1]]
@end example

@table @t
@item $B;2>H(B
@fref{gcda}, @fref{fctr sqfr}
@end table

@node sp,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
@subsection @code{sp}
@findex sp

@table @t
@item sp(@var{poly})
:: $B:G>.J,2rBN$r5a$a$k(B. 
@end table

@table @var
@item return
$B%j%9%H(B
@item poly
$BB?9`<0(B
@end table

@itemize @bullet
@item
@samp{sp} $B$GDj5A$5$l$F$$$k(B.
@item
$BM-M}?t78?t$N(B 1 $BJQ?tB?9`<0(B @var{poly} $B$N:G>.J,2rBN(B, $B$*$h$S$=$NBN>e$G$N(B
@var{poly} $B$N(B 1 $B<!0x;R$X$NJ,2r$r5a$a$k(B. 
@item
$B7k2L$O(B, @var{poly} $B$N0x;R$N%j%9%H$H(B, $B:G>.J,2rBN$N(B, $BC`<!3HBg$K$h$kI=8=(B
$B$+$i$J$k%j%9%H$G$"$k(B. 
@item
$B:G>.J,2rBN$O(B, @code{[root,algptorat(defpoly(root))]} $B$N%j%9%H$H$7$F(B
$BI=8=$5$l$F$$$k(B. $B$9$J$o$A(B, $B5a$a$k:G>.J,2rBN$O(B, $BM-M}?tBN$K(B, $B$3$N(B @code{root}
$B$rA4$FE:2C$7$?BN$H$7$FF@$i$l$k(B. $BE:2C$O(B, $B1&$NJ}$N(B @code{root} $B$+$i=g$K(B
$B9T$o$l$k(B. 
@item
@code{sp()} $B$O(B, $BFbIt$G%N%k%`$N7W;;$N$?$a$K(B @code{sp_norm()} $B$r$7$P$7$P(B
$B5/F0$9$k(B. $B%N%k%`$N7W;;$O(B, $B>u67$K1~$8$F$5$^$6$^$JJ}K!$G9T$o$l$k$,(B, 
$B$=$3$GMQ$$$i$l$kJ}K!$,:GA1$H$O8B$i$:(B, $BC1=c$J=*7k<0$N7W;;$NJ}$,9bB.(B
$B$G$"$k>l9g$b$"$k(B. 
$BBg0hJQ?t(B @code{USE_RES} $B$r(B 1 $B$K@_Dj$9$k$3$H$K$h$j(B, $B>o$K=*7k<0$K$h$j7W;;(B
$B$5$;$k$3$H$,$G$-$k(B. 
@end itemize

@example
[101] L=sp(x^9-54);
[[x+(-#2),-54*x+(#1^6*#2^4),54*x+(#1^6*#2^4+54*#2),54*x+(-#1^8*#2^2),
-54*x+(#1^5*#2^5),54*x+(#1^5*#2^5+#1^8*#2^2),-54*x+(-#1^7*#2^3-54*#1),
54*x+(-#1^7*#2^3),x+(-#1)],[[(#2),t#2^6+t#1^3*t#2^3+t#1^6],[(#1),t#1^9-54]]]
[102] for(I=0,M=1;I<9;I++)M*=L[0][I];
[111] M=simpalg(M);
-1338925209984*x^9+72301961339136
[112] ptozp(M);
-x^9+54
@end example

@table @t
@item $B;2>H(B
@fref{asq af}, @fref{defpoly}, @fref{algptorat}, @fref{sp_norm}.
@end table