Annotation of OpenXM/src/asir-doc/parts/builtin/num.texi, Revision 1.1
1.1 ! noro 1: @node $B?t$N1i;;(B,,, $BAH$_9~$_H!?t(B
! 2: @section $B?t$N1i;;(B
! 3:
! 4: @menu
! 5: * idiv irem::
! 6: * fac::
! 7: * igcd igcdcntl::
! 8: * ilcm::
! 9: * inv::
! 10: * prime lprime::
! 11: * random::
! 12: * mt_save mt_load::
! 13: * nm dn::
! 14: * conj real imag::
! 15: * eval::
! 16: * pari::
! 17: * setprec::
! 18: * setmod::
! 19: * lrandom::
! 20: @end menu
! 21:
! 22: @node idiv irem,,, $B?t$N1i;;(B
! 23: @subsection @code{idiv}, @code{irem}
! 24: @findex idiv
! 25: @findex irem
! 26:
! 27: @table @t
! 28: @item idiv(@var{i1},@var{i2})
! 29: :: $B@0?t=|;;$K$h$k>&(B.
! 30: @item irem(@var{i1},@var{i2})
! 31: :: $B@0?t=|;;$K$h$k>jM>(B.
! 32: @end table
! 33:
! 34: @table @var
! 35: @item return
! 36: $B@0?t(B
! 37: @item i1,i2
! 38: $B@0?t(B
! 39: @end table
! 40:
! 41: @itemize @bullet
! 42: @item
! 43: @var{i1} $B$N(B @var{i2} $B$K$h$k@0?t=|;;$K$h$k>&(B, $B>jM>$r5a$a$k(B.
! 44: @item
! 45: @var{i2} $B$O(B 0 $B$G$"$C$F$O$J$i$J$$(B.
! 46: @item
! 47: $BHo=|?t$,Ii$N>l9g(B, $B@dBPCM$KBP$9$kCM$K%^%$%J%9$r$D$1$?CM$rJV$9(B.
! 48: @item
! 49: @var{i1} @code{%} @var{i2} $B$O(B, $B7k2L$,@5$K@55,2=$5$l$k$3$H$r=|$1$P(B
! 50: @code{irem()} $B$NBe$o$j$KMQ$$$k$3$H$,$G$-$k(B.
! 51: @item
! 52: $BB?9`<0$N>l9g$O(B @code{sdiv}, @code{srem} $B$rMQ$$$k(B.
! 53: @end itemize
! 54:
! 55: @example
! 56: [0] idiv(100,7);
! 57: 14
! 58: [0] idiv(-100,7);
! 59: -14
! 60: [1] irem(100,7);
! 61: 2
! 62: [1] irem(-100,7);
! 63: -2
! 64: @end example
! 65:
! 66: @table @t
! 67: @item $B;2>H(B
! 68: @fref{sdiv sdivm srem sremm sqr sqrm}, @fref{%}.
! 69: @end table
! 70:
! 71: @node fac,,, $B?t$N1i;;(B
! 72: @subsection @code{fac}
! 73: @findex fac
! 74:
! 75: @table @t
! 76: @item fac(@var{i})
! 77: :: @var{i} $B$N3,>h(B.
! 78: @end table
! 79:
! 80: @table @var
! 81: @item return
! 82: $B@0?t(B
! 83: @item i
! 84: $B@0?t(B
! 85: @end table
! 86:
! 87: @itemize @bullet
! 88: @item
! 89: @var{i} $B$N3,>h$r7W;;$9$k(B.
! 90: @item
! 91: @var{i} $B$,Ii$N>l9g$O(B 0 $B$rJV$9(B.
! 92: @end itemize
! 93:
! 94: @example
! 95: [0] fac(50);
! 96: 30414093201713378043612608166064768844377641568960512000000000000
! 97: @end example
! 98:
! 99: @node igcd igcdcntl,,, $B?t$N1i;;(B
! 100: @subsection @code{igcd},@code{igcdcntl}
! 101: @findex igcd
! 102: @findex igcdcntl
! 103:
! 104: @table @t
! 105: @item igcd(@var{i1},@var{i2})
! 106: :: $B@0?t$N(B GCD ($B:GBg8xLs?t(B)
! 107: @item igcdcntl([@var{i}])
! 108: :: $B@0?t(B GCD$B$N%"%k%4%j%:%`A*Br(B
! 109: @end table
! 110:
! 111: @table @var
! 112: @item return
! 113: $B@0?t(B
! 114: @item i1,i2,i
! 115: $B@0?t(B
! 116: @end table
! 117:
! 118: @itemize @bullet
! 119: @item
! 120: @code{igcd} $B$O(B @var{i1} $B$H(B @var{i2} $B$N(B GCD $B$r5a$a$k(B.
! 121: @item
! 122: $B0z?t$,@0?t$G$J$$>l9g$O(B, $B%(%i!<$^$?$OL50UL#$J7k2L$rJV$9(B.
! 123: @item
! 124: $BB?9`<0$N>l9g$O(B, @code{gcd}, @code{gcdz} $B$rMQ$$$k(B.
! 125: @item
! 126: $B@0?t(B GCD $B$K$O$5$^$6$^$JJ}K!$,$"$j(B, @code{igcdcntl} $B$G@_Dj$G$-$k(B.
! 127:
! 128: @table @code
! 129: @item 0
! 130: Euclid $B8_=|K!(B (default)
! 131: @item 1
! 132: binary GCD
! 133: @item 2
! 134: bmod GCD
! 135: @item 3
! 136: accelerated integer GCD
! 137: @end table
! 138: 2, 3 $B$O(B K. Weber, ACM TOMS, Vol.21, No. 1 (1995), pp. 111-122 $B$K$h$k(B.
! 139:
! 140: $B$*$*$`$M(B 3 $B$,9bB.$@$,(B, $BNc30$b$"$k(B.
! 141: @end itemize
! 142:
! 143: @example
! 144: [0] A=lrandom(10^4)$
! 145: [1] B=lrandom(10^4)$
! 146: [2] C=lrandom(10^4)$
! 147: [3] D=A*C$
! 148: [4] E=A*B$
! 149: [5] cputime(1)$
! 150: [6] igcd(D,E)$
! 151: 0.6sec + gc : 1.93sec(2.531sec)
! 152: [7] igcdcntl(1)$
! 153: [8] igcd(D,E)$
! 154: 0.27sec(0.2635sec)
! 155: [9] igcdcntl(2)$
! 156: [10] igcd(D,E)$
! 157: 0.19sec(0.1928sec)
! 158: [11] igcdcntl(3)$
! 159: [12] igcd(D,E)$
! 160: 0.08sec(0.08023sec)
! 161: @end example
! 162:
! 163: @table @t
! 164: @item $B;2>H(B
! 165: @fref{gcd gcdz}.
! 166: @end table
! 167:
! 168: @node ilcm,,, $B?t$N1i;;(B
! 169: @subsection @code{ilcm}
! 170: @findex ilcm
! 171:
! 172: @table @t
! 173: @item ilcm(@var{i1},@var{i2})
! 174: :: $B:G>.8xG\?t$r5a$a$k(B.
! 175: @end table
! 176:
! 177: @table @var
! 178: @item return
! 179: $B@0?t(B
! 180: @item i1,i2
! 181: $B@0?t(B
! 182: @end table
! 183:
! 184: @itemize @bullet
! 185: @item
! 186: $B@0?t(B @var{i1}, @var{i2} $B$N:G>.8xG\?t$r5a$a$k(B.
! 187: @item
! 188: $B0lJ}$,(B 0 $B$N>l9g(B 0 $B$rJV$9(B.
! 189: @item
! 190:
! 191: @end itemize
! 192:
! 193: @table @t
! 194: @item $B;2>H(B
! 195: @fref{igcd igcdcntl}, @fref{mt_save mt_load}.
! 196: @end table
! 197: @node inv,,, $B?t$N1i;;(B
! 198: @subsection @code{inv}
! 199: @findex inv
! 200:
! 201: @table @t
! 202: @item inv(@var{i},@var{m})
! 203: :: @var{m} $B$rK!$H$9$k(B @var{i} $B$N5U?t(B
! 204: @end table
! 205:
! 206: @table @var
! 207: @item return
! 208: $B@0?t(B
! 209: @item i,m
! 210: $B@0?t(B
! 211: @end table
! 212:
! 213: @itemize @bullet
! 214: @item
! 215: @var{ia} @equiv{} 1 mod (@var{m}) $B$J$k@0?t(B @var{a} $B$r5a$a$k(B.
! 216: @item
! 217: @var{i} $B$H(B @var{m} $B$O8_$$$KAG$G$J$1$l$P$J$i$J$$$,(B, @code{inv()} $B$O(B
! 218: $B$=$N%A%'%C%/$O9T$o$J$$(B.
! 219: @end itemize
! 220:
! 221: @example
! 222: [71] igcd(1234,4321);
! 223: 1
! 224: [72] inv(1234,4321);
! 225: 3239
! 226: [73] irem(3239*1234,4321);
! 227: 1
! 228: @end example
! 229:
! 230: @table @t
! 231: @item $B;2>H(B
! 232: @fref{igcd igcdcntl}.
! 233: @end table
! 234:
! 235: @node prime lprime,,, $B?t$N1i;;(B
! 236: @subsection @code{prime}, @code{lprime}
! 237: @findex prime
! 238: @findex lprime
! 239:
! 240: @table @t
! 241: @item prime(@var{index})
! 242: @item lprime(@var{index})
! 243: :: $BAG?t$rJV$9(B
! 244: @end table
! 245:
! 246: @table @var
! 247: @item return
! 248: $B@0?t(B
! 249: @item index
! 250: $B@0?t(B
! 251: @end table
! 252:
! 253: @itemize @bullet
! 254: @item
! 255: @code{prime()}, @code{lprime()} $B$$$:$l$b%7%9%F%`$,FbIt$K;}$D(B
! 256: $BAG?tI=$NMWAG$rJV$9(B. @code{index} $B$O(B 0 $B0J>e$N@0?t$G(B, $BAG?tI=(B
! 257: $B$N%$%s%G%C%/%9$KMQ$$$i$l$k(B. @code{prime()} $B$O(B 16381 $B$^$G(B
! 258: $B$NAG?t$r>.$5$$=g$K(B 1900 $B8D(B, @code{lprime()} $B$O(B, 10 $B?J(B 8 $B7e$G:GBg$N(B
! 259: $BAG?t$+$iBg$-$$=g$K(B 999 $B8DJV$9(B. $B$=$l0J30$N%$%s%G%C%/%9$KBP$7$F$O(B
! 260: 0 $B$rJV$9(B.
! 261: @item
! 262: $B$h$j0lHLE*$JAG?t@8@.H!?t$H$7$F$O(B, @code{pari(nextprime,@var{number})}
! 263: $B$,$"$k(B.
! 264: @end itemize
! 265:
! 266: @example
! 267: [95] prime(0);
! 268: 2
! 269: [96] prime(1228);
! 270: 9973
! 271: [97] lprime(0);
! 272: 99999989
! 273: [98] lprime(999);
! 274: 0
! 275: @end example
! 276:
! 277: @table @t
! 278: @item $B;2>H(B
! 279: @fref{pari}.
! 280: @end table
! 281:
! 282: @node random,,, $B?t$N1i;;(B
! 283: @subsection @code{random}
! 284: @findex random
! 285:
! 286: @table @t
! 287: @item radom([@var{seed}])
! 288: :: $BMp?t$r@8@.$9$k(B.
! 289: @end table
! 290:
! 291: @table @var
! 292: @item seed
! 293: @item return
! 294: $B<+A3?t(B
! 295: @end table
! 296:
! 297: @itemize @bullet
! 298: @item
! 299: $B:GBg(B 2^32-1 $B$NHsIi@0?t$NMp?t$r@8@.$9$k(B.
! 300: @item
! 301: 0 $B$G$J$$0z?t$,$"$k;~(B, $B$=$NCM$r(B seed $B$H$7$F@_Dj$7$F$+$i(B, $BMp?t$r@8@.$9$k(B.
! 302: @item
! 303: default $B$N(B seed $B$O8GDj$N$?$a(B, $B<o$r@_Dj$7$J$1$l$P(B, $B@8@.$5$l$kMp?t$N(B
! 304: $B7ONs$O5/F0Kh$K0lDj$G$"$k(B.
! 305: @item
! 306: $B>>K\bC(B-$B@>B<Bs;N$K$h$k(B Mersenne Twister (http://www.math.keio.ac.jp/matsumoto/mt.html) $B%"%k%4%j%:%`$N(B, $BH`$i<+?H$K$h$k<BAu$rMQ$$$F$$$k(B.
! 307: @item
! 308: $B<~4|$O(B 2^19937-1 $B$HHs>o$KD9$$(B.
! 309: @item
! 310: @code{mt_save} $B$K$h$j(B state $B$r%U%!%$%k$K(B save $B$G$-$k(B. $B$3$l$r(B @code{mt_load}
! 311: $B$GFI$_9~$`$3$H$K$h$j(B, $B0[$k(B Asir $B%;%C%7%g%s4V$G0l$D$NMp?t$N7ONs$rC)$k$3$H$,(B
! 312: $B$G$-$k(B.
! 313: @end itemize
! 314:
! 315: @table @t
! 316: @item $B;2>H(B
! 317: @fref{lrandom}, @fref{mt_save mt_load}.
! 318: @end table
! 319:
! 320: @node lrandom,,, $B?t$N1i;;(B
! 321: @subsection @code{lrandom}
! 322: @findex lrandom
! 323:
! 324: @table @t
! 325: @item lradom(@var{bit})
! 326: :: $BB?G\D9Mp?t$r@8@.$9$k(B.
! 327: @end table
! 328:
! 329: @table @var
! 330: @item bit
! 331: @item return
! 332: $B<+A3?t(B
! 333: @end table
! 334:
! 335: @itemize @bullet
! 336: @item
! 337: $B9b!9(B @var{bit} $B$NHsIi@0?t$NMp?t$r@8@.$9$k(B.
! 338: @item
! 339: @code{random} $B$rJ#?t2s8F$S=P$7$F7k9g$7(B, $B;XDj$N(B bit $BD9$K%^%9%/$7$F$$$k(B.
! 340: @end itemize
! 341:
! 342: @table @t
! 343: @item $B;2>H(B
! 344: @fref{random}, @fref{mt_save mt_load}.
! 345: @end table
! 346:
! 347: @node mt_save mt_load,,, $B?t$N1i;;(B
! 348: @subsection @code{mt_save}, @code{mt_load}
! 349: @findex mt_save
! 350: @findex mt_load
! 351:
! 352: @table @t
! 353: @item mt_save(@var{fname})
! 354: :: $BMp?t@8@.4o$N8=:_$N>uBV$r%U%!%$%k$K%;!<%V$9$k(B.
! 355: @item mt_load(@var{fname})
! 356: :: $B%U%!%$%k$K%;!<%V$5$l$?Mp?t@8@.4o$N>uBV$r%m!<%I$9$k(B.
! 357: @end table
! 358:
! 359: @table @var
! 360: @item return
! 361: 0 $B$^$?$O(B 1
! 362: @item fname
! 363: $BJ8;zNs(B
! 364: @end table
! 365:
! 366: @itemize @bullet
! 367: @item $B$"$k>uBV$r%;!<%V$7(B, $B$=$N>uBV$r%m!<%I$9$k$3$H$G(B,
! 368: $B0l$D$N5?;wMp?t7ONs$r(B, $B?75,$N(B Asir $B%;%C%7%g%s$GB3$1$F$?$I$k$3$H$,(B
! 369: $B$G$-$k(B.
! 370: @end itemize
! 371:
! 372: @example
! 373: [340] random();
! 374: 3510405877
! 375: [341] mt_save("/tmp/mt_state");
! 376: 1
! 377: [342] random();
! 378: 4290933890
! 379: [343] quit;
! 380: % asir
! 381: This is Asir, Version 991108.
! 382: Copyright (C) FUJITSU LABORATORIES LIMITED.
! 383: 3 March 1994. All rights reserved.
! 384: [340] mt_load("/tmp/mt_state");
! 385: 1
! 386: [341] random();
! 387: 4290933890
! 388: @end example
! 389:
! 390: @table @t
! 391: @item $B;2>H(B
! 392: @fref{random}, @fref{lrandom}.
! 393: @end table
! 394:
! 395: @node nm dn,,, $B?t$N1i;;(B
! 396: @subsection @code{nm}, @code{dn}
! 397: @findex nm
! 398: @findex dn
! 399:
! 400: @table @t
! 401: @item nm(@var{rat})
! 402: :: @var{rat} $B$NJ,;R(B.
! 403: @item dn(@var{rat})
! 404: :: @var{rat} $B$NJ,Jl(B.
! 405: @end table
! 406:
! 407: @table @var
! 408: @item return
! 409: $B@0?t$^$?$OB?9`<0(B
! 410: @item rat
! 411: $BM-M}?t$^$?$OM-M}<0(B
! 412: @end table
! 413:
! 414: @itemize @bullet
! 415: @item
! 416: $BM?$($i$l$?M-M}?t$^$?M-M}<0$NJ,;R5Z$SJ,Jl$rJV$9(B.
! 417: @item
! 418: $BM-M}?t$N>l9g(B, $BJ,Jl$O>o$K@5$G(B, $BId9f$OJ,;R$,;}$D(B.
! 419: @item
! 420: $BM-M}<0$N>l9g(B, $BC1$KJ,Jl(B, $BJ,;R$r<h$j=P$9$@$1$G$"$k(B.
! 421: $BM-M}<0$KBP$7$F$O(B, $BLsJ,$O<+F0E*$K$O9T$o$l$J$$(B. @code{red()}
! 422: $B$rL@<(E*$K8F$S=P$9I,MW$,$"$k(B.
! 423: @end itemize
! 424:
! 425: @example
! 426: [2] [nm(-43/8),dn(-43/8)];
! 427: [-43,8]
! 428: [3] dn((x*z)/(x*y));
! 429: y*x
! 430: [3] dn(red((x*z)/(x*y)));
! 431: y
! 432: @end example
! 433:
! 434: @table @t
! 435: @item $B;2>H(B
! 436: @fref{red}.
! 437: @end table
! 438:
! 439: @node conj real imag,,, $B?t$N1i;;(B
! 440: @subsection @code{conj}, @code{real}, @code{imag}
! 441: @findex conj
! 442:
! 443: @table @t
! 444: @item real(@var{comp})
! 445: :: @var{comp} $B$N<B?tItJ,(B.
! 446: @item imag(@var{comp})
! 447: :: @var{comp} $B$N5u?tItJ,(B.
! 448: @item conj(@var{comp})
! 449: :: @var{comp} $B$N6&LrJ#AG?t(B.
! 450: @end table
! 451:
! 452: @table @var
! 453: @item return comp
! 454: $BJ#AG?t(B
! 455: @end table
! 456:
! 457: @itemize @bullet
! 458: @item
! 459: $BJ#AG?t$KBP$7(B, $B<BIt(B, $B5uIt(B, $B6&Lr$r5a$a$k(B.
! 460: @item
! 461: $B$3$l$i$O(B, $BB?9`<0$KBP$7$F$bF/$/(B.
! 462: @end itemize
! 463:
! 464: @example
! 465: [111] A=(2+@@i)^3;
! 466: (2+11*@@i)
! 467: [112] [real(A),imag(A),conj(A)];
! 468: [2,11,(2-11*@@i)]
! 469: @end example
! 470:
! 471: @node eval,,, $B?t$N1i;;(B
! 472: @subsection @code{eval}
! 473: @findex eval
! 474: @cindex PARI
! 475:
! 476: @table @t
! 477: @item eval(@var{obj}[,@var{prec}])
! 478: :: @var{obj} $B$NCM$NI>2A(B.
! 479: @end table
! 480:
! 481: @table @var
! 482: @item return
! 483: $B?t$"$k$$$O<0(B
! 484: @item obj
! 485: $B0lHL$N<0(B
! 486: @item prec
! 487: $B@0?t(B
! 488: @end table
! 489:
! 490: @itemize @bullet
! 491: @item
! 492: @var{obj} $B$K4^$^$l$kH!?t$NCM$r2DG=$J8B$jI>2A$9$k(B.
! 493: @item
! 494: $B7W;;$O(B @b{PARI} (@xref{pari}) $B$,9T$&(B.
! 495: @item
! 496: @var{prec} $B$r;XDj$7$?>l9g(B, $B7W;;$O(B, 10 $B?J(B @var{prec} $B7eDxEY$G9T$o$l$k(B.
! 497: @var{prec} $B$N;XDj$,$J$$>l9g(B, $B8=:_@_Dj$5$l$F$$$k@:EY$G9T$o$l$k(B.
! 498: (@xref{setprec})
! 499: @item
! 500: @table @t
! 501: @item $B07$($kH!?t$O(B, $B<!$NDL$j(B.
! 502: @code{sin}, @code{cos}, @code{tan},
! 503:
! 504: @code{asin}, @code{acos}, @code{atan},
! 505:
! 506: @code{sinh}, @code{cosh}, @code{tanh},
! 507:
! 508: @code{asinh}, @code{acosh}, @code{atanh},
! 509:
! 510: @code{exp}, @code{log}, @code{pow(a,b) (a^b)}
! 511: @end table
! 512: @item
! 513: $B0J2<$N5-9f$r?t$H$7$FI>2A$G$-$k(B.
! 514: @table @t
! 515: @item @@i
! 516: $B5u?tC10L(B
! 517: @item @@pi
! 518: $B1_<~N((B
! 519: @item @@e
! 520: $B<+A3BP?t$NDl(B
! 521: @end table
! 522: @end itemize
! 523:
! 524: @example
! 525: [118] eval(exp(@@pi*@@i));
! 526: -1.0000000000000000000000000000
! 527: [119] eval(2^(1/2));
! 528: 1.414213562373095048763788073031
! 529: [120] eval(sin(@@pi/3));
! 530: 0.86602540378443864674620506632
! 531: [121] eval(sin(@@pi/3)-3^(1/2)/2,50);
! 532: -2.78791084448179148471 E-58
! 533: @end example
! 534:
! 535: @table @t
! 536: @item $B;2>H(B
! 537: @fref{ctrl}, @fref{setprec}, @fref{pari}.
! 538: @end table
! 539:
! 540: @node pari,,, $B?t$N1i;;(B
! 541: @subsection @code{pari}
! 542: @findex pari
! 543: @cindex PARI
! 544:
! 545: @table @t
! 546: @item pari(@var{func},@var{arg},@var{prec})
! 547: :: @b{PARI} $B$NH!?t(B @var{func} $B$r8F$S=P$9(B.
! 548: @end table
! 549:
! 550: @table @var
! 551: @item return
! 552: @var{func} $BKh$K0[$J$k(B.
! 553: @item func
! 554: @b{PARI} $B$NH!?tL>(B
! 555: @item arg
! 556: @var{func} $B$N0z?t(B
! 557: @item prec
! 558: $B@0?t(B
! 559: @end table
! 560:
! 561: @itemize @bullet
! 562: @item
! 563: @b{PARI} $B$NH!?t$r8F$S=P$9(B.
! 564:
! 565: @item
! 566: @b{PARI} @code{[Batut et al.]} $B$O(B Bordeaux $BBg3X$G3+H/$5$l%U(B
! 567: $B%j!<%=%U%H%&%'%"$H$7$F8x3+$5$l$F$$$k(B. @b{PARI} $B$O?t<0=hM}E*$J5!G=$rM-(B
! 568: $B$7$F$O$$$k$,(B, $B<g$J%?!<%2%C%H$O@0?tO@$K4XO"$7$??t(B (@b{bignum},
! 569: @b{bigfloat}) $B$N1i;;$G(B, $B;MB'1i;;$K8B$i$:(B@b{bigfloat} $B$K$h$k$5$^$6$^$J(B
! 570: $BH!?tCM$NI>2A$r9bB.$K9T$&$3$H$,$G$-$k(B. @b{PARI} $B$OB>$N%W%m%0%i%`$+$i(B
! 571: $B%5%V%k!<%A%s%i%$%V%i%j$H$7$FMQ$$$k$3$H$,$G$-(B, $B$^$?(B, @samp{gp} $B$H$$$&(B
! 572: @b{PARI}$B%i%$%V%i%j$N%$%s%?%U%'!<%9$K$h$j(B UNIX $B$N%"%W%j%1!<%7%g%s$H$7$F(B
! 573: $BMxMQ$9$k$3$H$b$G$-$k(B. $B8=:_$N%P!<%8%g%s$O(B @b{1.39} $B$G$$$/$D$+$N(B ftp
! 574: site ($B$?$H$($P(B @code{math.ucla.edu:/pub/pari})
! 575: $B$+$i(B anonymous ftp $B$G$-$k(B.
! 576: @item
! 577: $B:G8e$N0z?t(B @var{prec} $B$G7W;;@:EY$r;XDj$G$-$k(B.
! 578: @var{prec} $B$r>JN,$7$?>l9g(B @code{setprec()} $B$G;XDj$7$?@:EY$H$J$k(B.
! 579: @item
! 580: $B8=;~E@$G<B9T$G$-$k(B @b{PARI} $B$NH!?t$O<!$NDL$j$G$"$k(B. $B$$$:$l$b(B
! 581: 1 $B0z?t$G(B @b{Asir} $B$,BP1~$G$-$k7?$N0z?t$r$H$kH!?t$G$"$k(B.
! 582: $B$J$*3F!9$N5!G=$K$D$$$F$O(B @b{PARI} $B$N%^%K%e%"%k$r;2>H$N$3$H(B.
! 583:
! 584: @code{abs},
! 585: @code{adj},
! 586: @code{arg},
! 587: @code{bigomega},
! 588: @code{binary},
! 589: @code{ceil},
! 590: @code{centerlift},
! 591: @code{cf},
! 592: @code{classno},
! 593: @code{classno2},
! 594: @code{conj},
! 595: @code{content},
! 596: @code{denom},
! 597: @code{det},
! 598: @code{det2},
! 599: @code{detr},
! 600: @code{dilog},
! 601: @code{disc},
! 602: @code{discf},
! 603: @code{divisors},
! 604: @code{eigen},
! 605: @code{eintg1},
! 606: @code{erfc},
! 607: @code{eta},
! 608: @code{floor},
! 609: @code{frac},
! 610: @code{galois},
! 611: @code{galoisconj},
! 612: @code{gamh},
! 613: @code{gamma},
! 614: @code{hclassno},
! 615: @code{hermite},
! 616: @code{hess},
! 617: @code{imag},
! 618: @code{image},
! 619: @code{image2},
! 620: @code{indexrank},
! 621: @code{indsort},
! 622: @code{initalg},
! 623: @code{isfund},
! 624: @code{isprime},
! 625: @code{ispsp},
! 626: @code{isqrt},
! 627: @code{issqfree},
! 628: @code{issquare},
! 629: @code{jacobi},
! 630: @code{jell},
! 631: @code{ker},
! 632: @code{keri},
! 633: @code{kerint},
! 634: @code{kerintg1},
! 635: @code{kerint2},
! 636: @code{kerr},
! 637: @code{length},
! 638: @code{lexsort},
! 639: @code{lift},
! 640: @code{lindep},
! 641: @code{lll},
! 642: @code{lllg1},
! 643: @code{lllgen},
! 644: @code{lllgram},
! 645: @code{lllgramg1},
! 646: @code{lllgramgen},
! 647: @code{lllgramint},
! 648: @code{lllgramkerim},
! 649: @iftex
! 650: @break
! 651: @end iftex
! 652: @code{lllgramkerimgen},
! 653: @code{lllint},
! 654: @code{lllkerim},
! 655: @code{lllkerimgen},
! 656: @code{lllrat},
! 657: @code{lngamma},
! 658: @code{logagm},
! 659: @code{mat},
! 660: @code{matinvr},
! 661: @code{matrixqz2},
! 662: @code{matrixqz3},
! 663: @code{matsize},
! 664: @code{modreverse},
! 665: @code{mu},
! 666: @code{nextprime},
! 667: @code{norm},
! 668: @code{norml2},
! 669: @code{numdiv},
! 670: @code{numer},
! 671: @code{omega},
! 672: @code{order},
! 673: @code{ordred},
! 674: @code{phi},
! 675: @code{pnqn},
! 676: @code{polred},
! 677: @code{polred2},
! 678: @code{primroot},
! 679: @code{psi},
! 680: @code{quadgen},
! 681: @code{quadpoly},
! 682: @code{real},
! 683: @code{recip},
! 684: @code{redcomp},
! 685: @code{redreal},
! 686: @code{regula},
! 687: @code{reorder},
! 688: @code{reverse},
! 689: @code{rhoreal},
! 690: @code{roots},
! 691: @code{rootslong},
! 692: @code{round},
! 693: @code{sigma},
! 694: @code{signat},
! 695: @code{simplify},
! 696: @code{smalldiscf},
! 697: @code{smallfact},
! 698: @code{smallpolred},
! 699: @code{smallpolred2},
! 700: @code{smith},
! 701: @code{smith2},
! 702: @code{sort},
! 703: @code{sqr},
! 704: @code{sqred},
! 705: @code{sqrt},
! 706: @code{supplement},
! 707: @code{trace},
! 708: @code{trans},
! 709: @code{trunc},
! 710: @code{type},
! 711: @code{unit},
! 712: @code{vec},
! 713: @code{wf},
! 714: @code{wf2},
! 715: @code{zeta}
! 716:
! 717: @item
! 718: @b{Asir} $B$GMQ$$$F$$$k$N$O(B @b{PARI} $B$N$[$s$N0lIt$N5!G=$G$"$k$,(B, $B:#8e(B
! 719: $B$h$jB?$/$N5!G=$,MxMQ$G$-$k$h$&2~NI$9$kM=Dj$G$"$k(B.
! 720: @end itemize
! 721:
! 722: @example
! 723: /* $B9TNs$N8GM-%Y%/%H%k$r5a$a$k(B. */
! 724: [0] pari(eigen,newmat(2,2,[[1,1],[1,2]]));
! 725: [ -1.61803398874989484819771921990 0.61803398874989484826 ]
! 726: [ 1 1 ]
! 727: /* 1 $BJQ?tB?9`<0$N:,$r5a$a$k(B. */
! 728: [1] pari(roots,t^2-2);
! 729: [ -1.41421356237309504876 1.41421356237309504876 ]
! 730: @end example
! 731:
! 732: @table @t
! 733: @item $B;2>H(B
! 734: @fref{setprec}.
! 735: @end table
! 736:
! 737: @node setprec,,, $B?t$N1i;;(B
! 738: @subsection @code{setprec}
! 739: @findex setprec
! 740: @cindex PARI
! 741:
! 742: @table @t
! 743: @item setprec([@var{n}])
! 744: :: @b{bigfloat} $B$N7e?t$r(B @var{n} $B7e$K@_Dj$9$k(B.
! 745: @end table
! 746:
! 747: @table @var
! 748: @item return
! 749: $B@0?t(B
! 750: @item n
! 751: $B@0?t(B
! 752: @end table
! 753:
! 754: @itemize @bullet
! 755: @item
! 756: $B0z?t$,$"$k>l9g(B, @b{bigfloat} $B$N7e?t$r(B @var{n} $B7e$K@_Dj$9$k(B.
! 757: $B0z?t$N$"$k$J$7$K$+$+$o$i$:(B, $B0JA0$K@_Dj$5$l$F$$$?CM$rJV$9(B.
! 758: @item
! 759: @b{bigfloat} $B$N7W;;$O(B @b{PARI} (@xref{pari}) $B$K$h$C$F9T$o$l$k(B.
! 760: @item
! 761: @b{bigfloat} $B$G$N7W;;$KBP$7M-8z$G$"$k(B.
! 762: @b{bigfloat} $B$N(B flag $B$r(B on $B$K$9$kJ}K!$O(B, @code{ctrl} $B$r;2>H(B.
! 763: @item
! 764: $B@_Dj$G$-$k7e?t$K>e8B$O$J$$$,(B, $B;XDj$7$?7e?t$K@_Dj$5$l$k$H$O(B
! 765: $B8B$i$J$$(B. $BBg$-$a$NCM$r@_Dj$9$k$N$,0BA4$G$"$k(B.
! 766: @end itemize
! 767:
! 768: @example
! 769: [1] setprec();
! 770: 9
! 771: [2] setprec(100);
! 772: 9
! 773: [3] setprec(100);
! 774: 96
! 775: @end example
! 776:
! 777: @table @t
! 778: @item $B;2>H(B
! 779: @fref{ctrl}, @fref{eval}, @fref{pari}.
! 780: @end table
! 781:
! 782: @node setmod,,, $B?t$N1i;;(B
! 783: @subsection @code{setmod}
! 784: @findex setmod
! 785:
! 786: @table @t
! 787: @item setmod([@var{p}])
! 788: :: $BM-8BBN$r(B GF(@var{p}) $B$K@_Dj$9$k(B.
! 789: @end table
! 790:
! 791: @table @var
! 792: @item return
! 793: $B@0?t(B
! 794: @item n
! 795: 2^27 $BL$K~$NAG?t(B
! 796: @end table
! 797:
! 798: @itemize @bullet
! 799: @item
! 800: $BM-8BBN$r(B GF(@var{p}) $B$K@_Dj$9$k(B. $B@_DjCM$rJV$9(B.
! 801: @item
! 802: $BM-8BBN$N85$N7?$r;}$D?t$O(B, $B$=$l<+?H$O$I$NM-8BBN$KB0$9$k$+$N>pJs$r;}$?$:(B,
! 803: $B8=:_@_Dj$5$l$F$$$kAG?t(B @var{p} $B$K$h$j(B GF(@var{p}) $B>e$G$N1i;;$,E,MQ$5$l$k(B.
! 804: @end itemize
! 805:
! 806: @example
! 807: [0] A=dp_mod(dp_ptod(2*x,[x]),3,[]);
! 808: (2)*<<1>>
! 809: [1] A+A;
! 810: addmi : invalid modulus
! 811: return to toplevel
! 812: [1] setmod(3);
! 813: 3
! 814: [2] A+A;
! 815: (1)*<<1>>
! 816: @end example
! 817:
! 818: @table @t
! 819: @item $B;2>H(B
! 820: @fref{dp_mod dp_rat}, @fref{$B?t$N7?(B}.
! 821: @end table
! 822:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>