16 #include <Eigen/Dense>
17 #include <Eigen/Sparse>
23 #ifdef SHAPEOP_DONT_ALIGN
24 #define SHAPEOP_ALIGNMENT Eigen::DontAlign
26 #define SHAPEOP_ALIGNMENT Eigen::AutoAlign
30 typedef ShapeOpScalar Scalar;
32 template <
int Rows,
int Cols,
int Options = (Eigen::ColMajor | SHAPEOP_ALIGNMENT) >
33 using MatrixT = Eigen::Matrix<Scalar, Rows, Cols, Options>;
34 typedef MatrixT<2, 1> Vector2;
35 typedef MatrixT<2, 2> Matrix22;
36 typedef MatrixT<2, 3> Matrix23;
37 typedef MatrixT<3, 1> Vector3;
38 typedef MatrixT<3, 2> Matrix32;
39 typedef MatrixT<3, 3> Matrix33;
40 typedef MatrixT<3, 4> Matrix34;
41 typedef MatrixT<4, 1> Vector4;
42 typedef MatrixT<4, 4> Matrix44;
43 typedef MatrixT<3, Eigen::Dynamic> Matrix3X;
44 typedef MatrixT<Eigen::Dynamic, 3> MatrixX3;
45 typedef MatrixT<Eigen::Dynamic, 1> VectorX;
46 typedef MatrixT<Eigen::Dynamic, Eigen::Dynamic> MatrixXX;
48 template<
int Options = Eigen::ColMajor>
49 using SparseMatrixT = Eigen::SparseMatrix<Scalar, Options>;
50 typedef SparseMatrixT<> SparseMatrix;
51 typedef Eigen::Triplet<Scalar> Triplet;