Defines a vector.  
 | 
| subroutine  | vector_init (v, n) | 
|   | Initialise a vector of size n.  
  | 
|   | 
| subroutine  | vector_free (v) | 
|   | Deallocate a vector.  
  | 
|   | 
| integer function  | vector_size (v) | 
|   | Return the number of entries in the vector.  
  | 
|   | 
| subroutine  | vector_assign_vector (v, w) | 
|   | Assignment \( v = w \).  
  | 
|   | 
| subroutine  | vector_assign_scalar (v, s) | 
|   | Assignment \( v = s \).  
  | 
|   | 
| type(vector_t) function  | vector_add_vector (a, b) | 
|   | Vector-vector addition \( v = a + b \).  
  | 
|   | 
| type(vector_t) function  | vector_add_scalar_left (a, c) | 
|   | Vector-scalar addition \( v = a + c \).  
  | 
|   | 
| type(vector_t) function  | vector_add_scalar_right (c, a) | 
|   | Scalar-vector addition \( v = c + a \).  
  | 
|   | 
| type(vector_t) function  | vector_sub_vector (a, b) | 
|   | Vector-vector subtraction \( v = a - b \).  
  | 
|   | 
| type(vector_t) function  | vector_sub_scalar_left (a, c) | 
|   | Vector-scalar subtraction \( v = a - c \).  
  | 
|   | 
| type(vector_t) function  | vector_sub_scalar_right (c, a) | 
|   | Scalar-vector subtraction \( v = c - a \).  
  | 
|   | 
| type(vector_t) function  | vector_cmult_left (a, c) | 
|   | Vector-scalar multiplication \( v = a*c \).  
  | 
|   | 
| type(vector_t) function  | vector_cmult_right (c, a) | 
|   | Scalar-vector multiplication \( v = c*a \).  
  | 
|   |