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

Diff for /OpenXM/src/asir-doc/parts/algnum.texi between version 1.3 and 1.7

version 1.3, 2000/03/10 07:18:40 version 1.7, 2003/04/20 08:01:24
Line 1 
Line 1 
 @comment $OpenXM: OpenXM/src/asir-doc/parts/algnum.texi,v 1.2 1999/12/21 02:47:30 noro Exp $  @comment $OpenXM: OpenXM/src/asir-doc/parts/algnum.texi,v 1.6 2003/04/19 15:44:55 noro Exp $
 \BJP  \BJP
 @node $BBe?tE*?t$K4X$9$k1i;;(B,,, Top  @node $BBe?tE*?t$K4X$9$k1i;;(B,,, Top
 @chapter $BBe?tE*?t$K4X$9$k1i;;(B  @chapter $BBe?tE*?t$K4X$9$k1i;;(B
Line 410  into the @b{root} by @code{rattoalgp()} function.
Line 410  into the @b{root} by @code{rattoalgp()} function.
   
 @example  @example
 [88] rattoalgp(S,[alg(0)]);  [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  (((#0+2)/(#0+2))*t#1^2+((#0^2+2*#0)/(#0+2))*t#1
 +((1)/(#0+2))*t#1+((1)/(#0+2))  +((2*#0^2+4*#0)/(#0+2)))*x+((1)/(#0+2))*t#1+((1)/(#0+2))
 [89] rattoalgp(S,[alg(0),alg(1)]);  [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  (((#0^3+6*#0^2+12*#0+8)*#1^2+(#0^4+6*#0^3+12*#0^2+8*#0)*#1
 +24*#0^2+16*#0)/(#0^3+6*#0^2+12*#0+8))*x+(((#0+2)*#1+#0+2)/(#0^2+4*#0+4))  +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)]);  [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))  (((#0+2)*#1^2+(#0^2+2*#0)*#1+2*#0^2+4*#0)/(#0+2))*x
   +((#1+1)/(#0+2))
 [91] simpalg(@@89);  [91] simpalg(@@89);
 (#1^2+#0*#1+2*#0)*x+((-1/5*#0+2/5)*#1-1/5*#0+2/5)  (#1^2+#0*#1+2*#0)*x+((-1/5*#0+2/5)*#1-1/5*#0+2/5)
 [92] simpalg(@@90);  [92] simpalg(@@90);
Line 499  where the ground field is a multiple extension.
Line 501  where the ground field is a multiple extension.
 (#0)  (#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);  [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)  (#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  [65] P1=75*x^2+(150*B+10*A^7-175*A^4-395*A)*x
 +13*A^8-220*A^5-581*A^2)$  +(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$  [66] P2=x^2+A*x+A^2$
 [67] cr_gcda(P1,P2);  [67] cr_gcda(P1,P2);
 27*x+((#0^6-19*#0^3-65)*#1-#0^7+19*#0^4+38*#0)  27*x+((#0^6-19*#0^3-65)*#1-#0^7+19*#0^4+38*#0)
Line 531  The function to do this factorization is @code{asq()}.
Line 533  The function to do this factorization is @code{asq()}.
 [116] A=newalg(x^2+x+1);  [116] A=newalg(x^2+x+1);
 (#4)  (#4)
 [117] T=simpalg((x+A+1)*(x^2-2*A-3)^2*(x^3-x-A)^2);  [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  x^11+(#4+1)*x^10+(-4*#4-8)*x^9+(-10*#4-4)*x^8+(16*#4+20)*x^7
 +(-29*#4-31)*x^5+(-15*#4+28)*x^4+(38*#4+29)*x^3+(#4-23)*x^2+(-21*#4-7)*x  +(24*#4-6)*x^6+(-29*#4-31)*x^5+(-15*#4+28)*x^4+(38*#4+29)*x^3
 +(3*#4+8)  +(#4-23)*x^2+(-21*#4-7)*x+(3*#4+8)
 [118] asq(T);  [118] asq(T);
 [[x^5+(-2*#4-4)*x^3+(-#4)*x^2+(2*#4+3)*x+(#4-2),2],[x+(#4+1),1]]  [[x^5+(-2*#4-4)*x^3+(-#4)*x^2+(2*#4+3)*x+(#4-2),2],[x+(#4+1),1]]
 @end example  @end example
Line 641  The function is @code{sp()}.
Line 643  The function is @code{sp()}.
   
 @example  @example
 [103] sp(x^5-2);  [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  [[x+(-#1),2*x+(#0^3*#1^3+#0^4*#1^2+2*#1+2*#0),2*x+(-#0^4*#1^2),
 +(-#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],  2*x+(-#0^3*#1^3),x+(-#0)],
 [(#0),t#0^5-2]]]  [[(#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  @end example
   
 @noindent  @noindent
Line 706  may yield a polynomial which differs by a constant.
Line 708  may yield a polynomial which differs by a constant.
 * rattoalgp::  * rattoalgp::
 * cr_gcda::  * cr_gcda::
 * sp_norm::  * sp_norm::
 * asq af::  * asq af af_noalg::
 * sp::  * sp sp_noalg::
 @end menu  @end menu
   
 \JP @node newalg,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B  \JP @node newalg,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
Line 1083  substitutes a @b{root} for the associated indeterminat
Line 1085  substitutes a @b{root} for the associated indeterminat
 @item return  @item return
 \JP $BB?9`<0(B  \JP $BB?9`<0(B
 \EG polynomial  \EG polynomial
 @item poly1, poly2  @item poly1  poly2
 \JP $BB?9`<0(B  \JP $BB?9`<0(B
 \EG polynomial  \EG polynomial
 @end table  @end table
Line 1109  x+(-#0)
Line 1111  x+(-#0)
 @table @t  @table @t
 \JP @item $B;2>H(B  \JP @item $B;2>H(B
 \EG @item Reference  \EG @item Reference
 @fref{gr hgr gr_mod}, @fref{asq af}  @fref{gr hgr gr_mod}, @fref{asq af af_noalg}
 @end table  @end table
   
 \JP @node sp_norm,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B  \JP @node sp_norm,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
Line 1192  x^12+2*x^8+5*x^4+1
Line 1194  x^12+2*x^8+5*x^4+1
 @table @t  @table @t
 \JP @item $B;2>H(B  \JP @item $B;2>H(B
 \EG @item Reference  \EG @item Reference
 @fref{res}, @fref{asq af}  @fref{res}, @fref{asq af af_noalg}
 @end table  @end table
   
 \JP @node asq af,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B  \JP @node asq af af_noalg,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
 \EG @node asq af,,, Summary of functions for algebraic numbers  \EG @node asq af af_noalg,,, Summary of functions for algebraic numbers
 @subsection @code{asq}, @code{af}  @subsection @code{asq}, @code{af}, @code{af_noalg}
 @findex asq  @findex asq
 @findex af  @findex af
   @findex af_noalg
   
 @table @t  @table @t
 @item asq(@var{poly})  @item asq(@var{poly})
Line 1209  x^12+2*x^8+5*x^4+1
Line 1212  x^12+2*x^8+5*x^4+1
 algebraic number field.  algebraic number field.
 \E  \E
 @item af(@var{poly},@var{alglist})  @item af(@var{poly},@var{alglist})
   @itemx af_noalg(@var{poly},@var{defpolylist})
 \JP :: $BBe?tBN>e$N(B 1 $BJQ?tB?9`<0$N0x?tJ,2r(B  \JP :: $BBe?tBN>e$N(B 1 $BJQ?tB?9`<0$N0x?tJ,2r(B
 \BEG  \BEG
 :: Factorization of polynomial @var{poly} over an  :: Factorization of polynomial @var{poly} over an
Line 1226  algebraic number field.
Line 1230  algebraic number field.
 @item alglist  @item alglist
 \JP @code{root} $B$N%j%9%H(B  \JP @code{root} $B$N%j%9%H(B
 \EG @code{root} list  \EG @code{root} list
   @item defpolylist
   \JP @code{root} $B$rI=$9ITDj85$HDj5AB?9`<0$N%Z%"$N%j%9%H(B
   \EG @code{root} list of pairs of an indeterminate and a polynomial
 @end table  @end table
   
 @itemize @bullet  @itemize @bullet
Line 1263  In the second argument @code{alglist}, @b{root} define
Line 1270  In the second argument @code{alglist}, @b{root} define
 first.  first.
 \E  \E
 @item  @item
 \JP $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.  \BJP
   @code{af(F,AL)} $B$K$*$$$F(B, @code{AL} $B$OBe?tE*?t$N%j%9%H$G$"$j(B, $BM-M}?tBN$N(B
   $BBe?t3HBg$rI=$9(B. @code{AL=[An,...,A1]} $B$H=q$/$H$-(B, $B3F(B @code{Ak} $B$O(B, $B$=$l$h$j(B
   $B1&$K$"$kBe?tE*?t$r78?t$H$7$?(B, $B%b%K%C%/$JDj5AB?9`<0$GDj5A$5$l$F$$$J$1$l$P(B
   $B$J$i$J$$(B.
   \E
 \BEG  \BEG
   In @code{af(F,AL)}, @code{AL} denotes a list of @code{roots} and it
   represents an algebraic number field. In @code{AL=[An,...,A1]} each
   @code{Ak} should be defined as a root of a defining polynomial
   whose coefficients are in @code{Q(A(k+1),...,An)}.
   \E
   
   @example
   [1] A1 = newalg(x^2+1);
   [2] A2 = newalg(x^2+A1);
   [3] A3 = newalg(x^2+A2*x+A1);
   [4] af(x^2+A2*x+A1,[A2,A1]);
   [[x^2+(#1)*x+(#0),1]]
   @end example
   
   \BJP
   @code{af_noalg} $B$G$O(B, @var{poly} $B$K4^$^$l$kBe?tE*?t(B @var{ai} $B$rITDj85(B @var{vi}
   $B$GCV$-49$($k(B. @code{defpolylist} $B$O(B, [[vn,dn(vn,...,v1)],...,[v1,d(v1)]]
   $B$J$k%j%9%H$G$"$k(B. $B$3$3$G(B @var{di}(vi,...,v1) $B$O(B @var{ai} $B$NDj5AB?9`<0$K$*$$$F(B
   $BBe?tE*?t$rA4$F(B @var{vj} $B$KCV$-49$($?$b$N$G$"$k(B.
   \E
   \BEG
   To call @code{sp_noalg}, one should replace each algebraic number
   @var{ai} in @var{poly} with an indeterminate @var{vi}. @code{defpolylist}
   is a list [[vn,dn(vn,...,v1)],...,[v1,d(v1)]]. In this expression
   @var{di}(vi,...,v1) is a defining polynomial of @var{ai} represented
   as a multivariate polynomial.
   \E
   
   @example
   [1] af_noalg(x^2+a2*x+a1,[[a2,a2^2+a1],[a1,a1^2+1]]);
   [[x^2+a2*x+a1,1]]
   @end example
   
   @item
   \BJP
   $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. @code{af_noalg} $B$N>l9g(B, @b{$B0x;R(B} $B$K8=$l$kBe?tE*?t$O(B,
   @var{defpolylist} $B$K=>$C$FITDj85$KCV$-49$($i$l$k(B.
   \E
   \BEG
 The result is a list, as a result of usual factorization, whose elements  The result is a list, as a result of usual factorization, whose elements
 is of the form [@b{factor}, @b{multiplicity}].  is of the form [@b{factor}, @b{multiplicity}].
   In the result of @code{af_noalg}, algebraic numbers in @v{factor} are
   replaced by the indeterminates according to @var{defpolylist}.
 \E  \E
 @item  @item
 \JP $B=EJ#EY$r9~$a$?0x;R$NA4$F$N@Q$O(B, @var{poly} $B$HDj?tG\$N0c$$$,$"$jF@$k(B.  \JP $B=EJ#EY$r9~$a$?0x;R$NA4$F$N@Q$O(B, @var{poly} $B$HDj?tG\$N0c$$$,$"$jF@$k(B.
Line 1277  the input polynomial by a constant.
Line 1331  the input polynomial by a constant.
 @end itemize  @end itemize
   
 @example  @example
   [98] A = newalg(t^2-2);
   (#0)
 [99] asq(-x^4+6*x^3+(2*alg(0)-9)*x^2+(-6*alg(0))*x-2);  [99] asq(-x^4+6*x^3+(2*alg(0)-9)*x^2+(-6*alg(0))*x-2);
 [[-x^2+3*x+(#0),2]]  [[-x^2+3*x+(#0),2]]
 [100] af(-x^2+3*x+alg(0),[alg(0)]);  [100] af(-x^2+3*x+alg(0),[alg(0)]);
 [[x+(#0-1),1],[-x+(#0+2),1]]  [[x+(#0-1),1],[-x+(#0+2),1]]
   [101] af_noalg(-x^2+3*x+a,[[a,x^2-2]]);
   [[x+a-1,1],[-x+a+2,1]]
 @end example  @end example
   
 @table @t  @table @t
Line 1289  the input polynomial by a constant.
Line 1347  the input polynomial by a constant.
 @fref{cr_gcda}, @fref{fctr sqfr}  @fref{cr_gcda}, @fref{fctr sqfr}
 @end table  @end table
   
 \JP @node sp,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B  \JP @node sp sp_noalg,,, $BBe?tE*?t$K4X$9$kH!?t$N$^$H$a(B
 \EG @node sp,,, Summary of functions for algebraic numbers  \EG @node sp sp_noalg,,, Summary of functions for algebraic numbers
 @subsection @code{sp}  @subsection @code{sp}, @code{sp_noalg}
 @findex sp  @findex sp
   
 @table @t  @table @t
 @item sp(@var{poly})  @item sp(@var{poly})
   @itemx sp_noalg(@var{poly})
 \JP :: $B:G>.J,2rBN$r5a$a$k(B.  \JP :: $B:G>.J,2rBN$r5a$a$k(B.
 \EG :: Finds the splitting field of polynomial @var{poly} and splits.  \EG :: Finds the splitting field of polynomial @var{poly} and splits.
 @end table  @end table
Line 1326  over the field.
Line 1385  over the field.
 @item  @item
 \BJP  \BJP
 $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  $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.  $B$+$i$J$k%j%9%H$G$"$k(B. @code{sp_noalg} $B$G$O(B, $BA4$F$NBe?tE*?t$,(B, $BBP1~$9$k(B
   $BITDj85(B ($BB($A(B @code{#i} $B$KBP$9$k(B @code{t#i}) $B$KCV$-49$($i$l$k(B. $B$3$l$K(B
   $B$h$j(B, @code{sp_noalg} $B$N=PNO$O(B, $B@0?t78?tB?JQ?tB?9`<0$N%j%9%H$H$J$k(B.
 \E  \E
 \BEG  \BEG
 The result consists of a two element list: The first element is  The result consists of a two element list: The first element is
 the list of all linear factors of @var{poly}; the second element is  the list of all linear factors of @var{poly}; the second element is
 a list which represents the successive extension of the field.  a list which represents the successive extension of the field.
   In the result of @code{sp_noalg} all the algebraic numbers are replaced
   by the special indeterminate associated with it, that is @code{t#i}
   for @code{#i}. By this operation the result of @code{sp_noalg}
   is a list containing only integral polynomials.
 \E  \E
 @item  @item
 \BJP  \BJP
Line 1342  a list which represents the successive extension of th
Line 1407  a list which represents the successive extension of th
 \E  \E
 \BEG  \BEG
 The splitting field is represented as a list of pairs of form  The splitting field is represented as a list of pairs of form
 @code{[root,algptorat(defpoly(root))]}.  @code{[root,} @code{algptorat(defpoly(root))]}.
 In more detail, the list is interpreted as a representation  In more detail, the list is interpreted as a representation
 of successive extension obtained by adjoining @b{root}'s  of successive extension obtained by adjoining @b{root}'s
 to the rational number field.  Adjoining is performed from the right  to the rational number field.  Adjoining is performed from the right
Line 1369  the builtin function @code{res()} is always used.
Line 1434  the builtin function @code{res()} is always used.
   
 @example  @example
 [101] L=sp(x^9-54);  [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),  [[x+(-#2),-54*x+(#1^6*#2^4),54*x+(#1^6*#2^4+54*#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^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),x+(-#1)],[[(#2),t#2^6+t#1^3*t#2^3+t#1^6],[(#1),t#1^9-54]]]  -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];  [102] for(I=0,M=1;I<9;I++)M*=L[0][I];
 [111] M=simpalg(M);  [111] M=simpalg(M);
 -1338925209984*x^9+72301961339136  -1338925209984*x^9+72301961339136
Line 1382  the builtin function @code{res()} is always used.
Line 1448  the builtin function @code{res()} is always used.
 @table @t  @table @t
 \JP @item $B;2>H(B  \JP @item $B;2>H(B
 \EG @item Reference  \EG @item Reference
 @fref{asq af}, @fref{defpoly}, @fref{algptorat}, @fref{sp_norm}.  @fref{asq af af_noalg}, @fref{defpoly}, @fref{algptorat}, @fref{sp_norm}.
 @end table  @end table
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>