qpmad
Eigen-based C++ QP solver.
Classes | Typedefs | Functions
qpmad_utils Namespace Reference

Classes

class  SelectionMatrix
 Selection matrix. More...
 

Typedefs

typedef Eigen::Matrix< unsigned int, Eigen::Dynamic, 1 > IndexVector
 
typedef EIGEN_DEFAULT_DENSE_INDEX_TYPE EigenIndex
 
typedef double DefaultScalar
 
typedef Eigen::Matrix< DefaultScalar, Eigen::Dynamic, Eigen::Dynamic > DefaultDynamicMatrix
 

Functions

void getRandomPositiveDefinititeMatrix (Eigen::MatrixXd &M, const std::size_t size)
 
template<typename t_Derived >
void unsetMatrix (Eigen::DenseBase< t_Derived > &matrix)
 Unset matrix (initialize to NaN) More...
 
template<class t_DerivedOutput , class t_DerivedInput >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE getATA (Eigen::PlainObjectBase< t_DerivedOutput > &result, const Eigen::DenseBase< t_DerivedInput > &A)
 result = A^T * A More...
 
template<class t_DerivedOutput , class t_DerivedInput >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE getATA (Eigen::PlainObjectBase< t_DerivedOutput > &result, const Eigen::DenseBase< t_DerivedInput > &A, const std::ptrdiff_t offset, const std::ptrdiff_t num_el)
 result.diagonalBlock() = A^T * A More...
 
template<class t_DerivedOutput , class t_DerivedInput >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE addATA (Eigen::DenseBase< t_DerivedOutput > &result, const Eigen::DenseBase< t_DerivedInput > &A)
 result += A^T * A More...
 
template<class t_DerivedOutput , class t_DerivedInput >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE addATA (Eigen::DenseBase< t_DerivedOutput > &result, const Eigen::DenseBase< t_DerivedInput > &A, const std::ptrdiff_t offset)
 result.diagonalBlock() += A^T * A More...
 
template<class t_Derived >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE convertLLTtoSymmetric (Eigen::PlainObjectBase< t_Derived > &matrix)
 Converts left lower triangular matrix to a symmetric matrix. More...
 
template<class t_DerivedMatrix , class t_DerivedRotation , class t_DerivedTranslation >
Eigen::Matrix< typename Eigen::MatrixBase< t_DerivedMatrix >::Scalar, Eigen::MatrixBase< t_DerivedMatrix >::RowsAtCompileTime, Eigen::MatrixBase< t_DerivedMatrix >::ColsAtCompileTime > QPMAD_UTILS_VISIBILITY_ATTRIBUTE transform (const Eigen::MatrixBase< t_DerivedMatrix > &matrix, const Eigen::MatrixBase< t_DerivedRotation > &rotation, const Eigen::MatrixBase< t_DerivedTranslation > &translation)
 Transform the input positions given as a concatenated set of 2d/3d vectors, given M = [v1, v2, ...], returns M_new = [R*v1 + t, R*v2 + t, ...]. More...
 
template<typename t_Scalar , int t_rows, int t_cols, int t_flags>
 QPMAD_UTILS_DYNAMIC_MATRIX (t_Scalar) QPMAD_UTILS_VISIBILITY_ATTRIBUTE makeBlockDiagonal(const std
 Create a diagonal matrix consisting of the input matrices. More...
 
template<class t_DerivedInput >
 QPMAD_UTILS_DYNAMIC_MATRIX (typename Eigen::DenseBase< t_DerivedInput >::Scalar) QPMAD_UTILS_VISIBILITY_ATTRIBUTE makeBlockDiagonal(const Eigen
 Create a diagonal matrix replicating the input matrix. More...
 
template<class t_DerivedOutput , typename t_Scalar , int t_rows, int t_cols, int t_flags>
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE concatenateMatricesVertically (Eigen::PlainObjectBase< t_DerivedOutput > &result, const std::vector< Eigen::Matrix< t_Scalar, t_rows, t_cols, t_flags > > &matrices)
 Concatenate matrices vertically, [A;B;C; ...]. More...
 
template<class t_DerivedOutput , class t_DerivedInput1 , class t_DerivedInput2 >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE concatenateMatricesHorizontally (Eigen::PlainObjectBase< t_DerivedOutput > &result, const Eigen::DenseBase< t_DerivedInput1 > &matrix1, const Eigen::DenseBase< t_DerivedInput2 > &matrix2)
 Concatenate matrices horizontally, [A B C ...]. More...
 
template<class t_DerivedOutput , class t_DerivedInput1 , class t_DerivedInput2 , class t_DerivedInput3 >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE concatenateMatricesHorizontally (Eigen::PlainObjectBase< t_DerivedOutput > &result, const Eigen::DenseBase< t_DerivedInput1 > &matrix1, const Eigen::DenseBase< t_DerivedInput2 > &matrix2, const Eigen::DenseBase< t_DerivedInput3 > &matrix3)
 Concatenate matrices horizontally, [A B C ...]. More...
 
template<class t_Derived >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE removeRow (Eigen::PlainObjectBase< t_Derived > &matrix, const std::ptrdiff_t row_to_remove)
 Remove a row with the specified index. More...
 
template<class t_Derived >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE removeColumn (Eigen::PlainObjectBase< t_Derived > &matrix, const std::ptrdiff_t column_to_remove)
 Remove a column with the specified index. More...
 
template<class t_Derived >
 QPMAD_UTILS_DYNAMIC_MATRIX (typename Eigen::DenseBase< t_Derived >::Scalar) QPMAD_UTILS_VISIBILITY_ATTRIBUTE multiplyBlockKroneckerIdentity(const Eigen
 Custom Kronecker product: blocks of the input matrix are treated as single elements. More...
 
template<class t_Derived >
Eigen::Map< const QPMAD_UTILS_DYNAMIC_MATRIX(typename Eigen::PlainObjectBase< t_Derived >::Scalar), Eigen::Unaligned, Eigen::Stride< Eigen::Dynamic, Eigen::Dynamic > > QPMAD_UTILS_VISIBILITY_ATTRIBUTE selectRows (const Eigen::PlainObjectBase< t_Derived > &matrix, const std::size_t row_step, const std::size_t first_row=0)
 Select rows from a matrix, in Matlab notation the result is M(first:step:end, :). More...
 
template<class t_Derived >
Eigen::Map< const QPMAD_UTILS_DYNAMIC_MATRIX(typename Eigen::PlainObjectBase< t_Derived >::Scalar), Eigen::Unaligned, Eigen::Stride< Eigen::Dynamic, Eigen::Dynamic > > QPMAD_UTILS_VISIBILITY_ATTRIBUTE operator * (const SelectionMatrix &selector, const Eigen::PlainObjectBase< t_Derived > &matrix)
 Multiply selection matrix by a generic Eigen matrix (select rows) More...
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (2) Vector2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (3) Vector3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (4) Vector4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (5) Vector5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (6) Vector6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (7) Vector7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (8) Vector8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (9) Vector9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_VECTOR (10) Vector10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 2) Matrix2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 3) Matrix3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 4) Matrix4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 5) Matrix5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 6) Matrix6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 7) Matrix7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 8) Matrix8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 9) Matrix9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 10) Matrix10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 2) Matrix1x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 3) Matrix1x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 4) Matrix1x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 5) Matrix1x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 6) Matrix1x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 7) Matrix1x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 8) Matrix1x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 9) Matrix1x9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (1, 10) Matrix1x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 3) Matrix2x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 4) Matrix2x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 5) Matrix2x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 6) Matrix2x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 7) Matrix2x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 8) Matrix2x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 9) Matrix2x9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (2, 10) Matrix2x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 2) Matrix3x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 4) Matrix3x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 5) Matrix3x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 6) Matrix3x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 7) Matrix3x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 8) Matrix3x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 9) Matrix3x9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (3, 10) Matrix3x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 2) Matrix4x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 3) Matrix4x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 5) Matrix4x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 6) Matrix4x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 7) Matrix4x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 8) Matrix4x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 9) Matrix4x9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (4, 10) Matrix4x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 2) Matrix5x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 3) Matrix5x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 4) Matrix5x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 6) Matrix5x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 7) Matrix5x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 8) Matrix5x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 9) Matrix5x9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (5, 10) Matrix5x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 2) Matrix6x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 3) Matrix6x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 4) Matrix6x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 5) Matrix6x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 7) Matrix6x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 8) Matrix6x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 9) Matrix6x9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (6, 10) Matrix6x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 2) Matrix7x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 3) Matrix7x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 4) Matrix7x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 5) Matrix7x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 6) Matrix7x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 8) Matrix7x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 9) Matrix7x9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (7, 10) Matrix7x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 2) Matrix8x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 3) Matrix8x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 4) Matrix8x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 5) Matrix8x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 6) Matrix8x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 7) Matrix8x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 9) Matrix8x9
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (8, 10) Matrix8x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 2) Matrix9x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 3) Matrix9x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 4) Matrix9x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 5) Matrix9x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 6) Matrix9x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 7) Matrix9x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 8) Matrix9x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (9, 10) Matrix9x10
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 2) Matrix10x2
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 3) Matrix10x3
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 4) Matrix10x4
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 5) Matrix10x5
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 6) Matrix10x6
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 7) Matrix10x7
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 8) Matrix10x8
 
typedef QPMAD_UTILS_CONSTANT_SIZE_MATRIX (10, 9) Matrix10x9
 

Typedef Documentation

◆ DefaultDynamicMatrix

typedef Eigen::Matrix<DefaultScalar, Eigen::Dynamic, Eigen::Dynamic> qpmad_utils::DefaultDynamicMatrix

Definition at line 33 of file eigenut_types.h.

◆ DefaultScalar

Definition at line 30 of file eigenut_types.h.

◆ EigenIndex

typedef EIGEN_DEFAULT_DENSE_INDEX_TYPE qpmad_utils::EigenIndex

Index type used by Eigen. We should not use Eigen::DenseIndex since it is going to be deprecated in new versions of Eigen. May be EigenIndex should be defined depending on the version of Eigen.

Definition at line 27 of file eigenut_types.h.

◆ IndexVector

typedef Eigen::Matrix<unsigned int, Eigen::Dynamic, 1> qpmad_utils::IndexVector

Definition at line 20 of file eigenut_types.h.

Function Documentation

◆ addATA() [1/2]

template<class t_DerivedOutput , class t_DerivedInput >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::addATA ( Eigen::DenseBase< t_DerivedOutput > &  result,
const Eigen::DenseBase< t_DerivedInput > &  A 
)

result += A^T * A

Template Parameters
t_DerivedOutputEigen parameter
t_DerivedInputEigen parameter
Parameters
[in,out]result
[in]A
Attention
Only the left lower triangular part of the result is initialized.

Definition at line 142 of file eigenut_misc.h.

◆ addATA() [2/2]

template<class t_DerivedOutput , class t_DerivedInput >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::addATA ( Eigen::DenseBase< t_DerivedOutput > &  result,
const Eigen::DenseBase< t_DerivedInput > &  A,
const std::ptrdiff_t  offset 
)

result.diagonalBlock() += A^T * A

Template Parameters
t_DerivedOutputEigen parameter
t_DerivedInputEigen parameter
Parameters
[in,out]result
[in]A
[in]offsetoffset of A in result
Attention
Only the left lower triangular part of the result is initialized.

Definition at line 167 of file eigenut_misc.h.

◆ concatenateMatricesHorizontally() [1/2]

template<class t_DerivedOutput , class t_DerivedInput1 , class t_DerivedInput2 >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::concatenateMatricesHorizontally ( Eigen::PlainObjectBase< t_DerivedOutput > &  result,
const Eigen::DenseBase< t_DerivedInput1 > &  matrix1,
const Eigen::DenseBase< t_DerivedInput2 > &  matrix2 
)

Concatenate matrices horizontally, [A B C ...].

Template Parameters
t_DerivedOutputEigen parameter
t_DerivedInput1Eigen parameter
t_DerivedInput2Eigen parameter
Parameters
[out]resultresult of concatenation
[in]matrix1
[in]matrix2

Definition at line 416 of file eigenut_misc.h.

◆ concatenateMatricesHorizontally() [2/2]

template<class t_DerivedOutput , class t_DerivedInput1 , class t_DerivedInput2 , class t_DerivedInput3 >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::concatenateMatricesHorizontally ( Eigen::PlainObjectBase< t_DerivedOutput > &  result,
const Eigen::DenseBase< t_DerivedInput1 > &  matrix1,
const Eigen::DenseBase< t_DerivedInput2 > &  matrix2,
const Eigen::DenseBase< t_DerivedInput3 > &  matrix3 
)

Concatenate matrices horizontally, [A B C ...].

Template Parameters
t_DerivedOutputEigen parameter
t_DerivedInput1Eigen parameter
t_DerivedInput2Eigen parameter
t_DerivedInput3Eigen parameter
Parameters
[out]resultresult of concatenation
[in]matrix1
[in]matrix2
[in]matrix3

Definition at line 464 of file eigenut_misc.h.

◆ concatenateMatricesVertically()

template<class t_DerivedOutput , typename t_Scalar , int t_rows, int t_cols, int t_flags>
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::concatenateMatricesVertically ( Eigen::PlainObjectBase< t_DerivedOutput > &  result,
const std::vector< Eigen::Matrix< t_Scalar, t_rows, t_cols, t_flags > > &  matrices 
)

Concatenate matrices vertically, [A;B;C; ...].

Template Parameters
t_DerivedOutputEigen parameter
t_ScalarEigen parameter (input)
t_rowsEigen parameter (input)
t_colsEigen parameter (input)
t_flagsEigen parameter (input)
Parameters
[out]resultresult of concatenation
[in]matricesmatrices

Definition at line 352 of file eigenut_misc.h.

◆ convertLLTtoSymmetric()

template<class t_Derived >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::convertLLTtoSymmetric ( Eigen::PlainObjectBase< t_Derived > &  matrix)

Converts left lower triangular matrix to a symmetric matrix.

Template Parameters
t_DerivedEigen parameter
Parameters
[in,out]matrix

Definition at line 192 of file eigenut_misc.h.

◆ getATA() [1/2]

template<class t_DerivedOutput , class t_DerivedInput >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::getATA ( Eigen::PlainObjectBase< t_DerivedOutput > &  result,
const Eigen::DenseBase< t_DerivedInput > &  A 
)

result = A^T * A

Template Parameters
t_DerivedOutputEigen parameter
t_DerivedInputEigen parameter
Parameters
[out]result
[in]A
Attention
Only the left lower triangular part of the result is initialized.

Definition at line 84 of file eigenut_misc.h.

◆ getATA() [2/2]

template<class t_DerivedOutput , class t_DerivedInput >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::getATA ( Eigen::PlainObjectBase< t_DerivedOutput > &  result,
const Eigen::DenseBase< t_DerivedInput > &  A,
const std::ptrdiff_t  offset,
const std::ptrdiff_t  num_el 
)

result.diagonalBlock() = A^T * A

Template Parameters
t_DerivedOutputEigen parameter
t_DerivedInputEigen parameter
Parameters
[out]result
[in]A
[in]offsetoffset of A in result
[in]num_elsize of result
Attention
Only the left lower triangular part of the result is initialized.

Definition at line 111 of file eigenut_misc.h.

◆ getRandomPositiveDefinititeMatrix()

void qpmad_utils::getRandomPositiveDefinititeMatrix ( Eigen::MatrixXd &  M,
const std::size_t  size 
)
inline

Definition at line 43 of file eigenut_misc.h.

◆ operator *()

template<class t_Derived >
Eigen::Map< const QPMAD_UTILS_DYNAMIC_MATRIX( typename Eigen::PlainObjectBase<t_Derived>::Scalar ), Eigen::Unaligned, Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic> > QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::operator * ( const SelectionMatrix selector,
const Eigen::PlainObjectBase< t_Derived > &  matrix 
)
inline

Multiply selection matrix by a generic Eigen matrix (select rows)

Template Parameters
t_DerivedEigen parameter
Parameters
[in]selector
[in]matrix
Returns
selected rows

Definition at line 703 of file eigenut_misc.h.

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [1/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [2/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [3/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [4/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [5/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [6/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [7/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [8/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [9/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [10/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [11/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [12/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [13/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [14/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [15/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [16/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [17/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [18/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [19/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [20/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [21/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [22/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [23/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [24/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [25/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [26/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [27/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [28/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [29/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [30/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [31/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [32/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [33/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [34/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [35/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [36/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [37/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [38/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [39/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [40/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [41/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [42/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [43/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [44/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [45/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [46/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [47/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [48/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [49/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [50/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [51/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [52/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [53/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [54/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [55/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [56/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [57/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [58/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [59/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [60/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [61/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [62/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [63/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [64/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [65/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [66/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [67/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [68/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [69/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [70/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [71/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [72/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [73/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [74/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [75/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [76/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [77/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [78/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [79/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [80/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [81/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [82/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( ,
10   
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [83/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [84/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [85/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [86/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [87/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [88/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [89/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_MATRIX() [90/90]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_MATRIX ( 10  ,
 
)

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [1/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( )

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [2/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( )

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [3/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( )

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [4/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( )

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [5/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( )

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [6/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( )

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [7/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( )

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [8/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( )

◆ QPMAD_UTILS_CONSTANT_SIZE_VECTOR() [9/9]

typedef qpmad_utils::QPMAD_UTILS_CONSTANT_SIZE_VECTOR ( 10  )

◆ QPMAD_UTILS_DYNAMIC_MATRIX() [1/3]

template<typename t_Scalar , int t_rows, int t_cols, int t_flags>
qpmad_utils::QPMAD_UTILS_DYNAMIC_MATRIX ( t_Scalar  ) const

Create a diagonal matrix consisting of the input matrices.

Template Parameters
t_ScalarEigen parameter (input)
t_rowsEigen parameter (input)
t_colsEigen parameter (input)
t_flagsEigen parameter (input)
Parameters
[in]input_matricesvector of smaller matrices to be placed into a large block diagonal matrix
Returns
matrix with each input element as a block in the diagonal

Definition at line 246 of file eigenut_misc.h.

◆ QPMAD_UTILS_DYNAMIC_MATRIX() [2/3]

template<class t_DerivedInput >
qpmad_utils::QPMAD_UTILS_DYNAMIC_MATRIX ( typename Eigen::DenseBase< t_DerivedInput >::Scalar  ) const

Create a diagonal matrix replicating the input matrix.

Template Parameters
t_DerivedInputEigen parameter (input)
Parameters
[in]input_matrixmatrix to be replicated into block diagonal
[in]num_copiesdetermines the output size
Returns
matrix with each input element as a block in the diagonal

Definition at line 302 of file eigenut_misc.h.

◆ QPMAD_UTILS_DYNAMIC_MATRIX() [3/3]

template<class t_Derived >
qpmad_utils::QPMAD_UTILS_DYNAMIC_MATRIX ( typename Eigen::DenseBase< t_Derived >::Scalar  ) const

Custom Kronecker product: blocks of the input matrix are treated as single elements.

Template Parameters
t_DerivedEigen parameter
Parameters
[in]inputinput matrix
[in]input_block_rowsrows in a block
[in]input_block_colscols in a block
[in]identity_sizesize of the identity matrix used in the product
Returns
result of the product

Definition at line 581 of file eigenut_misc.h.

◆ removeColumn()

template<class t_Derived >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::removeColumn ( Eigen::PlainObjectBase< t_Derived > &  matrix,
const std::ptrdiff_t  column_to_remove 
)

Remove a column with the specified index.

Template Parameters
t_DerivedEigen parameter
Parameters
[in,out]matrixmatrix
[in]column_to_removeindex of a column

Based on http://stackoverflow.com/questions/13290395/how-to-remove-a-certain-row-or-column-while-using-eigen-library-c

Definition at line 549 of file eigenut_misc.h.

◆ removeRow()

template<class t_Derived >
void QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::removeRow ( Eigen::PlainObjectBase< t_Derived > &  matrix,
const std::ptrdiff_t  row_to_remove 
)

Remove a row with the specified index.

Template Parameters
t_DerivedEigen parameter
Parameters
[in,out]matrixmatrix
[in]row_to_removeindex of a row

Based on http://stackoverflow.com/questions/13290395/how-to-remove-a-certain-row-or-column-while-using-eigen-library-c

Definition at line 517 of file eigenut_misc.h.

◆ selectRows()

template<class t_Derived >
Eigen::Map< const QPMAD_UTILS_DYNAMIC_MATRIX(typename Eigen::PlainObjectBase<t_Derived>::Scalar), Eigen::Unaligned, Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic> > QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::selectRows ( const Eigen::PlainObjectBase< t_Derived > &  matrix,
const std::size_t  row_step,
const std::size_t  first_row = 0 
)
inline

Select rows from a matrix, in Matlab notation the result is M(first:step:end, :).

Template Parameters
t_DerivedEigen parameter
Parameters
[in]matrixinput matrix
[in]row_stepeach 'row_step' is selected from the input matrix
[in]first_rowstarting from 'first_row'
Returns
Matrix consisting of selected rows.

Definition at line 643 of file eigenut_misc.h.

◆ transform()

template<class t_DerivedMatrix , class t_DerivedRotation , class t_DerivedTranslation >
Eigen::Matrix< typename Eigen::MatrixBase<t_DerivedMatrix>::Scalar, Eigen::MatrixBase<t_DerivedMatrix>::RowsAtCompileTime, Eigen::MatrixBase<t_DerivedMatrix>::ColsAtCompileTime> QPMAD_UTILS_VISIBILITY_ATTRIBUTE qpmad_utils::transform ( const Eigen::MatrixBase< t_DerivedMatrix > &  matrix,
const Eigen::MatrixBase< t_DerivedRotation > &  rotation,
const Eigen::MatrixBase< t_DerivedTranslation > &  translation 
)
inline

Transform the input positions given as a concatenated set of 2d/3d vectors, given M = [v1, v2, ...], returns M_new = [R*v1 + t, R*v2 + t, ...].

Template Parameters
t_DerivedMatrixEigen parameter
t_DerivedRotationEigen parameter
t_DerivedTranslationEigen parameter
Parameters
[in]matrixmatrix containing vectors (M)
[in]rotationrotation matrix (R)
[in]translationtranslation vector (t)
Returns
matrix of transformed vectors

Definition at line 221 of file eigenut_misc.h.

◆ unsetMatrix()

template<typename t_Derived >
void qpmad_utils::unsetMatrix ( Eigen::DenseBase< t_Derived > &  matrix)

Unset matrix (initialize to NaN)

Template Parameters
t_Derivedmatrix data type
Parameters
[in,out]matrix

Definition at line 58 of file eigenut_misc.h.