![]() |
0.5.0
|
Class to inherit common methods for static and dynamic sized matrices. More...
Public Member Functions | |
Eigen::Matrix< Scalar, Rows, Cols > & | block (all_t, all_t) |
Requests the full matrix. | |
const Eigen::Matrix< Scalar, Rows, Cols > & | block (all_t, all_t) const |
Requests the full matrix. | |
template<size_t Q> | |
decltype(auto) | block (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) |
Gets the values for the row and col keys. | |
decltype(auto) | block (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) |
Gets the values for the row and col keys. | |
template<size_t Q> | |
decltype(auto) | block (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) const |
Gets the values for the row and col keys. | |
decltype(auto) | block (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) const |
Gets the values for the row and col keys. | |
template<size_t P> | |
decltype(auto) | block (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) |
Gets the values for the row and col keys. | |
decltype(auto) | block (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) |
Gets the values for the row and col keys. | |
template<size_t P> | |
decltype(auto) | block (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) const |
Gets the values for the row and col keys. | |
decltype(auto) | block (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) const |
Gets the values for the row and col keys. | |
template<size_t P, size_t Q = P> | |
decltype(auto) | block (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) |
Gets the values for the row and col keys. | |
decltype(auto) | block (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) |
Gets the values for the row and col keys. | |
template<size_t P, size_t Q = P> | |
decltype(auto) | block (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) const |
Gets the values for the row and col keys. | |
decltype(auto) | block (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) const |
Gets the values for the row and col keys. | |
decltype(auto) | col (const ColKeyType &colKey) |
Gets the values for the col key. | |
decltype(auto) | col (const ColKeyType &colKey) const |
Gets the values for the col key. | |
KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, Rows, Cols > | inverse () const |
Calculates the inverse matrix. | |
template<typename Derived> | |
KeyedMatrixBase (const Eigen::MatrixBase< Derived > &matrix) | |
Constructor. | |
template<typename Derived> | |
KeyedMatrixBase (const Eigen::MatrixBase< Derived > &matrix, std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) | |
Non-symmetric matrix constructor. | |
KeyedMatrixBase (const KeyedMatrixBase &other) | |
Copy constructor. | |
template<int oRows, int oCols> | |
KeyedMatrixBase (const KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > &other) | |
Copy constructor. | |
KeyedMatrixBase (KeyedMatrixBase &&other) noexcept | |
Move constructor. | |
template<int oRows, int oCols> | |
KeyedMatrixBase (KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > &&other) noexcept | |
Move constructor. | |
template<size_t Q> | |
decltype(auto) | middleCols (std::span< const ColKeyType > colKeys) |
Gets the values for the col keys. | |
decltype(auto) | middleCols (std::span< const ColKeyType > colKeys) |
Gets the values for the col keys. | |
template<size_t Q> | |
decltype(auto) | middleCols (std::span< const ColKeyType > colKeys) const |
Gets the values for the col keys. | |
decltype(auto) | middleCols (std::span< const ColKeyType > colKeys) const |
Gets the values for the col keys. | |
template<size_t P> | |
decltype(auto) | middleRows (std::span< const RowKeyType > rowKeys) |
Gets the values for the row keys. | |
decltype(auto) | middleRows (std::span< const RowKeyType > rowKeys) |
Gets the values for the row keys. | |
template<size_t P> | |
decltype(auto) | middleRows (std::span< const RowKeyType > rowKeys) const |
Gets the values for the row keys. | |
decltype(auto) | middleRows (std::span< const RowKeyType > rowKeys) const |
Gets the values for the row keys. | |
operator Eigen::Matrix< Scalar, Rows, Cols > () | |
Conversion into Eigen::Matrix. | |
Eigen::Matrix< Scalar, Rows, Cols > & | operator() (all_t, all_t) |
Requests the full matrix. | |
const Eigen::Matrix< Scalar, Rows, Cols > & | operator() (all_t, all_t) const |
Requests the full matrix. | |
decltype(auto) | operator() (all_t, const ColKeyType &colKey) |
Gets the values for the col keys. | |
decltype(auto) | operator() (all_t, const ColKeyType &colKey) const |
Gets the values for the col key. | |
decltype(auto) | operator() (all_t, std::span< const ColKeyType > colKeys) |
Gets the values for the col keys. | |
decltype(auto) | operator() (all_t, std::span< const ColKeyType > colKeys) const |
Gets the values for the col keys. | |
decltype(auto) | operator() (const RowKeyType &rowKey, all_t) |
Gets the values for the row key. | |
decltype(auto) | operator() (const RowKeyType &rowKey, all_t) const |
Gets the values for the row key. | |
Scalar & | operator() (const RowKeyType &rowKey, const ColKeyType &colKey) |
Gets the value for the row and col key. | |
const Scalar & | operator() (const RowKeyType &rowKey, const ColKeyType &colKey) const |
Gets the value for the row and col key. | |
decltype(auto) | operator() (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) |
Gets the values for the row and col keys. | |
decltype(auto) | operator() (const RowKeyType &rowKey, std::span< const ColKeyType > colKeys) const |
Gets the values for the row and col keys. | |
decltype(auto) | operator() (std::span< const RowKeyType > rowKeys, all_t) |
Gets the values for the row keys. | |
decltype(auto) | operator() (std::span< const RowKeyType > rowKeys, all_t) const |
Gets the values for the row keys. | |
decltype(auto) | operator() (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) |
Gets the values for the row and col keys. | |
decltype(auto) | operator() (std::span< const RowKeyType > rowKeys, const ColKeyType &colKey) const |
Gets the values for the row and col keys. | |
decltype(auto) | operator() (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) |
Gets the values for the row and col keys. | |
decltype(auto) | operator() (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys) const |
Gets the values for the row and col keys. | |
KeyedMatrixBase & | operator= (const KeyedMatrixBase &other) |
Copy assignment operator. | |
template<int oRows, int oCols> | |
KeyedMatrixBase & | operator= (const KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > &other) |
Copy assignment operator. | |
KeyedMatrixBase & | operator= (KeyedMatrixBase &&other) noexcept |
Move assignment operator. | |
template<int oRows, int oCols> | |
KeyedMatrixBase & | operator= (KeyedMatrixBase< Scalar, RowKeyType, ColKeyType, oRows, oCols > &&other) noexcept |
Move assignment operator. | |
decltype(auto) | row (const RowKeyType &rowKey) |
Gets the values for the row key. | |
decltype(auto) | row (const RowKeyType &rowKey) const |
Gets the values for the row key. | |
KeyedMatrixBase< Scalar, ColKeyType, RowKeyType, Cols, Rows > | transposed () const |
Calculates the transposed matrix. | |
~KeyedMatrixBase ()=default | |
Destructor. | |
Public Member Functions inherited from NAV::internal::KeyedMatrixRowsBase< Scalar, RowKeyType, Rows, Cols > | |
bool | hasAnyRows (std::span< const RowKeyType > keys) const |
Checks if the matrix has any key. | |
bool | hasRow (const RowKeyType &key) const |
Checks if the matrix has the key. | |
bool | hasRows (std::span< const RowKeyType > keys) const |
Checks if the matrix has multiple keys. | |
void | replaceRowKey (const RowKeyType &oldKey, const RowKeyType &newKey) |
Replace the old with the new key. | |
const std::vector< RowKeyType > & | rowKeys () const |
Returns the row keys. | |
decltype(auto) | rows () const |
Return the rows of the underlying Eigen matrix. | |
Public Member Functions inherited from NAV::internal::KeyedMatrixColsBase< Scalar, ColKeyType, Rows, Cols > | |
const std::vector< ColKeyType > & | colKeys () const |
Returns the col keys. | |
decltype(auto) | cols () const |
Return the cols of the underlying Eigen matrix. | |
bool | hasAnyCols (std::span< const ColKeyType > keys) const |
Checks if the matrix has any keys. | |
bool | hasCol (const ColKeyType &key) const |
Checks if the matrix has the key. | |
bool | hasCols (std::span< const ColKeyType > keys) const |
Checks if the matrix has multiple keys. | |
void | replaceColKey (const ColKeyType &oldKey, const ColKeyType &newKey) |
Replace the old with the new key. |
Private Member Functions | |
void | checkContinuousBlock (std::span< const RowKeyType > rowKeys, std::span< const ColKeyType > colKeys, size_t P, size_t Q) const |
Checks if the row and col keys are describing a continuous block. |
Additional Inherited Members | |
Protected Attributes inherited from NAV::internal::KeyedMatrixRowsBase< Scalar, RowKeyType, Rows, Cols > | |
unordered_map< RowKeyType, Eigen::Index > | rowIndices |
RowKey to Row Index mapping. | |
std::vector< RowKeyType > | rowKeysVector |
Row Keys. | |
std::vector< Eigen::Index > | rowSlice |
Row Slice used for accessing. | |
Protected Attributes inherited from NAV::internal::KeyedMatrixStorage< Scalar, Rows, Cols > | |
std::mutex | _sliceMutex |
Mutex for accessing the slices. | |
Eigen::Matrix< Scalar, Rows, Cols > | matrix |
Data storage of the type. | |
Protected Attributes inherited from NAV::internal::KeyedMatrixColsBase< Scalar, ColKeyType, Rows, Cols > | |
unordered_map< ColKeyType, Eigen::Index > | colIndices |
ColKey to Col Index mapping. | |
std::vector< ColKeyType > | colKeysVector |
Col Keys. | |
std::vector< Eigen::Index > | colSlice |
Col Slice used for accessing. |
Class to inherit common methods for static and dynamic sized matrices.
Scalar | Numeric type, e.g. float, double, int or std::complex<float>. |
RowKeyType | Type of the key used for row lookup |
ColKeyType | Type of the key used for col lookup |
Rows | Number of rows, or Dynamic |
Cols | Number of columns, or Dynamic |
Definition at line 901 of file KeyedMatrix.hpp.
|
inlineexplicit |
Constructor.
matrix | Eigen Matrix to initialize from |
Definition at line 907 of file KeyedMatrix.hpp.
|
inline |
Non-symmetric matrix constructor.
matrix | Eigen Matrix to initialize from |
rowKeys | Row keys describing the matrix |
colKeys | Col keys describing the matrix |
Definition at line 916 of file KeyedMatrix.hpp.
|
default |
Destructor.
|
inline |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inline |
Requests the full matrix.
Definition at line 1312 of file KeyedMatrix.hpp.
|
inline |
Requests the full matrix.
Definition at line 1310 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKey | Row Key |
colKeys | Col Keys |
Definition at line 1247 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKey | Row Key |
colKeys | Col Keys |
Definition at line 1366 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKey | Row Key |
colKeys | Col Keys |
Definition at line 1238 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKey | Row Key |
colKeys | Col Keys |
Definition at line 1358 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKeys | Row Keys |
colKey | Col Key |
Definition at line 1229 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKeys | Row Keys |
colKey | Col Key |
Definition at line 1350 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKeys | Row Keys |
colKey | Col Key |
Definition at line 1220 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKeys | Row Keys |
colKey | Col Key |
Definition at line 1342 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
Definition at line 1209 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
Definition at line 1332 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
Definition at line 1198 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
Definition at line 1322 of file KeyedMatrix.hpp.
|
inlineprivate |
Checks if the row and col keys are describing a continuous block.
rowKeys | Row keys |
colKeys | Col keys |
P | Size of the row keys |
Q | Size of the col keys |
Definition at line 1430 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col key.
colKey | Col Key |
Definition at line 1307 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col key.
colKey | Col Key |
Definition at line 1303 of file KeyedMatrix.hpp.
|
inlinenodiscard |
Calculates the inverse matrix.
Definition at line 1419 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col keys.
colKeys | Col Keys |
Definition at line 1286 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col keys.
colKeys | Col Keys |
Definition at line 1401 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col keys.
colKeys | Col Keys |
Definition at line 1276 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col keys.
colKeys | Col Keys |
Definition at line 1392 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row keys.
rowKeys | Row Keys |
Definition at line 1266 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row keys.
rowKeys | Row Keys |
Definition at line 1383 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row keys.
rowKeys | Row Keys |
Definition at line 1256 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row keys.
rowKeys | Row Keys |
Definition at line 1374 of file KeyedMatrix.hpp.
|
inlineexplicit |
Conversion into Eigen::Matrix.
Definition at line 1187 of file KeyedMatrix.hpp.
|
inline |
Requests the full matrix.
Definition at line 1185 of file KeyedMatrix.hpp.
|
inline |
Requests the full matrix.
Definition at line 1183 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col keys.
colKey | Col Key |
Definition at line 1164 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col key.
colKey | Col Key |
Definition at line 1160 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col keys.
colKeys | Col Keys |
Definition at line 1180 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the col keys.
colKeys | Col Keys |
Definition at line 1176 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row key.
rowKey | Row Key |
Definition at line 1156 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row key.
rowKey | Row Key |
Definition at line 1152 of file KeyedMatrix.hpp.
|
inline |
Gets the value for the row and col key.
rowKey | Row Key |
colKey | Col Key |
Definition at line 1093 of file KeyedMatrix.hpp.
|
inline |
Gets the value for the row and col key.
rowKey | Row Key |
colKey | Col Key |
Definition at line 1085 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKey | Row Key |
colKeys | Col Keys |
Definition at line 1147 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKey | Row Key |
colKeys | Col Keys |
Definition at line 1142 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row keys.
rowKeys | Row Keys |
Definition at line 1172 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row keys.
rowKeys | Row Keys |
Definition at line 1168 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKeys | Row Keys |
colKey | Col Key |
Definition at line 1137 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
rowKeys | Row Keys |
colKey | Col Key |
Definition at line 1132 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
Definition at line 1117 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row and col keys.
Definition at line 1102 of file KeyedMatrix.hpp.
|
inline |
Copy assignment operator.
other | The other object |
Definition at line 957 of file KeyedMatrix.hpp.
|
inline |
Copy assignment operator.
other | The other object |
Definition at line 1023 of file KeyedMatrix.hpp.
|
inlinenoexcept |
Move assignment operator.
other | The other object |
Definition at line 985 of file KeyedMatrix.hpp.
|
inlinenoexcept |
Move assignment operator.
other | The other object |
Definition at line 1059 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row key.
rowKey | Row Key |
Definition at line 1299 of file KeyedMatrix.hpp.
|
inline |
Gets the values for the row key.
rowKey | Row Key |
Definition at line 1295 of file KeyedMatrix.hpp.
|
inlinenodiscard |
Calculates the transposed matrix.
Definition at line 1413 of file KeyedMatrix.hpp.