File UpdateFunctionManagerBase.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 UpdateFunctionManagerBase
#include <UpdateFunctionManagerBase.h>

This class manages the two different update functions that are neccessary for a least squares optimization using Eigen.

Public Functions

virtual void updateErrors(const Eigen::VectorXd &parameters, Eigen::VectorXd &errors) = 0

Update the errors vector for the least squares optimization for a given set of parameters.

Parameters
  • parameters: The parameters.

  • errors: The error vector to update within this function.

void updateJacobian(const Eigen::VectorXd &parameters, Eigen::MatrixXd &jacobian)

Update the Jacobian matrix for the least squares optimization for a given set of parameters.

   The base implementation is a numerical Jacobian.
Parameters
  • parameters: The parameters.

  • jacobian: The Jacobian matrix to update within this function.

virtual int getNumberOfDataPoints(const Eigen::VectorXd &parameters) const = 0

This function returns the number of data points present in the least squares optimization.

Return

The number of data points present in the least squares optimization.

Parameters
  • parameters: The parameters.