qpmad
Eigen-based C++ QP solver.
Classes | Namespaces | Functions
eigenut_misc.h File Reference

Detailed Description

Author
Alexander Sherikov
Jan Michalczyk

Definition in file eigenut_misc.h.

Go to the source code of this file.

#include <vector>

Classes

class  qpmad_utils::SelectionMatrix
 Selection matrix. More...
 

Namespaces

 qpmad_utils
 

Functions

void qpmad_utils::getRandomPositiveDefinititeMatrix (Eigen::MatrixXd &M, const std::size_t size)
 
template<typename t_Derived >
void qpmad_utils::unsetMatrix (Eigen::DenseBase< t_Derived > &matrix)
 Unset matrix (initialize to NaN) More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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. 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 qpmad_utils::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::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::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 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; ...]. More...
 
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 ...]. More...
 
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 ...]. More...
 
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. More...
 
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. More...
 
template<class t_Derived >
 qpmad_utils::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 qpmad_utils::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 qpmad_utils::operator * (const SelectionMatrix &selector, const Eigen::PlainObjectBase< t_Derived > &matrix)
 Multiply selection matrix by a generic Eigen matrix (select rows) More...