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