File VectorDerivatives3D.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.

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
class VectorDerivatives3D
#include <VectorDerivatives3D.h>

Class to handle 3D derivatives of 3D vectors.

Public Types

using Second3D = AutomaticDifferentiation::Second3D

Public Functions

VectorDerivatives3D()

Default Constructor.

VectorDerivatives3D(Second3D x, Second3D y, Second3D z)

Constructor from three Second3D objects.

const Second3D &x() const

Accessor function for x direction.

const Second3D &y() const

Accessor function for y direction.

const Second3D &z() const

Accessor function for z direction.

VectorDerivatives3D operator+(const VectorDerivatives3D &rhs)
VectorDerivatives3D operator-() const
VectorDerivatives3D operator*(double f) const
VectorDerivatives3D operator*(const Second3D &rhs) const
VectorDerivatives3D::Second3D dot(const VectorDerivatives3D &rhs) const
VectorDerivatives3D::Second3D dot(const Eigen::Vector3d &rhs) const
VectorDerivatives3D cross(const VectorDerivatives3D &rhs) const
VectorDerivatives3D cross(const Eigen::Vector3d &rhs) const
VectorDerivatives3D::Second3D norm() const

Public Static Functions

VectorDerivatives3D spatialVectorHessian3D(const Eigen::Vector3d &v)
VectorDerivatives3D spatialVectorHessian3DWithInverseDerivative(const Eigen::Vector3d &v)

Private Members

Second3D x_
Second3D y_
Second3D z_