24 #ifndef SVD_EIGEN_HH_HPP 25 #define SVD_EIGEN_HH_HPP 33 inline double PYTHAG(
double a,
double b) {
39 return at*
sqrt(1.0+ct*ct);
45 return bt*
sqrt(1.0+ct*ct);
51 inline double SIGN(
double a,
double b) {
52 return ((b) >= 0.0 ? fabs(a) : -fabs(a));
67 int svd_eigen_HH(
const Eigen::MatrixXd& A,Eigen::MatrixXd& U,Eigen::VectorXd& S,Eigen::MatrixXd& V,Eigen::VectorXd& tmp,
int maxiter=150,
double epsilon=1e-300);
double SIGN(double a, double b)
double epsilon
default precision while comparing with Equal(..,..) functions. Initialized at 0.0000001.
int svd_eigen_HH(const Eigen::MatrixXd &A, Eigen::MatrixXd &U, Eigen::VectorXd &S, Eigen::MatrixXd &V, Eigen::VectorXd &tmp, int maxiter, double epsilon)
INLINE Rall1d< T, V, S > sqrt(const Rall1d< T, V, S > &arg)
double PYTHAG(double a, double b)