MEPP2 Project
Functions
FEVV::Math::Matrix::Square Namespace Reference

Functions

template<typename CoordinateType , size_t N>
static std::vector< CoordinateType > covar (const CoordinateType point_coords[3 *N])
 
template<typename CoordinateType >
static std::vector< CoordinateType > covar (const std::vector< CoordinateType > &point_coords)
 
template<typename ElementType , int DIM = 3>
static void vector_times_transpose_mult (const ElementType *p_vector, ElementType pp_matrix[][DIM], ElementType coeff)
 Compute coef * V x V^t (V is a vertical DIM-D vector) More...
 
template<typename ElementType , int DIM = 3>
static void transformation (const ElementType pp_matrix[DIM][DIM], const ElementType in_vertex[DIM], ElementType out_vertex[DIM])
 
template<typename ElementType , int DIM, int N>
static void transformation (const ElementType pp_matrix[DIM][DIM], const ElementType in_vertices[DIM][N], ElementType out_vertices[DIM][N])
 
template<typename ElementType , int DIM>
static void add (const ElementType p_matrix[][DIM], ElementType p_matrix_sum[][DIM])
 add two matrices More...
 
template<typename ElementType , int DIM>
static bool is_diagonal (const ElementType p_matrix[DIM][DIM])
 

Function Documentation

◆ add()

template<typename ElementType , int DIM>
static void FEVV::Math::Matrix::Square::add ( const ElementType  p_matrix[][DIM],
ElementType  p_matrix_sum[][DIM] 
)
static

add two matrices

Definition at line 1038 of file MatrixOperations.hpp.

Here is the caller graph for this function:

◆ covar() [1/2]

template<typename CoordinateType , size_t N>
static std::vector< CoordinateType > FEVV::Math::Matrix::Square::covar ( const CoordinateType  point_coords[3 *N])
static

Compute the 3 x 3 covariance matrix of N 3D points that are stored into a one-dimensional array pointCoords [P1x, P1y, P1z, ..., PNx, PNy, PNz].

Definition at line 909 of file MatrixOperations.hpp.

◆ covar() [2/2]

template<typename CoordinateType >
static std::vector< CoordinateType > FEVV::Math::Matrix::Square::covar ( const std::vector< CoordinateType > &  point_coords)
static

Compute the 3 x 3 covariance matrix of N 3D points that are stored into a one-dimensional std::vector [P1x, P1y, P1z, ..., PNx, PNy, PNz].

Definition at line 943 of file MatrixOperations.hpp.

◆ is_diagonal()

template<typename ElementType , int DIM>
static bool FEVV::Math::Matrix::Square::is_diagonal ( const ElementType  p_matrix[DIM][DIM])
static

Definition at line 1048 of file MatrixOperations.hpp.

Here is the call graph for this function:

◆ transformation() [1/2]

template<typename ElementType , int DIM = 3>
static void FEVV::Math::Matrix::Square::transformation ( const ElementType  pp_matrix[DIM][DIM],
const ElementType  in_vertex[DIM],
ElementType  out_vertex[DIM] 
)
static

Compute the matrix tranformation of a vector. Use can use it to rotate, scale or even translate your vertex (in the later case homogeneous coordinates should be used).

Parameters
in_vertexrepresent our square matrix that contains the transformation.
out_vertexrepresent the one dimensional untransformed column vertex represent the one dimensional transformed column vertex

Definition at line 991 of file MatrixOperations.hpp.

◆ transformation() [2/2]

template<typename ElementType , int DIM, int N>
static void FEVV::Math::Matrix::Square::transformation ( const ElementType  pp_matrix[DIM][DIM],
const ElementType  in_vertices[DIM][N],
ElementType  out_vertices[DIM][N] 
)
static

Compute the matrix tranformation of N vectors [V1 V2 V3 ... VN] (column-vectors). Use can use it to rotate, scale or even translate your vertex (in the later case homogeneous coordinates should be used).

Parameters
in_verticesrepresent our square matrix that contains the transformation.
out_verticesrepresent the untransformed column vertices represent the transformed column vertices

Definition at line 1014 of file MatrixOperations.hpp.

◆ vector_times_transpose_mult()

template<typename ElementType , int DIM = 3>
static void FEVV::Math::Matrix::Square::vector_times_transpose_mult ( const ElementType *  p_vector,
ElementType  pp_matrix[][DIM],
ElementType  coeff 
)
static

Compute coef * V x V^t (V is a vertical DIM-D vector)

Definition at line 976 of file MatrixOperations.hpp.

Here is the caller graph for this function: