`newvect'
---------

newvect(LEN[,LIST])
     :: Creates a new vector object with its length LEN.

RETURN
     vector

LEN
     non-negative integer

LIST
     list

   * Creates a new vector object with its length LEN and its elements
     all cleared to value 0.  If the second argument, a list, is given,
     the vector is initialized by the list elements.  Elements are used
     from the first through the last.  If the list is short for
     initializing the full vector, 0's are filled in the remaining
     vector elements.

   * Elements are indexed from 0 through LEN-1.  Note that the first
     element has not index 1.

   * List and vector are different types in Asir.  Lists are
     conveniently used for representing many data objects whose size
     varies dynamically as computation proceeds.  By its flexible
     expressive power, it is also conveniently used to describe initial
     values for other structured objects as you see for vectors.
     Access for an element of a list is performed by following pointers
     to next elements.  By this, access costs for list elements differ
     for each element.  In contrast to lists, vector elements can be
     accessed in a same time, because they are accessed by computing
     displacements from the top memory location of the vector object.

     Note also, in Asir, modification of an element of a vector causes
     modification of the whole vector itself, while modification of a
     list element does not cause the modification of the whole list
     object.

     By this, in Asir language, a vector element designator can be a
     left value of assignment statement, but a list element designator
     can NOT be a left value of assignment statement.

   * No distinction of column vectors and row vectors in Asir.  If a
     matrix is applied to a vector from left, the vector shall be taken
     as a column vector, and if from right it shall be taken as a row
     vector.

   * The length (or size or dimension) of a vector is given by function
     `size()'.

   * When a vector is passed to a function as its argument (actual
     parameter), the vector element can be modified in that function.

   * A vector is displayed in a similar format as for a list.  Note,
     however, there is a distinction: Elements of a vector are
     separated simply by a `blank space', while those of a list by a
     `comma.'

     [0] A=newvect(5);
     [ 0 0 0 0 0 ]
     [1] A=newvect(5,[1,2,3,4,[5,6]]);
     [ 1 2 3 4 [5,6] ]
     [2] A[0];
     1
     [3] A[4];
     [5,6]
     [4] size(A);
     [5]
     [5] def afo(V) { V[0] = x; }
     [6] afo(A)$
     [7] A;
     [ x 2 3 4 [5,6] ]

References
     *Note `newmat': newmat, *Note `size': size, *Note `vtol': vtol.

