File MatrixWithDerivatives.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
template<>
structMatrixType
<Utils::derivOrder::one>¶
-
template<>
structMatrixType
<Utils::derivOrder::two>¶
-
namespace
Scine
This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils
Functions
-
template<>
MatrixWithDerivatives::Matrix0 &get
<Utils::derivOrder::zero>()¶
-
template<>
MatrixWithDerivatives::Matrix1 &get
<Utils::derivOrder::one>()¶
-
template<>
MatrixWithDerivatives::Matrix2 &get
<Utils::derivOrder::two>()¶
-
template<>
const MatrixWithDerivatives::Matrix0 &get
<Utils::derivOrder::zero>() const¶
-
template<>
const MatrixWithDerivatives::Matrix1 &get
<Utils::derivOrder::one>() const¶
-
template<>
const MatrixWithDerivatives::Matrix2 &get
<Utils::derivOrder::two>() const¶
-
class
MatrixWithDerivatives
- #include <MatrixWithDerivatives.h>
Container for a matrix and the derivatives of its elements.
Public Types
-
using
Der0
= double¶
-
using
Der1
= Utils::AutomaticDifferentiation::First3D¶
-
using
Der2
= Utils::AutomaticDifferentiation::Second3D¶
-
using
Matrix0
= Eigen::MatrixXd¶
-
using
Matrix
= typename MatrixType<o>::MType¶
Public Functions
-
MatrixWithDerivatives
(int rows = 0, int cols = 0)¶
-
void
setOrder
(Utils::derivOrder o)¶
-
template<Utils::derivOrder
O
>
Matrix<O> &get
()¶
-
template<Utils::derivOrder
O
>
const Matrix<O> &get
() const¶
-
Eigen::MatrixXd
getMatrixXd
() const Get a copy of the underlying matrix, without derivatives.
-
void
setDimension
(int rows, int cols) Initializes the members with dimensions given as parameters.
-
void
setBaseMatrix
(const Eigen::MatrixXd &m) Sets the base matrix to m. Implicitly calls setDimension with correct dimensions.
-
double
getValue
(int i, int j) const¶
-
template<Utils::derivOrder
O
>
structMatrixType
¶
-
template<>
structMatrixType
<Utils::derivOrder::one> Public Types
-
template<>
usingMType
= Matrix1
-
template<>
-
template<>
structMatrixType
<Utils::derivOrder::two> Public Types
-
template<>
usingMType
= Matrix2
-
template<>
-
using
-
template<>
-
namespace