/*! @file: AdditionalIceUtils.h adds some from to ICE */ #ifndef ADDITIONALICEUTILS_H #define ADDITIONALICEUTILS_H #include "core/optimization/blackbox/Definitions_core_opt.h" namespace opt=OPTIMIZATION; /*! adds val to every element of mat @param mat matrix @param val the value to add @return mat */ OPTIMIZATION::matrix_type& MatrixAddVal ( OPTIMIZATION::matrix_type & mat, double val ); /*! sums up all elements of the matrix @param mat matrix @return $\sum_{i,j} mat(i,j)$ */ double MatrixSum(const OPTIMIZATION::matrix_type & mat); /*! Wrapper to solve linear equation A*x=b @param A matrix @param x solution @param b nx1 matrix (inhomogenity) */ void linSolve(const OPTIMIZATION::matrix_type &A, OPTIMIZATION::matrix_type &x, const OPTIMIZATION::matrix_type b); /*! Wrapper to get eigen values of a matrix @param A matrix @param L lambda vector with eigenvalues @param V marix, whose columns are the corresponding eigen vector */ void getEig(const OPTIMIZATION::matrix_type &A, OPTIMIZATION::matrix_type &L, OPTIMIZATION::matrix_type &V); #endif //ADDITIONALICEUTILS_H