qpmad
Eigen-based C++ QP solver.
|
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... | |