- group acts-algebra-types
These are the default vector/matrix types that should be used throughout the codebase.
They all use the common Acts scalar type but support variable size either at compile- or runtime.
Eigen does not have a distinct type for symmetric matrices. A typedef for fixed-size matrices is still defined to simplify definition (one template size vs two template size for generic matrices) and to clarify semantic meaning in interfaces. It also ensures that the matrix is square. However, the user is responsible for ensuring that the values are symmetric.
Without a distinct type for symmetric matrices, there is no way to provide any conditions e.g. square size, for the dynamic-sized case. Consequently, no dynamic-sized symmetric matrix type is defined. Use the
template<unsigned int kRows, unsigned int kCols>
using ActsMatrix = Eigen::Matrix<ActsScalar, kRows, kCols>
using ActsScalar = double
Common scalar (floating point type used for the default algebra types.
doublebut can be customized by the user.
- template<unsigned int kRows, unsigned int kCols>