Gromacs
2024.4
|
#include "gromacs/math/matrix.h"
#include "gromacs/math/vec.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/stringutil.h"
Declares routines to operate on 3x3 matrices that are boxes, ie. have zero values in their upper right triangle.
This header is distinct from matrix.h so that we can still inline these operations while not requiring headers that merely need the name Matrix3x3 to pull in the dependencies needed here.
Functions | |
static void | gmx::assertMatrixIsBoxMatrix (const Matrix3x3 gmx_used_in_debug &m) |
Assert that the matrix m describes a simulation box. More... | |
static void | gmx::assertMatrixIsBoxMatrix (const matrix gmx_used_in_debug m) |
Assert that the matrix m describes a simulation box. More... | |
static void | gmx::multiplyVectorByTransposeOfBoxMatrix (const Matrix3x3 &m, const rvec v, rvec result) |
Multiply vector v by the transpose of the box matrix m , relying on the fact that the upper triangle of the matrix is zero. | |
static RVec | gmx::multiplyVectorByTransposeOfBoxMatrix (const Matrix3x3 &m, const RVec &v) |
Multiply vector v by the transpose of the box matrix m , relying on the fact that the upper triangle of the matrix is zero. | |
static Matrix3x3 | gmx::multiplyBoxMatrices (const Matrix3x3 &a, const Matrix3x3 &b) |
Multiply box matrices, relying on the fact that their upper triangle is zero. | |
static Matrix3x3 | gmx::multiplyBoxMatrices (const Matrix3x3 &a, const matrix b) |
Multiply box matrices, relying on the fact that their upper triangle is zero. | |
static Matrix3x3 | gmx::invertBoxMatrix (const Matrix3x3 &src) |
Invert a simulation-box matrix. More... | |
static void | gmx::invertBoxMatrix (const matrix src, matrix dest) |
Invert a simulation-box matrix in src , return in dest . More... | |