Epetra_LAPACK_wrappers.h

Go to the documentation of this file.
00001 
00002 //@HEADER
00003 /*
00004 ************************************************************************
00005 
00006               Epetra: Linear Algebra Services Package 
00007                 Copyright (2001) Sandia Corporation
00008 
00009 Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
00010 license for use of this work by or on behalf of the U.S. Government.
00011 
00012 This library is free software; you can redistribute it and/or modify
00013 it under the terms of the GNU Lesser General Public License as
00014 published by the Free Software Foundation; either version 2.1 of the
00015 License, or (at your option) any later version.
00016  
00017 This library is distributed in the hope that it will be useful, but
00018 WITHOUT ANY WARRANTY; without even the implied warranty of
00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00020 Lesser General Public License for more details.
00021  
00022 You should have received a copy of the GNU Lesser General Public
00023 License along with this library; if not, write to the Free Software
00024 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00025 USA
00026 Questions? Contact Michael A. Heroux (maherou@sandia.gov) 
00027 
00028 ************************************************************************
00029 */
00030 //@HEADER
00031 
00032 #ifndef EPETRA_LAPACK_WRAPPERS_H
00033 #define EPETRA_LAPACK_WRAPPERS_H
00034 
00035 #include "Epetra_ConfigDefs.h"
00036 #if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
00037 
00038 #ifdef CRAY_T3X
00039 
00040 #include "fortran.h"
00041 #define Epetra_fcd fcd
00042 #define PREFIX
00043 
00044 /* CRAY Single precision is used like everyone else's double precision */
00045 #define DGECON_F77  SGECON
00046 #define DGEEQU_F77  SGEEQU
00047 #define DGEEV_F77   SGEEV
00048 #define DGEEVX_F77  SGEEVX
00049 #define DGEHRD_F77  SGEHRD
00050 #define DGELS_F77   SGELS
00051 #define DGELSS_F77  SGELSS
00052 #define DGEQPF_F77  SGEQPF
00053 #define DGERFS_F77  SGERFS
00054 #define DGESDD_F77  SGESDD
00055 #define DGESVD_F77  SGESVD
00056 #define DGESV_F77   SGESV
00057 #define DGESVX_F77  SGESVX
00058 #define DGETRF_F77  SGETRF
00059 #define DGETRI_F77  SGETRI
00060 #define DGETRS_F77  SGETRS
00061 #define DGGEV_F77   SGGEV
00062 #define DGGLSE_F77  SGGLSE
00063 #define DGGSVD_F77  SGGSVD
00064 #define DHSEQR_F77  SHSEQR
00065 #define DLAIC1_F77  SLAIC1
00066 #define DLAMCH_F77  SLAMCH
00067 #define DLASWP_F77  SLASWP
00068 #define DORGHR_F77  SORGHR
00069 #define DORMHR_F77  SORMHR
00070 #define DPOCON_F77  SPOCON
00071 #define DPOEQU_F77  SPOEQU
00072 #define DPORFS_F77  SPORFS
00073 #define DPOSV_F77   SPOSV
00074 #define DPOSVX_F77  SPOSVX
00075 #define DPOTRF_F77  SPOTRF
00076 #define DPOTRI_F77  SPOTRI
00077 #define DPOTRS_F77  SPOTRS
00078 #define DSPEV_F77   SSPEV
00079 #define DSPGV_F77   SSPGV
00080 #define DSTEV_F77   SSTEV
00081 #define DSYEVD_F77  SSYEVD
00082 #define DSYEV_F77   SSYEV
00083 #define DSYEVR_F77  SSYEVR
00084 #define DSYEVX_F77  SSYEVX
00085 #define DSYGV_F77   SSYGV
00086 #define DSYGVX_F77  SSYGVX
00087 #define DTREVC_F77  STREVC
00088 #define DTREXC_F77  STREXC
00089 /* Done with T3X double precision */
00090 #endif
00091 
00092 #if defined(INTEL_CXML)
00093 
00094 #define Epetra_fcd const char *, const unsigned int
00095 #define PREFIX __stdcall
00096 
00097 #endif
00098 
00099 #if defined(INTEL_MKL)
00100 
00101 #define Epetra_fcd const char *
00102 #define PREFIX
00103 
00104 #endif
00105 
00106 /* The remainder of this block is for T3X, CXML and MKL */
00107 
00108 #ifdef F77_FUNC
00109 #undef F77_FUNC
00110 #endif
00111 
00112 #define F77_FUNC(lcase,UCASE) UCASE
00113 
00114 #else
00115 /* Not defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
00116 
00117 #define Epetra_fcd const char *
00118 #define PREFIX
00119 
00120 /* Use autoconf's definition of F77_FUNC
00121    unless using old make system */
00122 
00123 #ifndef HAVE_CONFIG_H
00124 
00125 #ifdef F77_FUNC
00126 #undef F77_FUNC
00127 #endif
00128 
00129 #ifdef TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE
00130 #define F77_FUNC(lcase,UCASE) lcase
00131 #else /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE not defined*/
00132 #define F77_FUNC(lcase,UCASE) lcase ## _
00133 #endif /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE */
00134 
00135 #endif /* !HAVE_CONFIG_H */
00136 #endif /* defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
00137 
00138 #ifndef CRAY_T3X
00139 
00140 #define DGECON_F77  F77_FUNC(dgecon,DGECON)
00141 #define DGEEQU_F77  F77_FUNC(dgeequ,DGEEQU)
00142 #define DGEEV_F77   F77_FUNC(dgeev,DGEEV)
00143 #define DGEEVX_F77  F77_FUNC(dgeevx,DGEEVX)
00144 #define DGEHRD_F77  F77_FUNC(dgehrd,DGEHRD)
00145 #define DGELS_F77   F77_FUNC(dgels,DGELS)
00146 #define DGELSS_F77  F77_FUNC(dgelss,DGELSS)
00147 #define DGEQPF_F77  F77_FUNC(dgeqpf,DGEQPF)
00148 #define DGERFS_F77  F77_FUNC(dgerfs,DGERFS)
00149 #define DGESDD_F77  F77_FUNC(dgesdd,DGESDD)
00150 #define DGESVD_F77  F77_FUNC(dgesvd,DGESVD)
00151 #define DGESV_F77   F77_FUNC(dgesv,DGESV)
00152 #define DGESVX_F77  F77_FUNC(dgesvx,DGESVX)
00153 #define DGETRF_F77  F77_FUNC(dgetrf,DGETRF)
00154 #define DGETRI_F77  F77_FUNC(dgetri,DGETRI)
00155 #define DGETRS_F77  F77_FUNC(dgetrs,DGETRS)
00156 #define DGGEV_F77   F77_FUNC(dggev,DGGEV)
00157 #define DGGLSE_F77  F77_FUNC(dgglse,DGGLSE)
00158 #define DGGSVD_F77  F77_FUNC(dggsvd,DGGSVD)
00159 #define DHSEQR_F77  F77_FUNC(dhseqr,DHSEQR)
00160 #define DLAIC1_F77  F77_FUNC(dlaic1,DLAIC1)
00161 #define DLAMCH_F77  F77_FUNC(dlamch,DLAMCH)
00162 #define DLASWP_F77  F77_FUNC(dlaswp,DLASWP)
00163 #define DORGHR_F77  F77_FUNC(dorghr,DORGHR)
00164 #define DORMHR_F77  F77_FUNC(dormhr,DORMHR)
00165 #define DPOCON_F77  F77_FUNC(dpocon,DPOCON)
00166 #define DPOEQU_F77  F77_FUNC(dpoequ,DPOEQU)
00167 #define DPORFS_F77  F77_FUNC(dporfs,DPORFS)
00168 #define DPOSV_F77   F77_FUNC(dposv,DPOSV)
00169 #define DPOSVX_F77  F77_FUNC(dposvx,DPOSVX)
00170 #define DPOTRF_F77  F77_FUNC(dpotrf,DPOTRF)
00171 #define DPOTRI_F77  F77_FUNC(dpotri,DPOTRI)
00172 #define DPOTRS_F77  F77_FUNC(dpotrs,DPOTRS)
00173 #define DSPEV_F77   F77_FUNC(dspev,DSPEV)
00174 #define DSPGV_F77   F77_FUNC(dspgv,DSPGV)
00175 #define DSTEV_F77   F77_FUNC(dstev,DSTEV)
00176 #define DSYEVD_F77   F77_FUNC(dsyevd,DSYEVD)
00177 #define DSYEV_F77   F77_FUNC(dsyev,DSYEV)
00178 #define DSYEVR_F77  F77_FUNC(dsyevr,DSYEVR)
00179 #define DSYEVX_F77  F77_FUNC(dsyevx,DSYEVX)
00180 #define DSYGV_F77   F77_FUNC(dsygv,DSYGV)
00181 #define DSYGVX_F77  F77_FUNC(dsygvx,DSYGVX)
00182 #define DTREVC_F77  F77_FUNC(dtrevc,DTREVC)
00183 #define DTREXC_F77  F77_FUNC(dtrexc,DTREXC)
00184 
00185 /* End of defines for double precision when not on a T3X */
00186 
00187 #endif 
00188 
00189 /* The following defines are good for all platforms */
00190 
00191 #define SGECON_F77  F77_FUNC(sgecon,SGECON)
00192 #define SGEEQU_F77  F77_FUNC(sgeequ,SGEEQU)
00193 #define SGEEV_F77   F77_FUNC(sgeev,SGEEV)
00194 #define SGEEVX_F77  F77_FUNC(sgeevx,SGEEVX)
00195 #define SGEHRD_F77  F77_FUNC(sgehrd,SGEHRD)
00196 #define SGELS_F77   F77_FUNC(sgels,SGELS)
00197 #define SGELSS_F77  F77_FUNC(sgelss,SGELSS)
00198 #define SGEQPF_F77  F77_FUNC(sgeqpf,SGEQPF)
00199 #define SGERFS_F77  F77_FUNC(sgerfs,SGERFS)
00200 #define SGESDD_F77  F77_FUNC(sgesdd,SGESDD)
00201 #define SGESVD_F77  F77_FUNC(sgesvd,SGESVD)
00202 #define SGESV_F77   F77_FUNC(sgesv,SGESV)
00203 #define SGESVX_F77  F77_FUNC(sgesvx,SGESVX)
00204 #define SGETRF_F77  F77_FUNC(sgetrf,SGETRF)
00205 #define SGETRI_F77  F77_FUNC(sgetri,SGETRI)
00206 #define SGETRS_F77  F77_FUNC(sgetrs,SGETRS)
00207 #define SGGEV_F77   F77_FUNC(sggev,SGGEV)
00208 #define SGGLSE_F77  F77_FUNC(sgglse,SGGLSE)
00209 #define SGGSVD_F77  F77_FUNC(sggsvd,SGGSVD)
00210 #define SHSEQR_F77  F77_FUNC(shseqr,SHSEQR)
00211 #define SLAMCH_F77  F77_FUNC(slamch,SLAMCH)
00212 #define SORGHR_F77  F77_FUNC(sorghr,SORGHR)
00213 #define SORMHR_F77  F77_FUNC(sormhr,SORMHR)
00214 #define SPOCON_F77  F77_FUNC(spocon,SPOCON)
00215 #define SPOEQU_F77  F77_FUNC(spoequ,SPOEQU)
00216 #define SPORFS_F77  F77_FUNC(sporfs,SPORFS)
00217 #define SPOSV_F77   F77_FUNC(sposv,SPOSV)
00218 #define SPOSVX_F77  F77_FUNC(sposvx,SPOSVX)
00219 #define SPOTRF_F77  F77_FUNC(spotrf,SPOTRF)
00220 #define SPOTRI_F77  F77_FUNC(spotri,SPOTRI)
00221 #define SPOTRS_F77  F77_FUNC(spotrs,SPOTRS)
00222 #define SSPEV_F77   F77_FUNC(sspev,SSPEV)
00223 #define SSPGV_F77   F77_FUNC(sspgv,SSPGV)
00224 #define SSTEV_F77   F77_FUNC(sstev,SSTEV)
00225 #define SSYEVD_F77   F77_FUNC(ssyevd,SSYEVD)
00226 #define SSYEV_F77   F77_FUNC(ssyev,SSYEV)
00227 #define SSYEVR_F77  F77_FUNC(ssyevr,SSYEVR)
00228 #define SSYEVX_F77  F77_FUNC(ssyevx,SSYEVX)
00229 #define SSYGV_F77   F77_FUNC(ssygv,SSYGV)
00230 #define SSYGVX_F77  F77_FUNC(ssygvx,SSYGVX)
00231 #define STREVC_F77  F77_FUNC(strevc,STREVC)
00232 #define STREXC_F77  F77_FUNC(strexc,STREXC)
00233 
00234 #ifdef __cplusplus
00235 extern "C" {
00236 #endif
00237 
00238 
00239   void PREFIX DGECON_F77(Epetra_fcd norm, const int* n, const double* a, const int* lda, const double *anorm, double * rcond, 
00240        double * work, int * iwork, int* info); 
00241   void PREFIX DGEEQU_F77(const int* m, const int* n, const double* a, const int* lda, double * r, double * c, double * rowcnd, 
00242        double * colcnd, double * amax, int* info); 
00243   void PREFIX DGEEV_F77(Epetra_fcd, Epetra_fcd, const int* n, double* a, const int* lda, double* wr, double* wi, 
00244       double* vl, const int* ldvl, 
00245       double* vr, const int* ldvr, double* work, const int* lwork, int* info); 
00246   void PREFIX DGEEVX_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, 
00247        double * wr, double * wi, double * vl, const int * ldvl, double * vr, const int * ldvr, 
00248        int * ilo, int * ihi, double * scale, double * abnrm, double * rconde, double * rcondv, 
00249        double * work, const int * lwork, int * iwork, int * info);
00250   void PREFIX DGEHRD_F77(const int * n, const int * ilo, const int * ihi, double * A, const int * lda, double * tau, double * work, 
00251        const int * lwork, int * info); 
00252   void PREFIX DGELS_F77(Epetra_fcd ch, const int* m, const int* n, const int* nrhs, double* a, const int* lda, double* b, const int* ldb, 
00253       double* work, const int* lwork, int* info); 
00254   void PREFIX DGELSS_F77(const int * m, const int * n, const int * nrhs, double * a, const int * lda, double * b, const int * ldb, 
00255        double * s, const double * rcond, int * rank, double * work, const int * lwork, int * info); 
00256   void PREFIX DGEQPF_F77(const int * m, const int * n, double * a, const int * lda, int * jpvt, double * tau, double * work, int * info); 
00257   void PREFIX DGERFS_F77(Epetra_fcd, const int * n, const int * nrhs, const double * a, const int * lda, const double * af, const int * ldaf, 
00258        const int*ipiv, const double * b, const int * ldb, double * x, const int * ldx, double * ferr, double * berr, 
00259        double * work, int * iwork, int * info);
00260 
00261   void PREFIX DGESDD_F77(Epetra_fcd, const int * m, const int * n, double * a, const int * lda, double * s, double * u, 
00262        const int * ldu, double * vt, const int * ldvt, double * work, const int * lwork, int * iwork, int * info); 
00263 
00264   void PREFIX DGESVD_F77(Epetra_fcd, Epetra_fcd, const int* m, const int* n, double* a, const int* lda, double* s, double* u, 
00265        const int* ldu, double* vt, const int* ldvt, double* work, const int* lwork, int* info);
00266   void PREFIX DGESV_F77(const int * n, const int * nrhs, double* a, const int* lda, int*ipiv, double*x , const int* ldx, int* info);
00267   void PREFIX DGESVX_F77(Epetra_fcd, Epetra_fcd, const int * n, const int * nrhs, double * a, const int * lda, double * af, 
00268        const int * ldaf, int*ipiv, Epetra_fcd, double * r, double *c, double * b, const int * ldb, 
00269        double * x, const int * ldx, double * rcond, double * ferr, double * berr, double * 
00270        work, int * iwork, int * info);
00271   void PREFIX DGETRF_F77(const int* m, const int* n, double* a, const int* lda, int* ipiv, int* info); 
00272   void PREFIX DGETRI_F77(const int* n, double* a, const int* lda, int*ipiv, double * work , const int* lwork, int* info);
00273   void PREFIX DGETRS_F77(Epetra_fcd, const int* n, const int* nrhs, const double* a, const int* lda, const int* ipiv, double* x , 
00274        const int* ldx, int* info);
00275   void PREFIX DGGEV_F77(Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, double * b, const int * ldb, 
00276       double * alphar, double * alphai, double * beta, double * vl, const int * ldvl, 
00277       double * vr, const int * ldvr, double * work, const int * lwork, int * info); 
00278   void PREFIX DGGLSE_F77(const int * m, const int * n, const int * p, double * a, const int * lda, double * b, const int * ldb, 
00279        double * c, double * d, double * x, double * work, const int * lwork, int * info); 
00280   void PREFIX DGGSVD_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * m, const int * n, const int * p, int * k, int * l, 
00281        double * a, const int * lda, double * b, const int * ldb, double * alpha, double * beta, 
00282        double * u, const int * ldu, double * v, const int * ldv, double * q, const int * ldq, double * work, 
00283        int * iwork, int * info); 
00284   void PREFIX DHSEQR_F77(Epetra_fcd job, Epetra_fcd, const int * n, const int * ilo, const int * ihi, double * h, const int * ldh, 
00285        double * wr, double * wi, double * z, const int * ldz, double * work, const int * lwork, int * info); 
00286   double PREFIX DLAMCH_F77(Epetra_fcd);
00287   void PREFIX DORGHR_F77(const int * n, const int * ilo, const int * ihi, double * a, const int * lda, const double * tau, double * work, 
00288        const int * lwork, int * info); 
00289   void PREFIX DORMHR_F77(Epetra_fcd, Epetra_fcd, const int * m, const int * n, const int * ilo, const int * ihi, const double * a, 
00290        const int * lda, const double * tau, double * c, const int * ldc, double * work, const int * lwork, int * info); 
00291   void PREFIX DPOCON_F77(Epetra_fcd, const int* n, const double* a, const int* lda, const double * anorm, double * rcond, 
00292        double * work, int * iwork, int* info); 
00293   void PREFIX DPOEQU_F77(const int* n, const double* a, const int* lda, double * s, double * scond, double * amax, int* info); 
00294   void PREFIX DPORFS_F77(Epetra_fcd, const int * n, const int * nrhs, const double * a, const int * lda, const double * af, const int * ldaf, 
00295        const double * b, const int * ldb, double * x, const int * ldx, double * ferr, double * berr, 
00296        double * work, int * iwork, int * info);
00297   void PREFIX DPOSV_F77(Epetra_fcd, const int * n, const int * nrhs, const double* a, const int* lda, double*x , const int* ldx, int* info);
00298   void PREFIX DPOSVX_F77(Epetra_fcd, Epetra_fcd, const int * n, const int * nrhs, double * a, const int * lda, double * af,
00299        const int * ldaf, Epetra_fcd, double * s, double * b, const int * ldb, double * x, 
00300        const int * ldx, double * rcond, double * ferr, double * berr, double * work, 
00301        int * iwork, int * info); 
00302   void PREFIX DPOTRF_F77(Epetra_fcd, const int* n, double* a, const int* lda, int* info); 
00303   void PREFIX DPOTRI_F77(Epetra_fcd, const int* n, double* a, const int* lda, int* info); 
00304   void PREFIX DPOTRS_F77(Epetra_fcd, const int * n, const int * nrhs, const double* a, const int* lda, double*x , 
00305        const int* ldx, int* info);
00306   void PREFIX DSPEV_F77( Epetra_fcd, Epetra_fcd,const  int * n, double * ap, double * w, double * z, 
00307        const int * ldz, double * work, int * info); 
00308   void PREFIX DSPGV_F77(const int * itype, Epetra_fcd, Epetra_fcd, const int * n, double * ap, double * bp, 
00309       double * w, double * z, const int * ldz, double * work, int * info); 
00310   void PREFIX DSTEV_F77(Epetra_fcd jobz, const int * n, double * d, double * e, double * z, const int * ldz, 
00311       double * work, int * info); 
00312   void PREFIX DSYEVD_F77(Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, double * w, 
00313        double * work, const int * lwork, int * iwork, const int * liwork,int * info); 
00314   void PREFIX DSYEV_F77(Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, double * w, 
00315       double * work, const int * lwork, int * info); 
00316   void PREFIX DSYEVR_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, 
00317        const double * vl, const double * vu, const int * il, const int * iu, const 
00318        double * abstol, int * m, 
00319        double * w, double * z, const int * ldz,  int * isuppz, double * work, 
00320        const int * lwork, int * iwork, const int * liwork, int * info); 
00321   void PREFIX DSYEVX_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, 
00322        const double * vl, const double * vu, const int * il, const int * iu, const double * abstol, int * m, 
00323        double * w, double * z, const int * ldz, double * work, const int * lwork, int * iwork, 
00324        int * ifail, int * info); 
00325   void PREFIX DSYGV_F77(const int * itype, Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, 
00326       double * b, const int * ldb, double * w, double * work, const int * lwork, int * info); 
00327   void PREFIX DSYGVX_F77(const int * itype, Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, double * a, 
00328        const int * lda, double * b, const int * ldb, const double * vl, const double * vu, const int * il, 
00329        const int * iu, const double * abstol, int * m, double * w, double * z, const int * ldz, 
00330        double * work, const int * lwork, int * iwork, int * ifail, int * info); 
00331   void PREFIX DTREVC_F77(Epetra_fcd, Epetra_fcd, int * select, const int * n, const double * t, const int * ldt, 
00332        double *vl, const int * ldvl, double * vr, const int * ldvr, const int * mm, int * m, 
00333        double * work, int * info); 
00334   void PREFIX DTREXC_F77(Epetra_fcd, const int * n, double * t, const int * ldt, double * q, const int * ldq, 
00335        int * ifst, int * ilst, double * work, int * info); 
00336 
00337 
00338   void PREFIX SGECON_F77(Epetra_fcd norm, const int* n, const float* a, const int* lda, const float *anorm, float * rcond, 
00339        float * work, int * iwork, int* info); 
00340   void PREFIX SGEEQU_F77(const int* m, const int* n, const float* a, const int* lda, float * r, float * c, float * rowcnd, 
00341        float * colcnd, float * amax, int* info); 
00342   void PREFIX SGEEV_F77(Epetra_fcd, Epetra_fcd, const int* n, float* a, const int* lda, float* wr, float* wi, 
00343       float* vl, const int* ldvl, 
00344       float* vr, const int* ldvr, float* work, const int* lwork, int* info); 
00345   void PREFIX SGEEVX_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, 
00346        float * wr, float * wi, float * vl, const int * ldvl, float * vr, const int * ldvr, 
00347        int * ilo, int * ihi, float * scale, float * abnrm, float * rconde, float * rcondv, 
00348        float * work, const int * lwork, int * iwork, int * info);
00349   void PREFIX SGEHRD_F77(const int * n, const int * ilo, const int * ihi, float * A, const int * lda, float * tau, float * work, 
00350        const int * lwork, int * info); 
00351   void PREFIX SGELS_F77(Epetra_fcd ch, const int* m, const int* n, const int* nrhs, float* a, const int* lda, float* b, const int* ldb, 
00352       float* work, const int* lwork, int* info); 
00353   void PREFIX SGELSS_F77(const int * m, const int * n, const int * nrhs, float * a, const int * lda, float * b, const int * ldb, 
00354        float * s, const float * rcond, int * rank, float * work, const int * lwork, int * info); 
00355   void PREFIX SGEQPF_F77(const int * m, const int * n, float * a, const int * lda, int * jpvt, float * tau, float * work, int * info); 
00356   void PREFIX SGERFS_F77(Epetra_fcd, const int * n, const int * nrhs, const float * a, const int * lda, const float * af, const int * ldaf, 
00357        const int*ipiv, const float * b, const int * ldb, float * x, const int * ldx, float * ferr, float * berr, 
00358        float * work, int * iwork, int * info);
00359 
00360   void PREFIX SGESDD_F77(Epetra_fcd, const int * m, const int * n, float * a, const int * lda, float * s, float * u, 
00361        const int * ldu, float * vt, const int * ldvt, float * work, const int * lwork, int * iwork, int * info); 
00362 
00363   void PREFIX SGESVD_F77(Epetra_fcd, Epetra_fcd, const int* m, const int* n, float* a, const int* lda, float* s, float* u, 
00364        const int* ldu, float* vt, const int* ldvt, float* work, const int* lwork, int* info);
00365   void PREFIX SGESV_F77(const int * n, const int * nrhs, float* a, const int* lda, int*ipiv, float*x , const int* ldx, int* info);
00366   void PREFIX SGESVX_F77(Epetra_fcd, Epetra_fcd, const int * n, const int * nrhs, float * a, const int * lda, float * af, 
00367        const int * ldaf, int*ipiv, Epetra_fcd, float * r, float *c, float * b, const int * ldb, 
00368        float * x, const int * ldx, float * rcond, float * ferr, float * berr, float * 
00369        work, int * iwork, int * info);
00370   void PREFIX SGETRF_F77(const int* m, const int* n, float* a, const int* lda, int* ipiv, int* info); 
00371   void PREFIX SGETRI_F77(const int* n, float* a, const int* lda, int*ipiv, float * work , const int* lwork, int* info);
00372   void PREFIX SGETRS_F77(Epetra_fcd, const int* n, const int* nrhs, const float* a, const int* lda, const int* ipiv, float* x , 
00373        const int* ldx, int* info);
00374   void PREFIX SGGEV_F77(Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, float * b, const int * ldb, 
00375       float * alphar, float * alphai, float * beta, float * vl, const int * ldvl, 
00376       float * vr, const int * ldvr, float * work, const int * lwork, int * info); 
00377   void PREFIX SGGLSE_F77(const int * m, const int * n, const int * p, float * a, const int * lda, float * b, const int * ldb, 
00378        float * c, float * d, float * x, float * work, const int * lwork, int * info); 
00379   void PREFIX SGGSVD_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * m, const int * n, const int * p, int * k, int * l, 
00380        float * a, const int * lda, float * b, const int * ldb, float * alpha, float * beta, 
00381        float * u, const int * ldu, float * v, const int * ldv, float * q, const int * ldq, float * work, 
00382        int * iwork, int * info); 
00383   void PREFIX SHSEQR_F77(Epetra_fcd job, Epetra_fcd, const int * n, const int * ilo, const int * ihi, float * h, const int * ldh, 
00384        float * wr, float * wi, float * z, const int * ldz, float * work, const int * lwork, int * info); 
00385   float PREFIX SLAMCH_F77(Epetra_fcd);
00386   void PREFIX SORGHR_F77(const int * n, const int * ilo, const int * ihi, float * a, const int * lda, const float * tau, float * work, 
00387        const int * lwork, int * info); 
00388   void PREFIX SORMHR_F77(Epetra_fcd, Epetra_fcd, const int * m, const int * n, const int * ilo, const int * ihi, const float * a, 
00389        const int * lda, const float * tau, float * c, const int * ldc, float * work, const int * lwork, int * info); 
00390   void PREFIX SPOCON_F77(Epetra_fcd, const int* n, const float* a, const int* lda, const float * anorm, float * rcond, 
00391        float * work, int * iwork, int* info); 
00392   void PREFIX SPOEQU_F77(const int* n, const float* a, const int* lda, float * s, float * scond, float * amax, int* info); 
00393   void PREFIX SPORFS_F77(Epetra_fcd, const int * n, const int * nrhs, const float * a, const int * lda, const float * af, const int * ldaf, 
00394        const float * b, const int * ldb, float * x, const int * ldx, float * ferr, float * berr, 
00395        float * work, int * iwork, int * info);
00396   void PREFIX SPOSV_F77(Epetra_fcd, const int * n, const int * nrhs, const float* a, const int* lda, float*x , const int* ldx, int* info);
00397   void PREFIX SPOSVX_F77(Epetra_fcd, Epetra_fcd, const int * n, const int * nrhs, float * a, const int * lda, float * af,
00398        const int * ldaf, Epetra_fcd, float * s, float * b, const int * ldb, float * x, 
00399        const int * ldx, float * rcond, float * ferr, float * berr, float * work, 
00400        int * iwork, int * info); 
00401   void PREFIX SPOTRF_F77(Epetra_fcd, const int* n, float* a, const int* lda, int* info); 
00402   void PREFIX SPOTRI_F77(Epetra_fcd, const int* n, float* a, const int* lda, int* info); 
00403   void PREFIX SPOTRS_F77(Epetra_fcd, const int * n, const int * nrhs, const float* a, const int* lda, float*x , 
00404        const int* ldx, int* info);
00405   void PREFIX SSPEV_F77( Epetra_fcd, Epetra_fcd,const  int * n, float * ap, float * w, float * z, 
00406        const int * ldz, float * work, int * info); 
00407   void PREFIX SSPGV_F77(const int * itype, Epetra_fcd, Epetra_fcd, const int * n, float * ap, float * bp, 
00408       float * w, float * z, const int * ldz, float * work, int * info); 
00409   void PREFIX SSTEV_F77(Epetra_fcd jobz, const int * n, float * d, float * e, float * z, const int * ldz, 
00410       float * work, int * info); 
00411   void PREFIX SSYEVD_F77(Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, float * w, 
00412        float * work, const int * lwork, int * iwork, const int * liwork, int * info); 
00413   void PREFIX SSYEV_F77(Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, float * w, 
00414       float * work, const int * lwork, int * info); 
00415   void PREFIX SSYEVR_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, 
00416        const float * vl, const float * vu, const int * il, const int * iu, const 
00417        float * abstol, int * m, 
00418        float * w, float * z, const int * ldz,  int * isuppz, float * work, 
00419        const int * lwork, int * iwork, const int * liwork, int * info); 
00420   void PREFIX SSYEVX_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, 
00421        const float * vl, const float * vu, const int * il, const int * iu, const float * abstol, int * m, 
00422        float * w, float * z, const int * ldz, float * work, const int * lwork, int * iwork, 
00423        int * ifail, int * info); 
00424   void PREFIX SSYGV_F77(const int * itype, Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, 
00425       float * b, const int * ldb, float * w, float * work, const int * lwork, int * info); 
00426   void PREFIX SSYGVX_F77(const int * itype, Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, float * a, 
00427        const int * lda, float * b, const int * ldb, const float * vl, const float * vu, const int * il, 
00428        const int * iu, const float * abstol, int * m, float * w, float * z, const int * ldz, 
00429        float * work, const int * lwork, int * iwork, int * ifail, int * info); 
00430   void PREFIX STREVC_F77(Epetra_fcd, Epetra_fcd, int * select, const int * n, const float * t, const int * ldt, 
00431        float *vl, const int * ldvl, float * vr, const int * ldvr, const int * mm, int * m, 
00432        float * work, int * info); 
00433   void PREFIX STREXC_F77(Epetra_fcd, const int * n, float * t, const int * ldt, float * q, const int * ldq, 
00434        int * ifst, int * ilst, float * work, int * info); 
00435 
00436 
00437 #ifdef __cplusplus
00438 }
00439 #endif
00440 
00441 #endif /* EPETRA_LAPACK_WRAPPERS_H */

Generated on Thu Sep 18 12:37:57 2008 for Epetra Package Browser (Single Doxygen Collection) by doxygen 1.3.9.1