/* * HessianMatrix.hpp * * Created on: Sep 15, 2011 * Author: heber */ #ifndef HESSIANMATRIX_HPP_ #define HESSIANMATRIX_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include "MatrixContainer.hpp" class KeySetsContainer; /** Represents a parsed hessian matrix (second derivatives). * */ class HessianMatrix : public MatrixContainer { public: HessianMatrix(); //~HessianMatrix(); bool ParseIndices(char *name); bool SumSubManyBodyTerms(class MatrixContainer &MatrixValues, class KeySetsContainer &KeySets, int Order); bool SumSubHessians(class HessianMatrix &Fragments, class KeySetsContainer &KeySets, int Order, double sign); bool ParseFragmentMatrix(const char *name, const char *prefix, std::string suffix, int skiplines, int skipcolumns); private: bool IsSymmetric; }; #endif /* HESSIANMATRIX_HPP_ */