/* $Id$ * * Name: dsyevx_rapper.cpp * Authors: Andrea Qualizza * Pietro Belotti * Purpose: * * This file is licensed under the Eclipse Public License (EPL) */ #include #include #include #include "CoinFinite.hpp" #include "CouenneConfig.h" //#define DEBUG extern "C" { /* Lapack routine to compute orthonormal eigenvalues/eigenvectors (in Fortran) */ void COUENNE_LAPACK_FUNC(dsyevx,DSYEVX) ( char *, char *, char *, int *, double *, int *, double *, double *, int *, int *, double *, int *, double *, double *, int *, double *, int *, int *, int *, int *); } int dsyevx_interface (int n, double *A, int &m, double * &w, double * &z, // output values double tolerance, double lb_ev, double ub_ev, int firstidx, int lastidx) { #ifdef COUENNE_HAS_LAPACK #ifdef DEBUG printf ("matrix:\n---------------------------------\n"); for (int i=0; i 0) { printf("### WARNING: dsyevx_wrapper(): ifail[%d]: %d curr_ev[%d]=%.18f\n" , i, ifail [i], ifail [i], w [ifail [i]]); } } #endif } delete [] work; delete [] ifail; delete [] iwork; return m; #else printf("Couenne build without Lapack. Cannot compute SDPCuts\n"); return 0; #endif }