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

Diff for /OpenXM/src/asir-doc/parts/builtin/array.texi between version 1.7 and 1.11

version 1.7, 2003/04/20 08:01:28 version 1.11, 2009/03/24 08:00:50
Line 1 
Line 1 
 @comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/array.texi,v 1.6 2003/04/19 15:44:58 noro Exp $  @comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/array.texi,v 1.10 2005/02/10 04:59:21 noro Exp $
 \BJP  \BJP
 @node $BG[Ns(B,,, $BAH$_9~$_H!?t(B  @node $BG[Ns(B,,, $BAH$_9~$_H!?t(B
 @section $BG[Ns(B  @section $BG[Ns(B
Line 9 
Line 9 
 \E  \E
   
 @menu  @menu
 * newvect::  * newvect vector vect::
 * newbytearray::  * ltov::
 * vtol::  * vtol::
 * newmat::  * newbytearray::
   * newmat matrix::
 * size::  * size::
 * det invmat::  * det nd_det invmat::
   
 * qsort::  * qsort::
 @end menu  @end menu
   
 \JP @node newvect,,, $BG[Ns(B  \JP @node newvect vector vect,,, $BG[Ns(B
 \EG @node newvect,,, Arrays  \EG @node newvect vector vect,,, Arrays
 @subsection @code{newvect}  @subsection @code{newvect}, @code{vector}, @code{vect}
 @findex newvect  @findex newvect
   @findex vector
   @findex vect
   
 @table @t  @table @t
 @item newvect(@var{len}[,@var{list}])  @item newvect(@var{len}[,@var{list}])
   @item vector(@var{len}[,@var{list}])
 \JP :: $BD9$5(B @var{len} $B$N%Y%/%H%k$r@8@.$9$k(B.  \JP :: $BD9$5(B @var{len} $B$N%Y%/%H%k$r@8@.$9$k(B.
 \EG :: Creates a new vector object with its length @var{len}.  \EG :: Creates a new vector object with its length @var{len}.
   @item vect([@var{elements}])
   \JP :: @var{elements} $B$rMWAG$H$9$k%Y%/%H%k$r@8@.$9$k(B.
   \EG :: Creates a new vector object by @var{elements}.
 @end table  @end table
   
 @table @var  @table @var
Line 39 
Line 47 
 @item list  @item list
 \JP $B%j%9%H(B  \JP $B%j%9%H(B
 \EG list  \EG list
   @item elements
   \JP $BMWAG$NJB$S(B
   \EG elements of the vector
 @end table  @end table
   
 @itemize @bullet  @itemize @bullet
 \BJP  \BJP
 @item  @item
 $BD9$5(B @var{len} $B$N%Y%/%H%k$r@8@.$9$k(B. $BBh(B 2 $B0z?t$,$J$$>l9g(B,  @code{vect} $B$OMWAG$NJB$S$+$i%Y%/%H%k$r@8@.$9$k(B.
   @item
   @code{vector} $B$O(B @code{newvect} $B$NJLL>$G$"$k(B.
   @item
   @code{newvect} $B$OD9$5(B @var{len} $B$N%Y%/%H%k$r@8@.$9$k(B. $BBh(B 2 $B0z?t$,$J$$>l9g(B,
 $B3F@.J,$O(B 0 $B$K=i4|2=$5$l$k(B. $BBh(B 2 $B0z?t$,$"$k>l9g(B,  $B3F@.J,$O(B 0 $B$K=i4|2=$5$l$k(B. $BBh(B 2 $B0z?t$,$"$k>l9g(B,
 $B%$%s%G%C%/%9$N>.$5$$@.J,$+$i(B, $B%j%9%H$N(B  $B%$%s%G%C%/%9$N>.$5$$@.J,$+$i(B, $B%j%9%H$N(B
 $B3FMWAG$K$h$j=i4|2=$5$l$k(B. $B3FMWAG$O(B, $B@hF,$+$i=g$K(B  $B3FMWAG$K$h$j=i4|2=$5$l$k(B. $B3FMWAG$O(B, $B@hF,$+$i=g$K(B
Line 70 
Line 85 
 $B$r=q$-49$($k$3$H$,$G$-$k(B.  $B$r=q$-49$($k$3$H$,$G$-$k(B.
 \E  \E
 \BEG  \BEG
   @item
   @code{vect} creates a new vector object by its elements.
   @item
   @code{vector} is an alias of @code{newvect}.
 @item  @item
 Creates a new vector object with its length @var{len} and its elements  @code{newvect} creates a new vector object with its length @var{len} and its elements
 all cleared to value 0.  all cleared to value 0.
 If the second argument, a list, is given, the vector is initialized by  If the second argument, a list, is given, the vector is initialized by
 the list elements.  the list elements.
Line 135  separated simply by a `blank space', while those of a 
Line 154  separated simply by a `blank space', while those of a 
 [5,6]  [5,6]
 [4] size(A);  [4] size(A);
 [5]  [5]
 [5] def afo(V) @{ V[0] = x; @}  [5] length(A);
 [6] afo(A)$  5
 [7] A;  [6] vect(1,2,3,4,[5,6]);
   [ 1 2 3 4 [5,6] ]
   [7] def afo(V) @{ V[0] = x; @}
   [8] afo(A)$
   [9] A;
 [ x 2 3 4 [5,6] ]  [ x 2 3 4 [5,6] ]
 @end example  @end example
   
 @table @t  @table @t
 \JP @item $B;2>H(B  \JP @item $B;2>H(B
 \EG @item References  \EG @item References
 @fref{newmat}, @fref{size}, @fref{vtol}.  @fref{newmat}, @fref{size}, @fref{ltov}, @fref{vtol}.
 @end table  @end table
   
   \JP @node ltov,,, $BG[Ns(B
   \EG @node ltov,,, Arrays
   @subsection @code{ltov}
   @findex ltov
   
   @table @t
   @item ltov(@var{list})
   \JP :: $B%j%9%H$r%Y%/%H%k$KJQ49$9$k(B.
   \EG :: Converts a list into a vector.
   @end table
   
   @table @var
   @item return
   \JP $B%Y%/%H%k(B
   \EG vector
   @item list
   \JP $B%j%9%H(B
   \EG list
   @end table
   
   @itemize @bullet
   \BJP
   @item
   $B%j%9%H(B @var{list} $B$rF1$8D9$5$N%Y%/%H%k$KJQ49$9$k(B.
   @item
   $B$3$N4X?t$O(B @code{newvect(length(@var{list}), @var{list})} $B$KEy$7$$(B.
   \E
   \BEG
   @item
   Converts a list @var{list} into a vector of same length.
   See also @code{newvect()}.
   \E
   @end itemize
   
   @example
   [3] A=[1,2,3];
   [4] ltov(A);
   [ 1 2 3 ]
   @end example
   
   @table @t
   \JP @item $B;2>H(B
   \EG @item References
   @fref{newvect}, @fref{vtol}.
   @end table
   
 \JP @node vtol,,, $BG[Ns(B  \JP @node vtol,,, $BG[Ns(B
 \EG @node vtol,,, Arrays  \EG @node vtol,,, Arrays
 @subsection @code{vtol}  @subsection @code{vtol}
Line 194  A conversion from a list to a vector is done by @code{
Line 263  A conversion from a list to a vector is done by @code{
 @table @t  @table @t
 \JP @item $B;2>H(B  \JP @item $B;2>H(B
 \EG @item References  \EG @item References
 @fref{newvect}.  @fref{newvect}, @fref{ltov}.
 @end table  @end table
   
 \JP @node newbytearray,,, $BG[Ns(B  \JP @node newbytearray,,, $BG[Ns(B
Line 253  similar to that of @code{newvect}.
Line 322  similar to that of @code{newvect}.
 @fref{newvect}.  @fref{newvect}.
 @end table  @end table
   
 \JP @node newmat,,, $BG[Ns(B  \JP @node newmat matrix,,, $BG[Ns(B
 \EG @node newmat,,, Arrays  \EG @node newmat matrix,,, Arrays
 @subsection @code{newmat}  @subsection @code{newmat}, @code{matrix}
 @findex newmat  @findex newmat
   @findex matrix
   
 @table @t  @table @t
 @item newmat(@var{row},@var{col} [,[[@var{a},@var{b},...],[@var{c},@var{d},...],...]])  @item newmat(@var{row},@var{col} [,[[@var{a},@var{b},...],[@var{c},@var{d},...],...]])
   @item matrix(@var{row},@var{col} [,[[@var{a},@var{b},...],[@var{c},@var{d},...],...]])
 \JP :: @var{row} $B9T(B @var{col} $BNs$N9TNs$r@8@.$9$k(B.  \JP :: @var{row} $B9T(B @var{col} $BNs$N9TNs$r@8@.$9$k(B.
 \EG :: Creates a new matrix with @var{row} rows and @var{col} columns.  \EG :: Creates a new matrix with @var{row} rows and @var{col} columns.
 @end table  @end table
Line 279  similar to that of @code{newvect}.
Line 350  similar to that of @code{newvect}.
 @itemize @bullet  @itemize @bullet
 \BJP  \BJP
 @item  @item
   @code{matrix} $B$O(B @code{newmat} $B$NJLL>$G$"$k(B.
   @item
 @var{row} $B9T(B @var{col} $BNs$N9TNs$r@8@.$9$k(B. $BBh(B 3 $B0z?t$,$J$$>l9g(B,  @var{row} $B9T(B @var{col} $BNs$N9TNs$r@8@.$9$k(B. $BBh(B 3 $B0z?t$,$J$$>l9g(B,
 $B3F@.J,$O(B 0 $B$K=i4|2=$5$l$k(B. $BBh(B 3 $B0z?t$,$"$k>l9g(B,  $B3F@.J,$O(B 0 $B$K=i4|2=$5$l$k(B. $BBh(B 3 $B0z?t$,$"$k>l9g(B,
 $B%$%s%G%C%/%9$N>.$5$$@.J,$+$i(B, $B3F9T$,(B, $B%j%9%H$N(B  $B%$%s%G%C%/%9$N>.$5$$@.J,$+$i(B, $B3F9T$,(B, $B%j%9%H$N(B
Line 295  similar to that of @code{newvect}.
Line 368  similar to that of @code{newvect}.
 $B$r=q$-49$($k$3$H$,$G$-$k(B.  $B$r=q$-49$($k$3$H$,$G$-$k(B.
 \E  \E
 \BEG  \BEG
   @item
   @code{matrix} is an alias of @code{newmat}.
 @item  @item
 If the third argument, a list, is given, the newly created matrix  If the third argument, a list, is given, the newly created matrix
 is initialized so that each element of the list (again a list)  is initialized so that each element of the list (again a list)
Line 337  return to toplevel
Line 412  return to toplevel
 @table @t  @table @t
 \JP @item $B;2>H(B  \JP @item $B;2>H(B
 \EG @item References  \EG @item References
 @fref{newvect}, @fref{size}, @fref{det invmat}.  @fref{newvect}, @fref{size}, @fref{det nd_det invmat}.
 @end table  @end table
   
 \JP @node size,,, $BG[Ns(B  \JP @node size,,, $BG[Ns(B
Line 371  or a list containing row size and column size of the g
Line 446  or a list containing row size and column size of the g
 @itemize @bullet  @itemize @bullet
 \BJP  \BJP
 @item  @item
 @var{vect} $BKt$O(B, @var{mat} $B$N%5%$%:$r%j%9%H$G=PNO$9$k(B.  @var{vect} $B$ND9$5(B, $B$^$?$O(B @var{mat} $B$NBg$-$5$r%j%9%H$G=PNO$9$k(B.
 @item  @item
 @var{list} $B$N%5%$%:$O(B @code{length()}$B$r(B, $BM-M}<0$K8=$l$kC19`<0$N?t$O(B @code{nmono()} $B$rMQ$$$k(B.  @var{vect} $B$ND9$5$O(B @code{length()} $B$G5a$a$k$3$H$b$G$-$k(B.
   @item
   @var{list} $B$ND9$5$O(B @code{length()}$B$r(B, $BM-M}<0$K8=$l$kC19`<0$N?t$O(B @code{nmono()} $B$rMQ$$$k(B.
 \E  \E
 \BEG  \BEG
 @item  @item
Line 392  in a rational expression.
Line 469  in a rational expression.
 [ 0 0 0 0 ]  [ 0 0 0 0 ]
 [1] size(A);  [1] size(A);
 [4]  [4]
 [2] B = newmat(2,3,[[1,2,3],[4,5,6]]);  [2] length(A);
   4
   [3] B = newmat(2,3,[[1,2,3],[4,5,6]]);
 [ 1 2 3 ]  [ 1 2 3 ]
 [ 4 5 6 ]  [ 4 5 6 ]
 [3] size(B);  [4] size(B);
 [2,3]  [2,3]
 @end example  @end example
   
Line 405  in a rational expression.
Line 484  in a rational expression.
 @fref{car cdr cons append reverse length}, @fref{nmono}.  @fref{car cdr cons append reverse length}, @fref{nmono}.
 @end table  @end table
   
 \JP @node det invmat,,, $BG[Ns(B  \JP @node det nd_det invmat,,, $BG[Ns(B
 \EG @node det invmat,,, Arrays  \EG @node det nd_det invmat,,, Arrays
 @subsection @code{det},@code{invmat}  @subsection @code{det}, @code{nd_det}, @code{invmat}
 @findex det  @findex det
   @findex nd_det
 @findex invmat  @findex invmat
   
 @table @t  @table @t
 @item det(@var{mat}[,@var{mod}])  @item det(@var{mat}[,@var{mod}])
   @itemx nd_det(@var{mat}[,@var{mod}])
 \JP :: @var{mat} $B$N9TNs<0$r5a$a$k(B.  \JP :: @var{mat} $B$N9TNs<0$r5a$a$k(B.
 \EG :: Determinant of @var{mat}.  \EG :: Determinant of @var{mat}.
 @item invmat(@var{mat})  @item invmat(@var{mat})
 \JP :: @var{mat} $B$N9TNs<0$r5a$a$k(B.  \JP :: @var{mat} $B$N5U9TNs$r5a$a$k(B.
 \EG :: Inverse matrix of @var{mat}.  \EG :: Inverse matrix of @var{mat}.
 @end table  @end table
   
Line 435  in a rational expression.
Line 516  in a rational expression.
 @itemize @bullet  @itemize @bullet
 \BJP  \BJP
 @item  @item
 @code{det} $B$O9TNs(B @var{mat} $B$N9TNs<0$r5a$a$k(B.  @code{det} $B$*$h$S(B @code{nd_det} $B$O9TNs(B @var{mat} $B$N9TNs<0$r5a$a$k(B.
 @code{invmat} $B$O9TNs(B @var{mat} $B$N5U9TNs$r5a$a$k(B. $B5U9TNs$O(B @code{[$BJ,Jl(B, $BJ,;R(B]}  @code{invmat} $B$O9TNs(B @var{mat} $B$N5U9TNs$r5a$a$k(B. $B5U9TNs$O(B @code{[$BJ,Jl(B, $BJ,;R(B]}
 $B$N7A$GJV$5$l(B, @code{$BJ,Jl(B}$B$,9TNs(B, @code{$BJ,Jl(B/$BJ,;R(B} $B$,5U9TNs$H$J$k(B.  $B$N7A$GJV$5$l(B, @code{$BJ,Jl(B}$B$,9TNs(B, @code{$BJ,Jl(B/$BJ,;R(B} $B$,5U9TNs$H$J$k(B.
 @item  @item
Line 443  in a rational expression.
Line 524  in a rational expression.
 @item  @item
 $BJ,?t$J$7$N%,%&%9>C5nK!$K$h$C$F$$$k$?$a(B, $BB?JQ?tB?9`<0$r@.J,$H$9$k(B  $BJ,?t$J$7$N%,%&%9>C5nK!$K$h$C$F$$$k$?$a(B, $BB?JQ?tB?9`<0$r@.J,$H$9$k(B
 $B9TNs$KBP$7$F$O>.9TNs<0E83+$K$h$kJ}K!$N$[$&$,8zN($,$h$$>l9g$b$"$k(B.  $B9TNs$KBP$7$F$O>.9TNs<0E83+$K$h$kJ}K!$N$[$&$,8zN($,$h$$>l9g$b$"$k(B.
   @item
   @code{nd_det} $B$OM-M}?t$^$?$OM-8BBN>e$NB?9`<09TNs$N9TNs<0(B
   $B7W;;@lMQ$G$"$k(B. $B%"%k%4%j%:%`$O$d$O$jJ,?t$J$7$N%,%&%9>C5nK!$@$,(B,
   $B%G!<%?9=B$$*$h$S>h=|;;$N9)IW$K$h$j(B, $B0lHL$K(B @code{det} $B$h$j9bB.$K(B
   $B7W;;$G$-$k(B.
 \E  \E
 \BEG  \BEG
 @item  @item
 @code{det} computes the determinant of matrix @var{mat}.  @code{det} and @code{nd_det} compute the determinant of matrix @var{mat}.
 @code{invmat} computes the inverse matrix of matrix @var{mat}.  @code{invmat} computes the inverse matrix of matrix @var{mat}.
 @code{invmat} returns a list @code{[num,den]}, where @code{num}  @code{invmat} returns a list @code{[num,den]}, where @code{num}
 is a matrix and @code{num/den} represents the inverse matrix.  is a matrix and @code{num/den} represents the inverse matrix.
Line 456  is more efficient than the fraction free Gaussian algo
Line 542  is more efficient than the fraction free Gaussian algo
 The fraction free Gaussian algorithm is employed.  For matrices with  The fraction free Gaussian algorithm is employed.  For matrices with
 multi-variate polynomial entries, minor expansion algorithm sometimes  multi-variate polynomial entries, minor expansion algorithm sometimes
 is more efficient than the fraction free Gaussian algorithm.  is more efficient than the fraction free Gaussian algorithm.
   @item
   @code{nd_det} can be used for computing the determinant of a matrix with
   polynomial entries over the rationals or finite fields. The algorithm
   is an improved vesion of the fraction free Gaussian algorithm
   and it computes the determinant faster than @code{det}.
 \E  \E
 @end itemize  @end itemize
   

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

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