9 #ifndef EVENT_EVENTPRIMITIVES_H
10 #define EVENT_EVENTPRIMITIVES_H
12 #define EIGEN_MATRIXBASE_PLUGIN "EventPrimitives/AmgMatrixBasePlugin.h"
13 #define EIGEN_MATRIX_PLUGIN "EventPrimitives/AmgMatrixPlugin.h"
14 #define EIGEN_TRANSFORM_PLUGIN "EventPrimitives/AmgTransformPlugin.h"
19 #include <Eigen/Dense>
29 using MatrixX = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>;
30 using SymMatrixX = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>;
32 using VectorX = Eigen::Matrix<double, Eigen::Dynamic, 1>;
37 template <
int MaxRows,
int MaxCols>
39 Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, 0, MaxRows, MaxCols>;
43 Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, 0, MaxDim, MaxDim>;
45 template <
int MaxRows>
46 using VectorMaxX = Eigen::Matrix<double, Eigen::Dynamic, 1, 0, MaxRows, 1>;
51 #define AmgMatrix(rows, cols) Eigen::Matrix<double, rows, cols, 0, rows, cols>
52 #define AmgSymMatrix(dim) Eigen::Matrix<double, dim, dim, 0, dim, dim>
57 #define AmgVector(rows) Eigen::Matrix<double, rows, 1, 0, rows, 1>
58 #define AmgRowVector(cols) Eigen::Matrix<double, 1, cols, Eigen::RowMajor, 1, cols>