#include <Eigen/Dense>#include <Eigen/Eigenvalues>#include <cassert>#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | eonc |
| RAII resource manager for the ARTn C library with global synchronization. | |
Typedefs | |
| using | MatrixXd |
| using | Matrix3d = Eigen::Matrix<double, 3, 3, eOnStorageOrder> |
| using | Matrix4d = Eigen::Matrix<double, 4, 4, eOnStorageOrder> |
| using | AtomMatrix = Eigen::Matrix<double, Eigen::Dynamic, 3, eOnStorageOrder> |
| using | RotationMatrix = Eigen::Matrix<double, 3, 3, eOnStorageOrder> |
| using | AtomMatrixF = Eigen::Matrix<double, 3, Eigen::Dynamic, Eigen::ColMajor> |
Functions | |
| double | matDot (const AtomMatrix &a, const AtomMatrix &b) |
| SIMD-optimized dot product for contiguous Eigen matrices. | |
| AtomMatrix | eonc::from_fortran_layout_vector (const std::vector< double > &flat_colmajor, int nat) |
| Reconstruct AtomMatrix from a flat column-major vector (e.g. | |
Variables | |
| constexpr int | eOnStorageOrder = Eigen::RowMajor |
| using AtomMatrix = Eigen::Matrix<double, Eigen::Dynamic, 3, eOnStorageOrder> |
| using AtomMatrixF = Eigen::Matrix<double, 3, Eigen::Dynamic, Eigen::ColMajor> |
| using Matrix3d = Eigen::Matrix<double, 3, 3, eOnStorageOrder> |
| using Matrix4d = Eigen::Matrix<double, 4, 4, eOnStorageOrder> |
| using MatrixXd |
| using RotationMatrix = Eigen::Matrix<double, 3, 3, eOnStorageOrder> |
|
inline |
SIMD-optimized dot product for contiguous Eigen matrices.
Maps both operands as flat VectorXd and uses Eigen's optimized .dot() which leverages SSE/AVX intrinsics, avoiding the element-wise temporary that (a.array() * b.array()).sum() creates.
Definition at line 50 of file Eigen.h.