/* * these are the routines that are, or support, Cowan's subplx multi-parameter * optimiation routines. some were part of lapack, and had their names slightly * changed so as to not conflict with the special lapack that exits on our exemplar. */ /* DGETRF lapack service routine */ void DGETRF(long,long,double*,long,long[],long*); /*DGETRS linpack matrix inversion routine */ void DGETRS(long int TRANS, long int N, long int NRHS, double *A, long int LDA, long int IPIV[], double *B, long int LDB, long int *INFO); /*XERBLA -- LAPACK auxiliary routine (version 2.0) -- */ void XERBLA(char *SRNAME, long int INFO); /*LSAME LAPACK auxiliary routine */ int LSAME(long int CA, long int CB); /*IDAMAX linpack service routine */ long IDAMAX(long int n, double dx[], long int incx); /*DTRSM linpack service routine */ void DTRSM(long int SIDE, long int UPLO, long int TRANSA, long int DIAG, long int M, long int N, double ALPHA, double *A, long int LDA, double *B, long int LDB); /* ILAENV lapack helper routine */ long ILAENV(long int ISPEC, char *NAME, char *OPTS, long int N1, long int N2, long int N3, long int N4); /*DSWAP linpack routine */ void DSWAP(long int n, double dx[], long int incx, double dy[], long int incy); /*DSCAL linpack routine */ void DSCAL(long int n, double da, double dx[], long int incx); /*DLASWP -- LAPACK auxiliary routine (version 2.0) --*/ void DLASWP(long int N, double *A, long int LDA, long int K1, long int K2, long int IPIV[], long int INCX); /*DGETF2 lapack service routine */ void DGETF2(long int M, long int N, double *A, long int LDA, long int IPIV[], long int *INFO); /*DGER service routine for matrix inversion */ void DGER(long int M, long int N, double ALPHA, double X[], long int INCX, double Y[], long int INCY, double *A, long int LDA); /* DGEMM matrix inversion helper routine*/ void DGEMM(long int TRANSA, long int TRANSB, long int M, long int N, long int K, double ALPHA, double *A, long int LDA, double *B, long int LDB, double BETA, double *C, long int LDC);