32.1 Operations for Vectors

vec1 + vec2

In this form the addition operator + evaluates to the sum of the two vectors vec1 and vec2, which must have the same dimension and lie in a common field. The sum is a new vector where each entry is the sum of the corresponding entries of the vectors. As an exception it is also possible to add an integer vector to a finite field vector, in which case the integers are interpreted as scalar * GF.one.

scalar + vec
vec + scalar

In this form + evaluates to the sum of the scalar scalar and the vector vec, which must lie in a common field. The sum is a new vector where each entry is the sum of the scalar and the corresponding entry of the vector. As an exception it is also possible to add an integer scalar to a finite field vector, in which case the integer is interpreted as scalar * GF.one.

    gap> [ 1, 2, 3 ] + [ 1/2, 1/3, 1/4 ];
    [ 3/2, 7/3, 13/4 ]
    gap> [ 1/2, 3/2, 1/2 ] + 1/2;
    [ 1, 2, 1 ] 

vec1 - vec2
scalar - vec
vec - scalar

The difference operator - returns the componentwise difference of its two operands and is defined subject to the same restrictions as +.

    gap> [ 1, 2, 3 ] - [ 1/2, 1/3, 1/4 ];
    [ 1/2, 5/3, 11/4 ]
    gap> [ 1/2, 3/2, 1/2 ] - 1/2;
    [ 0, 1, 0 ] 

vec1 * vec2

In this form the multiplication operator * evaluates to the product of the two vectors vec1 and vec2, which must have the same dimension and lie in a common field. The product is the sum of the products of the corresponding entries of the vectors. As an exception it is also possible to multiply an integer vector to a finite field vector, in which case the integers are interpreted as scalar * GF.one.

scalar * vec
vec * scalar

In this form * evaluates to the product of the scalar scalar and the vector vec, which must lie in a common field. The product is a new vector where each entry is the product of the scalar and the corresponding entry of the vector. As an exception it is also possible to multiply an integer scalar to a finite field vector, in which case the integer is interpreted as scalar * GF.one.

    gap> [ 1, 2, 3 ] * [ 1/2, 1/3, 1/4 ];
    23/12
    gap> [ 1/2, 3/2, 1/2 ] * 2;
    [ 1, 3, 1 ] 

Further operations with vectors as operands are defined by the matrix operations (see Operations for Matrices).

Up Top Next
Index

GAP 3.4.4
April 1997