Vectors, matrices

Basic structures such as vectors \(\mathbf{x}\) or matrices \(\mathbf{X}\) are proposed in order to handle constants, measurements or parameters.

They are not aimed at representing temporal evolutions contrary to trajectories, presented in the next section. Note also that they are not involved during the process of constraint propagation, that only relies on domains presented in the next part.

Note

../../_images/logo_ibex.jpg

These static variables come from the IBEX library. They are briefly presented here for the sake of consistency. For more information, please refer to the IBEX documentation for C++ use.

Vectors

Vectors of reals, denoted in bold in this manual, are represented by the class Vector. Their use is intuitive:

x1 = [0,1,3]                   # creates the vector x1=(0;1;3)
x2 = [1]*3                     # creates the vector x2=(1;1;1)
x3 = x1                        # creates a copy of x1

Vector operations are available to handle Vector objects:

# Use default types of Python, or Numpy

Note that these operations are also available for other vector types: matrices, boxes, vectors of trajectories, and vectors of tubes.

Basic arithmetic operations are applicable on vectors such as binary operators: \(+,-,\cdot,/\)

# Use default types of Python, or Numpy

Matrices

Matrix objects are exactly designed the same way as vectors. Here are listed different ways to build a matrix:

# Use default types of Python, or Numpy

Other arithmetic operations apply on matrices in the same manner as for vectors.