Go to the first, previous, next, last section, table of contents.
- 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
-
section
newmat
, section size
, section vtol
.
Go to the first, previous, next, last section, table of contents.