| version 1.3, 2000/01/13 08:29:57 |
version 1.8, 2003/04/19 15:44:59 |
|
|
| @comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/num.texi,v 1.2 1999/12/21 02:47:34 noro Exp $ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/num.texi,v 1.7 2002/09/03 01:50:59 noro Exp $ |
| \BJP |
\BJP |
| @node $B?t$N1i;;(B,,, $BAH$_9~$_H!?t(B |
@node $B?t$N1i;;(B,,, $BAH$_9~$_H!?t(B |
| @section $B?t$N1i;;(B |
@section $B?t$N1i;;(B |
|
|
| * mt_save mt_load:: |
* mt_save mt_load:: |
| * nm dn:: |
* nm dn:: |
| * conj real imag:: |
* conj real imag:: |
| * eval:: |
* eval deval:: |
| * pari:: |
* pari:: |
| * setprec:: |
* setprec:: |
| * setmod:: |
* setmod:: |
|
|
| @item return |
@item return |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @item i1,i2 |
@item i1 i2 |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @end table |
@end table |
| Line 159 Returns 0 if the argument @var{i} is negative. |
|
| Line 159 Returns 0 if the argument @var{i} is negative. |
|
| @item return |
@item return |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @item i1,i2,i |
@item i1 i2 i |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @end table |
@end table |
| Line 260 In most cases @code{3} is the fastest, but there are e |
|
| Line 260 In most cases @code{3} is the fastest, but there are e |
|
| @item return |
@item return |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @item i1,i2 |
@item i1 i2 |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @end table |
@end table |
| Line 302 If one of argument is equal to 0, the return 0. |
|
| Line 302 If one of argument is equal to 0, the return 0. |
|
| @item return |
@item return |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @item i,m |
@item i m |
| \JP $B@0?t(B |
\JP $B@0?t(B |
| \EG integer |
\EG integer |
| @end table |
@end table |
|
|
| @findex random |
@findex random |
| |
|
| @table @t |
@table @t |
| @item radom([@var{seed}]) |
@item random([@var{seed}]) |
| \JP :: $BMp?t$r@8@.$9$k(B. |
\JP :: $BMp?t$r@8@.$9$k(B. |
| @end table |
@end table |
| |
|
| Line 482 one can trace a single random number sequence arcoss m |
|
| Line 482 one can trace a single random number sequence arcoss m |
|
| @findex lrandom |
@findex lrandom |
| |
|
| @table @t |
@table @t |
| @item lradom(@var{bit}) |
@item lrandom(@var{bit}) |
| \JP :: $BB?G\D9Mp?t$r@8@.$9$k(B. |
\JP :: $BB?G\D9Mp?t$r@8@.$9$k(B. |
| \EG :: Generates a long random number. |
\EG :: Generates a long random number. |
| @end table |
@end table |
| Line 693 These functions works also for polynomials with comple |
|
| Line 693 These functions works also for polynomials with comple |
|
| [2,11,(2-11*@@i)] |
[2,11,(2-11*@@i)] |
| @end example |
@end example |
| |
|
| \JP @node eval,,, $B?t$N1i;;(B |
\JP @node eval deval ,,, $B?t$N1i;;(B |
| \EG @node eval,,, Numbers |
\EG @node eval deval,,, Numbers |
| @subsection @code{eval} |
@subsection @code{eval}, @code{deval} |
| @findex eval |
@findex eval |
| |
@findex deval |
| @cindex PARI |
@cindex PARI |
| |
|
| @table @t |
@table @t |
| @item eval(@var{obj}[,@var{prec}]) |
@item eval(@var{obj}[,@var{prec}]) |
| |
@item deval(@var{obj}) |
| \JP :: @var{obj} $B$NCM$NI>2A(B. |
\JP :: @var{obj} $B$NCM$NI>2A(B. |
| \EG :: Evaluate @var{obj} numerically. |
\EG :: Evaluate @var{obj} numerically. |
| @end table |
@end table |
| Line 722 These functions works also for polynomials with comple |
|
| Line 724 These functions works also for polynomials with comple |
|
| @item |
@item |
| @var{obj} $B$K4^$^$l$kH!?t$NCM$r2DG=$J8B$jI>2A$9$k(B. |
@var{obj} $B$K4^$^$l$kH!?t$NCM$r2DG=$J8B$jI>2A$9$k(B. |
| @item |
@item |
| $B7W;;$O(B @b{PARI} (@xref{pari}) $B$,9T$&(B. |
@code{deval} $B$OG\@:EYIbF0>.?t$r7k2L$H$7$F(B |
| |
@code{eval} $B$N>l9g(B, $BM-M}?t$O$=$N$^$^;D$k(B. |
| @item |
@item |
| |
@code{eval} $B$K$*$$$F$O(B, $B7W;;$O(B @b{PARI} (@ref{pari}) $B$,9T$&(B. |
| |
@code{deval} $B$K$*$$$F$O(B, $B7W;;$O(B C $B?t3X%i%$%V%i%j$N4X?t$rMQ$$$F9T$&(B. |
| |
@item |
| |
@code{deval} $B$OJ#AG?t$O07$($J$$(B. |
| |
@item |
| |
@code{eval} $B$K$*$$$F$O(B, |
| @var{prec} $B$r;XDj$7$?>l9g(B, $B7W;;$O(B, 10 $B?J(B @var{prec} $B7eDxEY$G9T$o$l$k(B. |
@var{prec} $B$r;XDj$7$?>l9g(B, $B7W;;$O(B, 10 $B?J(B @var{prec} $B7eDxEY$G9T$o$l$k(B. |
| @var{prec} $B$N;XDj$,$J$$>l9g(B, $B8=:_@_Dj$5$l$F$$$k@:EY$G9T$o$l$k(B. |
@var{prec} $B$N;XDj$,$J$$>l9g(B, $B8=:_@_Dj$5$l$F$$$k@:EY$G9T$o$l$k(B. |
| (@xref{setprec}) |
(@xref{setprec}.) |
| @item |
@item |
| @table @t |
@table @t |
| @item $B07$($kH!?t$O(B, $B<!$NDL$j(B. |
@item $B07$($kH!?t$O(B, $B<!$NDL$j(B. |
| Line 741 These functions works also for polynomials with comple |
|
| Line 750 These functions works also for polynomials with comple |
|
| @code{exp}, @code{log}, @code{pow(a,b) (a^b)} |
@code{exp}, @code{log}, @code{pow(a,b) (a^b)} |
| @end table |
@end table |
| @item |
@item |
| $B0J2<$N5-9f$r?t$H$7$FI>2A$G$-$k(B. |
$B0J2<$N5-9f$r?t$H$7$FI>2A$G$-$k(B. $B$?$@$7(B @code{@@i} $B$r07$($k$N$O(B |
| |
@code{eval}, @code{deval} $B$N$_$G$"$k(B. |
| @table @t |
@table @t |
| @item @@i |
@item @@i |
| $B5u?tC10L(B |
$B5u?tC10L(B |
| Line 756 These functions works also for polynomials with comple |
|
| Line 766 These functions works also for polynomials with comple |
|
| Evaluates the value of the functions contained in @var{obj} as far as |
Evaluates the value of the functions contained in @var{obj} as far as |
| possible. |
possible. |
| @item |
@item |
| The computation is done by @b{PARI} (@xref{pari}). |
@code{deval} returns |
| |
double float. Rational numbers remain unchanged in results from @code{eval}. |
| @item |
@item |
| |
In @code{eval} the computation is done |
| |
by @b{PARI}. (@xref{pari}.) In @code{deval} the computation is |
| |
done by the C math library. |
| |
@item |
| |
@code{deval} cannot handle complex numbers. |
| |
@item |
| When @var{prec} is specified, computation will be performed with a |
When @var{prec} is specified, computation will be performed with a |
| precision of about @var{prec}-digits. |
precision of about @var{prec}-digits. |
| If @var{prec} is not specified, computation is performed with the |
If @var{prec} is not specified, computation is performed with the |
| precision set currently. (@xref{setprec}) |
precision set currently. (@xref{setprec}.) |
| @item |
@item |
| Currently available numerical functions are listed below. |
Currently available numerical functions are listed below. |
| Note they are only a small part of whole @b{PARI} functions. |
Note they are only a small part of whole @b{PARI} functions. |
| Line 777 Note they are only a small part of whole @b{PARI} func |
|
| Line 794 Note they are only a small part of whole @b{PARI} func |
|
| @code{exp}, @code{log}, @code{pow(a,b) (a^b)} |
@code{exp}, @code{log}, @code{pow(a,b) (a^b)} |
| @end table |
@end table |
| @item |
@item |
| Symbols for special values are as the followings. |
Symbols for special values are as the followings. Note that |
| |
@code{@@i} cannot be handled by @code{deval}. |
| @table @t |
@table @t |
| @item @@i |
@item @@i |
| unit of imaginary number |
unit of imaginary number |
| Line 799 Napier's number (@t{exp}(1)) |
|
| Line 817 Napier's number (@t{exp}(1)) |
|
| 0.86602540378443864674620506632 |
0.86602540378443864674620506632 |
| [121] eval(sin(@@pi/3)-3^(1/2)/2,50); |
[121] eval(sin(@@pi/3)-3^(1/2)/2,50); |
| -2.78791084448179148471 E-58 |
-2.78791084448179148471 E-58 |
| |
[122] eval(1/2); |
| |
1/2 |
| |
[123] deval(sin(1)^2+cos(1)^2); |
| |
1 |
| @end example |
@end example |
| |
|
| @table @t |
@table @t |
| Line 961 For details of individual functions, refer to the @b{P |
|
| Line 983 For details of individual functions, refer to the @b{P |
|
| @code{lngamma}, |
@code{lngamma}, |
| @code{logagm}, |
@code{logagm}, |
| @code{mat}, |
@code{mat}, |
| @code{matinvr}, |
|
| @code{matrixqz2}, |
@code{matrixqz2}, |
| @code{matrixqz3}, |
@code{matrixqz3}, |
| @code{matsize}, |
@code{matsize}, |
| Line 1076 We will improve @b{Asir} so that it can provide more f |
|
| Line 1097 We will improve @b{Asir} so that it can provide more f |
|
| $B0z?t$,$"$k>l9g(B, @b{bigfloat} $B$N7e?t$r(B @var{n} $B7e$K@_Dj$9$k(B. |
$B0z?t$,$"$k>l9g(B, @b{bigfloat} $B$N7e?t$r(B @var{n} $B7e$K@_Dj$9$k(B. |
| $B0z?t$N$"$k$J$7$K$+$+$o$i$:(B, $B0JA0$K@_Dj$5$l$F$$$?CM$rJV$9(B. |
$B0z?t$N$"$k$J$7$K$+$+$o$i$:(B, $B0JA0$K@_Dj$5$l$F$$$?CM$rJV$9(B. |
| @item |
@item |
| @b{bigfloat} $B$N7W;;$O(B @b{PARI} (@xref{pari}) $B$K$h$C$F9T$o$l$k(B. |
@b{bigfloat} $B$N7W;;$O(B @b{PARI} (@ref{pari}) $B$K$h$C$F9T$o$l$k(B. |
| @item |
@item |
| @b{bigfloat} $B$G$N7W;;$KBP$7M-8z$G$"$k(B. |
@b{bigfloat} $B$G$N7W;;$KBP$7M-8z$G$"$k(B. |
| @b{bigfloat} $B$N(B flag $B$r(B on $B$K$9$kJ}K!$O(B, @code{ctrl} $B$r;2>H(B. |
@b{bigfloat} $B$N(B flag $B$r(B on $B$K$9$kJ}K!$O(B, @code{ctrl} $B$r;2>H(B. |
| Line 1092 The return value is always the previous precision in d |
|
| Line 1113 The return value is always the previous precision in d |
|
| the existence of an argument. |
the existence of an argument. |
| |
|
| @item |
@item |
| @b{Bigfloat} operations are done by @b{PARI}. (@xref{pari}) |
@b{Bigfloat} operations are done by @b{PARI}. (@xref{pari}.) |
| @item |
@item |
| This is effective for computations in @b{bigfloat}. |
This is effective for computations in @b{bigfloat}. |
| Refer to @code{ctrl()} for turning on the `@b{bigfloat} flag.' |
Refer to @code{ctrl()} for turning on the `@b{bigfloat} flag.' |
| Line 1114 Therefore, it is safe to specify a larger value. |
|
| Line 1135 Therefore, it is safe to specify a larger value. |
|
| |
|
| @table @t |
@table @t |
| \JP @item $B;2>H(B |
\JP @item $B;2>H(B |
| @fref{ctrl}, @fref{eval}, @fref{pari}. |
@fref{ctrl}, @fref{eval deval}, @fref{pari}. |
| @end table |
@end table |
| |
|
| \JP @node setmod,,, $B?t$N1i;;(B |
\JP @node setmod,,, $B?t$N1i;;(B |