matrixabstractlayersmall.hh File Reference

Defines

#define MAL_S3x3_MATRIX(name, type)
 Defines a matrix named name and of type type.
#define MAL_S3x3_MATRIX_CLEAR(name)
 Clear the matrix name , i.e. put all the value to 0. In some case, it also mean that the data is deallocated. It is wise to resize the matrix after the call to this macro. This macro acts as a function.
#define MAL_S3x3_INVERSE(name, inv_matrix, type)
 Returns in inv_matrix, the inverse of matrix name. name should be a square matrix. $ inv\_matrix = name^{-1} $ For implementation issue, the type of the data must be specified in type. You should read the documentation of the specific implementation to handle properly the numerical issues. This macro acts as a function.
#define MAL_S3x3_RET_TRANSPOSE(matrix)
 Returns the transpose of matrix.
#define MAL_S3x3_RET_A_by_B(A, B)
 Returns the product of A by B, i.e. $ {\bf A B} $ This forces the use of a temporary matrix structure.
#define MAL_S3x3_C_eq_A_by_B(C, A, B)
 Puts in C the result of the product of A by B, i.e. $ {\bf C} = {\bf AB} $.
#define MAL_S3x3_MATRIX_SET_IDENTITY(matrix)
 Set the matrix named matrix to the identity matrix. When matrix is not square, the identity matrix is set to the upper left greatest square matrix included into matrix. The other values are set to zero.
#define MAL_S3x3_MATRIX_FILL(matrix, value)
 Fill the matrix named matrix with the value value.
#define MAL_S3x3_RET_MATRIX_DATABLOCK(matrix)
 Returns a pointer on the data stored for the matrix.
#define MAL_S3x3_MATRIX_C_eq_EXTRACT_A(C, A, type, top, left, nbrows, nbcols)
 This is used to extract a submatrix C from A.
#define MAL_S3x3_MATRIX_RET_DETERMINANT(name, type)
 This macro returns the determinant of matrix name.
#define MAL_S3x3_MATRIX_ACCESS_I(name, i)
 This macro returns the element at position i name(i)
#define MAL_S3x3_MATRIX_ACCESS_I_J(name, i, j)
 This macro returns element at pos (i,j)
#define MAL_S4x4_MATRIX(name, type)
 Defines a matrix named name and of type type.
#define MAL_S4x4_MATRIX_CLEAR(name)
 Clear the matrix name , i.e. put all the value to 0. In some case, it also mean that the data is deallocated. It is wise to resize the matrix after the call to this macro. This macro acts as a function.
#define MAL_S4x4_INVERSE(name, inv_matrix, type)
 Returns in inv_matrix, the inverse of matrix name. name should be a square matrix. $ inv\_matrix = name^{-1} $ For implementation issue, the type of the data must be specified in type. You should read the documentation of the specific implementation to handle properly the numerical issues. This macro acts as a function.
#define MAL_S4x4_RET_TRANSPOSE(matrix)
 Returns the transpose of matrix.
#define MAL_S4x4_RET_A_by_B(A, B)
 Returns the product of A by B, i.e. $ {\bf A B} $ This forces the use of a temporary matrix structure.
#define MAL_S4x4_C_eq_A_by_B(C, A, B)
 Puts in C the result of the product of A by B, i.e. $ {\bf C} = {\bf AB} $.
#define MAL_S4x4_MATRIX_SET_IDENTITY(matrix)
 Set the matrix named matrix to the identity matrix. When matrix is not square, the identity matrix is set to the upper left greatest square matrix included into matrix. The other values are set to zero.
#define MAL_S4x4_MATRIX_FILL(matrix, value)
 Fill the matrix named matrix with the value value.
#define MAL_S4x4_RET_MATRIX_DATABLOCK(matrix)
 Returns a pointer on the data stored for the matrix.
#define MAL_S4x4_MATRIX_C_eq_EXTRACT_A(C, A, type, top, left, nbrows, nbcols)
 This is used to extract a submatrix C from A.
#define MAL_S4x4_MATRIX_RET_DETERMINANT(name, type)
 This macro returns the determinant of matrix name.
#define MAL_S4x4_MATRIX_ACCESS_I(name, i)
 This macro returns the element at position i name(i)
#define MAL_S4x4_MATRIX_ACCESS_I_J(name, i, j)
 This macro returns element at pos (i,j)
#define MAL_S3_VECTOR(name, type)
 declare a vector named name with type type
#define MAL_S3_VECTOR_SIZE(name)
 returns the size of the vector named name
#define MAL_S3_VECTOR_FILL(name, value)
 Fill the vector named name with the value value. The user is responsible to make sure that the type are compatible. It acts as a function.
#define MAL_S3_VECTOR_NORM(name)
 Returns the two norms of the vector named name. More precisely if the vector name is of size $ n $, the norm is defined as: $ \sqrt{\sum_{i=0}^{i=n-1}x_i^2} $.
#define MAL_S3_VECTOR_CROSS_PRODUCT(res, v1, v2)
 Returns in res the cross product of two vectors $ v_1,v_2 \in \mathbb{R}^3 $. The cross product $ res = v_1 \times v_2 $ is defined as:

\begin{eqnarray*} res^x &= v_1^y v_2^z - v_2^y v_1^z \\ res^y &= v_1^z v_2^x - v_2^z v_1^x \\ res^z &= v_1^x v_2^y - v_2^x v_1^y \\ \end{eqnarray*}

.

#define MAL_S3_RET_VECTOR_DATABLOCK(name)
 Returns a direct access to the data information. It is implementation dependent. However most of the time, it is assume to be an array of data.
#define MAL_S3_VECTOR_ACCESS(name, i)
 Returns a reference to the element at position i name(i)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines