version 1.11, 2003/04/19 15:44:57 |
version 1.15, 2019/09/13 09:31:00 |
|
|
@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.10 2003/04/19 10:36:30 noro Exp $ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.14 2016/03/22 07:25:14 noro Exp $ |
\BJP |
\BJP |
@node $B7?(B,,, Top |
@node $B7?(B,,, Top |
@chapter $B7?(B |
@chapter $B7?(B |
Line 207 on the whole value of that vector. |
|
Line 207 on the whole value of that vector. |
|
[1] for (I=0;I<3;I++)A3[I] = newvect(3); |
[1] for (I=0;I<3;I++)A3[I] = newvect(3); |
[2] for (I=0;I<3;I++)for(J=0;J<3;J++)A3[I][J]=newvect(3); |
[2] for (I=0;I<3;I++)for(J=0;J<3;J++)A3[I][J]=newvect(3); |
[3] A3; |
[3] A3; |
[ [ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] [ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
[ [ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
|
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] ] |
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] ] |
[4] A3[0]; |
[4] A3[0]; |
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
Line 365 This is used for basis conversion in finite fields of |
|
Line 366 This is used for basis conversion in finite fields of |
|
\JP $BId9f$J$7(B byte $B$NG[Ns(B |
\JP $BId9f$J$7(B byte $B$NG[Ns(B |
\EG An array of unsigned bytes. |
\EG An array of unsigned bytes. |
|
|
|
\JP @item 26 @b{$BJ,;6I=8=2C72B?9`<0(B} |
|
\EG @item 26 @b{distributed module polynomial} |
|
|
|
@example |
|
2*<<0,1,2,3:1>>-3*<<1,2,3,4:2>> |
|
@end example |
|
|
|
\BJP |
|
$B$3$l$O(B, $BB?9`<04D>e$N<+M32C72$N85$r(B, $B2C72C19`<0$NOB$H$7$FFbItI=8=$7$?$b$N$G$"$k(B. |
|
$B$3$3$G(B, $B2C72C19`<0$H$OC19`<0$H2C72$NI8=`4pDl$N@Q$G$"$k(B. |
|
$B$3$l$K$D$$$F$O(B @xref{$B%0%l%V%J4pDl$N7W;;(B}. |
|
\E |
|
\BEG |
|
This represents an element in a free module over a polynomial ring |
|
as a linear sum of module monomials, where a module monomial is |
|
the product of a monomial in the polynomial ring and a standard base of the free module. |
|
For details @xref{Groebner basis computation}. |
|
\E |
\JP @item -1 @b{VOID $B%*%V%8%'%/%H(B} |
\JP @item -1 @b{VOID $B%*%V%8%'%/%H(B} |
\EG @item -1 @b{VOID object} |
\EG @item -1 @b{VOID object} |
@* |
@* |
Line 450 result shall be computed as a double float number. |
|
Line 469 result shall be computed as a double float number. |
|
@b{bigfloat} |
@b{bigfloat} |
@* |
@* |
\BJP |
\BJP |
@b{bigfloat} $B$O(B, @b{Asir} $B$G$O(B @b{PARI} $B%i%$%V%i%j$K$h$j(B |
@b{bigfloat} $B$O(B, @b{Asir} $B$G$O(B @b{MPFR} $B%i%$%V%i%j$K$h$j(B |
$B<B8=$5$l$F$$$k(B. @b{PARI} $B$K$*$$$F$O(B, @b{bigfloat} $B$O(B, $B2>?tIt(B |
$B<B8=$5$l$F$$$k(B. @b{MPFR} $B$K$*$$$F$O(B, @b{bigfloat} $B$O(B, $B2>?tIt(B |
$B$N$_G$0UB?G\D9$G(B, $B;X?tIt$O(B 1 $B%o!<%I0JFb$N@0?t$K8B$i$l$F$$$k(B. |
$B$N$_G$0UB?G\D9$G(B, $B;X?tIt$O(B 64bit $B@0?t$G$"$k(B. |
@code{ctrl()} $B$G(B @b{bigfloat} $B$rA*Br$9$k$3$H$K$h$j(B, $B0J8e$NIbF0>.?t(B |
@code{ctrl()} $B$G(B @b{bigfloat} $B$rA*Br$9$k$3$H$K$h$j(B, $B0J8e$NIbF0>.?t(B |
$B$NF~NO$O(B @b{bigfloat} $B$H$7$F07$o$l$k(B. $B@:EY$O%G%U%)%k%H$G$O(B |
$B$NF~NO$O(B @b{bigfloat} $B$H$7$F07$o$l$k(B. $B@:EY$O%G%U%)%k%H$G$O(B |
10 $B?J(B 9 $B7eDxEY$G$"$k$,(B, @code{setprec()} $B$K$h$j;XDj2DG=$G$"$k(B. |
10 $B?J(B 9 $B7eDxEY$G$"$k$,(B, @code{setprec()}, @code{setbprec()} $B$K$h$j;XDj2DG=$G$"$k(B. |
\E |
\E |
\BEG |
\BEG |
The @b{bigfloat} numbers of @b{Asir} is realized by @b{PARI} library. |
The @b{bigfloat} numbers of @b{Asir} is realized by @b{MPFR} library. |
A @b{bigfloat} number of @b{PARI} has an arbitrary precision mantissa |
A @b{bigfloat} number of @b{MPFR} has an arbitrary precision mantissa |
part. However, its exponent part admits only an integer with a single |
part. However, its exponent part admits only a 64bit integer. |
word precision. |
|
Floating point operations will be performed all in @b{bigfloat} after |
Floating point operations will be performed all in @b{bigfloat} after |
activating the @b{bigfloat} switch by @code{ctrl()} command. |
activating the @b{bigfloat} switch by @code{ctrl()} command. |
The default precision is about 9 digits, which can be specified by |
The default precision is 53 bits (about 15 digits), which can be specified by |
@code{setprec()} command. |
@code{setbprec()} and @code{setprec()} command. |
\E |
\E |
|
|
@example |
@example |
[0] ctrl("bigfloat",1); |
[0] ctrl("bigfloat",1); |
1 |
1 |
[1] eval(2^(1/2)); |
[1] eval(2^(1/2)); |
1.414213562373095048763788073031 |
1.4142135623731 |
[2] setprec(100); |
[2] setprec(100); |
9 |
15 |
[3] eval(2^(1/2)); |
[3] eval(2^(1/2)); |
1.41421356237309504880168872420969807856967187537694807317654396116148 |
1.41421356237309504880168872420969807856967187537694...764157 |
|
[4] setbprec(100); |
|
332 |
|
[5] 1.41421356237309504880168872421 |
@end example |
@end example |
|
|
\BJP |
\BJP |
@code{eval()} $B$O(B, $B0z?t$K4^$^$l$kH!?tCM$r2DG=$J8B$j?tCM2=$9$kH!?t$G$"$k(B. |
@code{eval()} $B$O(B, $B0z?t$K4^$^$l$kH!?tCM$r2DG=$J8B$j?tCM2=$9$kH!?t$G$"$k(B. |
@code{setprec()} $B$G;XDj$5$l$?7e?t$O(B, $B7k2L$N@:EY$rJ]>Z$9$k$b$N$G$O$J$/(B, |
@code{setbprec()} $B$G;XDj$5$l$?(B2 $B?J7e?t$O(B, $B4]$a%b!<%I$K1~$8$?7k2L$N@:EY$rJ]>Z$9$k(B. @code{setprec()} $B$G;XDj$5$l$k(B10$B?J7e?t$O(B 2 $B?J7e?t$KJQ49$5$l$F@_Dj$5$l$k(B. |
@b{PARI} $BFbIt$GMQ$$$i$l$kI=8=$N%5%$%:$r<($9$3$H$KCm0U$9$Y$-$G$"$k(B. |
|
\E |
\E |
\BEG |
\BEG |
Function @code{eval()} evaluates numerically its argument as far as |
Function @code{eval()} evaluates numerically its argument as far as |
possible. |
possible. |
Notice that the integer given for the argument of @code{setprec()} does |
Notice that the integer given for the argument of @code{setbprec()} |
not guarantee the accuracy of the result, |
guarantees the accuracy of the result according to the current rounding mode. |
but it indicates the representation size of numbers with which internal |
The argument of @code{setbprec()} is converted to the corresonding bit length |
operations of @b{PARI} are performed. |
and set. |
\E |
\E |
(@xref{eval deval}, @ref{pari}.) |
(@xref{eval deval}.) |
|
|
@item 4 |
@item 4 |
\JP @b{$BJ#AG?t(B} |
\JP @b{$BJ#AG?t(B} |
Line 666 GF(@var{p^n}) $B$N>hK!72$N@8@.85$r8GDj$9$k$3$H(B |
|
Line 687 GF(@var{p^n}) $B$N>hK!72$N@8@.85$r8GDj$9$k$3$H(B |
|
\BEG |
\BEG |
A finite field of order @var{p^n}, where @var{p^n} must be less than |
A finite field of order @var{p^n}, where @var{p^n} must be less than |
@var{2^29} and @var{n} must be equal to 1 if @var{p} is greater or |
@var{2^29} and @var{n} must be equal to 1 if @var{p} is greater or |
equal to @var{2^14}@, |
equal to @var{2^14}, |
is set by @code{setmod_ff} |
is set by @code{setmod_ff} |
by specifying its characteristic @var{p} the extension degree |
by specifying its characteristic @var{p} the extension degree |
@var{n}. If @var{p} is less than @var{2^14}, each non-zero element |
@var{n}. If @var{p} is less than @var{2^14}, each non-zero element |
Line 678 This specification is useful for treating both cases i |
|
Line 699 This specification is useful for treating both cases i |
|
program. |
program. |
\E |
\E |
|
|
|
@item 10 |
|
\JP @b{$B0L?t(B @var{p^n} $B$N>.0L?tM-8BBN$NBe?t3HBg$N85(B} |
|
\EG @b{element of a finite field which is an algebraic extension of a small finite field of characteristic @var{p^n}} |
|
|
|
\BJP |
|
$BA09`$N(B, $B0L?t$,(B @var{p^n} $B$N>.0L?tM-8BBN$N(B @var{m} $B<!3HBg$N85$G$"$k(B. |
|
$BI8?t(B @var{p} $B$*$h$S3HBg<!?t(B @var{n}, @var{m} |
|
$B$r(B @code{setmod_ff} $B$K$h$j;XDj$9$k$3$H$K$h$j@_Dj$9$k(B. $B4pACBN>e$N(B @var{m} |
|
$B<!4{LsB?9`<0$,<+F0@8@.$5$l(B, $B$=$NBe?t3HBg$N@8@.85$NDj5AB?9`<0$H$7$FMQ$$$i$l$k(B. |
|
$B@8@.85$O(B @code{@@s} $B$G$"$k(B. |
|
|
|
\E |
|
\BEG |
|
An extension field @var{K} of the small finite field @var{F} of order @var{p^n} |
|
is set by @code{setmod_ff} |
|
by specifying its characteristic @var{p} the extension degree |
|
@var{n} and @var{m}=[@var{K}:@var{F}]. An irreducible polynomial of degree @var{m} |
|
over @var{K} is automatically generated and used as the defining polynomial of |
|
the generator of the extension @var{K/F}. The generator is denoted by @code{@@s}. |
|
\E |
|
|
|
@item 11 |
|
\JP @b{$BJ,;6I=8=$NBe?tE*?t(B} |
|
\EG @b{algebraic number represented by a distributed polynomial} |
|
@* |
|
\JP @xref{$BBe?tE*?t$K4X$9$k1i;;(B}. |
|
\EG @xref{Algebraic numbers}. |
|
|
|
\BJP |
|
|
|
\E |
|
\BEG |
|
\E |
@end table |
@end table |
|
|
\BJP |
\BJP |