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 DGEQRF_F77  SGEQRF
00060 #define DGETRI_F77  SGETRI
00061 #define DGETRS_F77  SGETRS
00062 #define DGGEV_F77   SGGEV
00063 #define DGGLSE_F77  SGGLSE
00064 #define DGGSVD_F77  SGGSVD
00065 #define DHSEQR_F77  SHSEQR
00066 #define DLAIC1_F77  SLAIC1
00067 #define DLAMCH_F77  SLAMCH
00068 #define DLARFT_F77  SLARFT
00069 #define DLASWP_F77  SLASWP
00070 #define DORGQR_F77  SORGQR
00071 #define DORGHR_F77  SORGHR
00072 #define DORMHR_F77  SORMHR
00073 #define DPOCON_F77  SPOCON
00074 #define DPOEQU_F77  SPOEQU
00075 #define DPORFS_F77  SPORFS
00076 #define DPOSV_F77   SPOSV
00077 #define DPOSVX_F77  SPOSVX
00078 #define DPOTRF_F77  SPOTRF
00079 #define DPOTRI_F77  SPOTRI
00080 #define DPOTRS_F77  SPOTRS
00081 #define DSPEV_F77   SSPEV
00082 #define DSPGV_F77   SSPGV
00083 #define DSTEV_F77   SSTEV
00084 #define DSYEVD_F77  SSYEVD
00085 #define DSYEV_F77   SSYEV
00086 #define DSYEVR_F77  SSYEVR
00087 #define DSYEVX_F77  SSYEVX
00088 #define DSYGV_F77   SSYGV
00089 #define DSYGVX_F77  SSYGVX
00090 #define DTREVC_F77  STREVC
00091 #define DTREXC_F77  STREXC
00092 /* Done with T3X double precision */
00093 #endif
00094 
00095 #if defined(INTEL_CXML)
00096 
00097 #define Epetra_fcd const char *, const unsigned int
00098 #define PREFIX __stdcall
00099 
00100 #endif
00101 
00102 #if defined(INTEL_MKL)
00103 
00104 #define Epetra_fcd const char *
00105 #define PREFIX
00106 
00107 #endif
00108 
00109 /* The remainder of this block is for T3X, CXML and MKL */
00110 
00111 #ifdef F77_BLAS_MANGLE
00112 #undef F77_BLAS_MANGLE
00113 #endif
00114 
00115 #define F77_BLAS_MANGLE(lcase,UCASE) UCASE
00116 
00117 #else
00118 /* Not defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
00119 
00120 #define Epetra_fcd const char *
00121 #define PREFIX
00122 
00123 /* Use autoconf's definition of F77_BLAS_MANGLE
00124    unless using old make system */
00125 
00126 #ifdef TRILINOS_NO_CONFIG_H
00127 
00128 #ifdef F77_BLAS_MANGLE
00129 #undef F77_BLAS_MANGLE
00130 #endif
00131 
00132 #ifdef TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE
00133 #define F77_BLAS_MANGLE(lcase,UCASE) lcase
00134 #else /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE not defined*/
00135 #define F77_BLAS_MANGLE(lcase,UCASE) lcase ## _
00136 #endif /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE */
00137 
00138 #endif /* TRILINOS_NO_CONFIG_H */
00139 #endif /* defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
00140 
00141 #ifndef CRAY_T3X
00142 
00143 #define DGECON_F77  F77_BLAS_MANGLE(dgecon,DGECON)
00144 #define DGEEQU_F77  F77_BLAS_MANGLE(dgeequ,DGEEQU)
00145 #define DGEEV_F77   F77_BLAS_MANGLE(dgeev,DGEEV)
00146 #define DGEEVX_F77  F77_BLAS_MANGLE(dgeevx,DGEEVX)
00147 #define DGEHRD_F77  F77_BLAS_MANGLE(dgehrd,DGEHRD)
00148 #define DGELS_F77   F77_BLAS_MANGLE(dgels,DGELS)
00149 #define DGELSS_F77  F77_BLAS_MANGLE(dgelss,DGELSS)
00150 #define DGEQPF_F77  F77_BLAS_MANGLE(dgeqpf,DGEQPF)
00151 #define DGERFS_F77  F77_BLAS_MANGLE(dgerfs,DGERFS)
00152 #define DGESDD_F77  F77_BLAS_MANGLE(dgesdd,DGESDD)
00153 #define DGESVD_F77  F77_BLAS_MANGLE(dgesvd,DGESVD)
00154 #define DGESV_F77   F77_BLAS_MANGLE(dgesv,DGESV)
00155 #define DGESVX_F77  F77_BLAS_MANGLE(dgesvx,DGESVX)
00156 #define DGETRF_F77  F77_BLAS_MANGLE(dgetrf,DGETRF)
00157 #define DGEQRF_F77  F77_BLAS_MANGLE(dgeqrf,DGEQRF)
00158 #define DGETRI_F77  F77_BLAS_MANGLE(dgetri,DGETRI)
00159 #define DGETRS_F77  F77_BLAS_MANGLE(dgetrs,DGETRS)
00160 #define DGGEV_F77   F77_BLAS_MANGLE(dggev,DGGEV)
00161 #define DGGLSE_F77  F77_BLAS_MANGLE(dgglse,DGGLSE)
00162 #define DGGSVD_F77  F77_BLAS_MANGLE(dggsvd,DGGSVD)
00163 #define DHSEQR_F77  F77_BLAS_MANGLE(dhseqr,DHSEQR)
00164 #define DLAIC1_F77  F77_BLAS_MANGLE(dlaic1,DLAIC1)
00165 #define DLAMCH_F77  F77_BLAS_MANGLE(dlamch,DLAMCH)
00166 #define DLARFT_F77  F77_BLAS_MANGLE(dlarft,DLARFT)
00167 #define DLASWP_F77  F77_BLAS_MANGLE(dlaswp,DLASWP)
00168 #define DORGQR_F77  F77_BLAS_MANGLE(dorgqr,DORGQR)
00169 #define DORGHR_F77  F77_BLAS_MANGLE(dorghr,DORGHR)
00170 #define DORMHR_F77  F77_BLAS_MANGLE(dormhr,DORMHR)
00171 #define DPOCON_F77  F77_BLAS_MANGLE(dpocon,DPOCON)
00172 #define DPOEQU_F77  F77_BLAS_MANGLE(dpoequ,DPOEQU)
00173 #define DPORFS_F77  F77_BLAS_MANGLE(dporfs,DPORFS)
00174 #define DPOSV_F77   F77_BLAS_MANGLE(dposv,DPOSV)
00175 #define DPOSVX_F77  F77_BLAS_MANGLE(dposvx,DPOSVX)
00176 #define DPOTRF_F77  F77_BLAS_MANGLE(dpotrf,DPOTRF)
00177 #define DPOTRI_F77  F77_BLAS_MANGLE(dpotri,DPOTRI)
00178 #define DPOTRS_F77  F77_BLAS_MANGLE(dpotrs,DPOTRS)
00179 #define DSPEV_F77   F77_BLAS_MANGLE(dspev,DSPEV)
00180 #define DSPGV_F77   F77_BLAS_MANGLE(dspgv,DSPGV)
00181 #define DSTEV_F77   F77_BLAS_MANGLE(dstev,DSTEV)
00182 #define DSYEVD_F77   F77_BLAS_MANGLE(dsyevd,DSYEVD)
00183 #define DSYEV_F77   F77_BLAS_MANGLE(dsyev,DSYEV)
00184 #define DSYEVR_F77  F77_BLAS_MANGLE(dsyevr,DSYEVR)
00185 #define DSYEVX_F77  F77_BLAS_MANGLE(dsyevx,DSYEVX)
00186 #define DSYGV_F77   F77_BLAS_MANGLE(dsygv,DSYGV)
00187 #define DSYGVX_F77  F77_BLAS_MANGLE(dsygvx,DSYGVX)
00188 #define DTREVC_F77  F77_BLAS_MANGLE(dtrevc,DTREVC)
00189 #define DTREXC_F77  F77_BLAS_MANGLE(dtrexc,DTREXC)
00190 
00191 /* End of defines for double precision when not on a T3X */
00192 
00193 #endif 
00194 
00195 /* The following defines are good for all platforms */
00196 
00197 #define SGECON_F77  F77_BLAS_MANGLE(sgecon,SGECON)
00198 #define SGEEQU_F77  F77_BLAS_MANGLE(sgeequ,SGEEQU)
00199 #define SGEEV_F77   F77_BLAS_MANGLE(sgeev,SGEEV)
00200 #define SGEEVX_F77  F77_BLAS_MANGLE(sgeevx,SGEEVX)
00201 #define SGEHRD_F77  F77_BLAS_MANGLE(sgehrd,SGEHRD)
00202 #define SGELS_F77   F77_BLAS_MANGLE(sgels,SGELS)
00203 #define SGELSS_F77  F77_BLAS_MANGLE(sgelss,SGELSS)
00204 #define SGEQPF_F77  F77_BLAS_MANGLE(sgeqpf,SGEQPF)
00205 #define SGERFS_F77  F77_BLAS_MANGLE(sgerfs,SGERFS)
00206 #define SGESDD_F77  F77_BLAS_MANGLE(sgesdd,SGESDD)
00207 #define SGESVD_F77  F77_BLAS_MANGLE(sgesvd,SGESVD)
00208 #define SGESV_F77   F77_BLAS_MANGLE(sgesv,SGESV)
00209 #define SGESVX_F77  F77_BLAS_MANGLE(sgesvx,SGESVX)
00210 #define SGETRF_F77  F77_BLAS_MANGLE(sgetrf,SGETRF)
00211 #define SGEQRF_F77  F77_BLAS_MANGLE(sgeqrf,SGEQRF)
00212 #define SGETRI_F77  F77_BLAS_MANGLE(sgetri,SGETRI)
00213 #define SGETRS_F77  F77_BLAS_MANGLE(sgetrs,SGETRS)
00214 #define SGGEV_F77   F77_BLAS_MANGLE(sggev,SGGEV)
00215 #define SGGLSE_F77  F77_BLAS_MANGLE(sgglse,SGGLSE)
00216 #define SGGSVD_F77  F77_BLAS_MANGLE(sggsvd,SGGSVD)
00217 #define SHSEQR_F77  F77_BLAS_MANGLE(shseqr,SHSEQR)
00218 #define SLAMCH_F77  F77_BLAS_MANGLE(slamch,SLAMCH)
00219 #define SLARFT_F77  F77_BLAS_MANGLE(slarft,SLARFT)
00220 #define SORGQR_F77  F77_BLAS_MANGLE(sorgqr,SORGQR)
00221 #define SORGHR_F77  F77_BLAS_MANGLE(sorghr,SORGHR)
00222 #define SORMHR_F77  F77_BLAS_MANGLE(sormhr,SORMHR)
00223 #define SPOCON_F77  F77_BLAS_MANGLE(spocon,SPOCON)
00224 #define SPOEQU_F77  F77_BLAS_MANGLE(spoequ,SPOEQU)
00225 #define SPORFS_F77  F77_BLAS_MANGLE(sporfs,SPORFS)
00226 #define SPOSV_F77   F77_BLAS_MANGLE(sposv,SPOSV)
00227 #define SPOSVX_F77  F77_BLAS_MANGLE(sposvx,SPOSVX)
00228 #define SPOTRF_F77  F77_BLAS_MANGLE(spotrf,SPOTRF)
00229 #define SPOTRI_F77  F77_BLAS_MANGLE(spotri,SPOTRI)
00230 #define SPOTRS_F77  F77_BLAS_MANGLE(spotrs,SPOTRS)
00231 #define SSPEV_F77   F77_BLAS_MANGLE(sspev,SSPEV)
00232 #define SSPGV_F77   F77_BLAS_MANGLE(sspgv,SSPGV)
00233 #define SSTEV_F77   F77_BLAS_MANGLE(sstev,SSTEV)
00234 #define SSYEVD_F77   F77_BLAS_MANGLE(ssyevd,SSYEVD)
00235 #define SSYEV_F77   F77_BLAS_MANGLE(ssyev,SSYEV)
00236 #define SSYEVR_F77  F77_BLAS_MANGLE(ssyevr,SSYEVR)
00237 #define SSYEVX_F77  F77_BLAS_MANGLE(ssyevx,SSYEVX)
00238 #define SSYGV_F77   F77_BLAS_MANGLE(ssygv,SSYGV)
00239 #define SSYGVX_F77  F77_BLAS_MANGLE(ssygvx,SSYGVX)
00240 #define STREVC_F77  F77_BLAS_MANGLE(strevc,STREVC)
00241 #define STREXC_F77  F77_BLAS_MANGLE(strexc,STREXC)
00242 
00243 #ifdef __cplusplus
00244 extern "C" {
00245 #endif
00246 
00247 
00248   void PREFIX DGECON_F77(Epetra_fcd norm, const int* n, const double* a, const int* lda, const double *anorm, double * rcond, 
00249        double * work, int * iwork, int* info); 
00250   void PREFIX DGEEQU_F77(const int* m, const int* n, const double* a, const int* lda, double * r, double * c, double * rowcnd, 
00251        double * colcnd, double * amax, int* info); 
00252   void PREFIX DGEEV_F77(Epetra_fcd, Epetra_fcd, const int* n, double* a, const int* lda, double* wr, double* wi, 
00253       double* vl, const int* ldvl, 
00254       double* vr, const int* ldvr, double* work, const int* lwork, int* info); 
00255   void PREFIX DGEEVX_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, 
00256        double * wr, double * wi, double * vl, const int * ldvl, double * vr, const int * ldvr, 
00257        int * ilo, int * ihi, double * scale, double * abnrm, double * rconde, double * rcondv, 
00258        double * work, const int * lwork, int * iwork, int * info);
00259   void PREFIX DGEHRD_F77(const int * n, const int * ilo, const int * ihi, double * A, const int * lda, double * tau, double * work, 
00260        const int * lwork, int * info); 
00261   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, 
00262       double* work, const int* lwork, int* info); 
00263   void PREFIX DGELSS_F77(const int * m, const int * n, const int * nrhs, double * a, const int * lda, double * b, const int * ldb, 
00264        double * s, const double * rcond, int * rank, double * work, const int * lwork, int * info); 
00265   void PREFIX DGEQPF_F77(const int * m, const int * n, double * a, const int * lda, int * jpvt, double * tau, double * work, int * info); 
00266   void PREFIX DGERFS_F77(Epetra_fcd, const int * n, const int * nrhs, const double * a, const int * lda, const double * af, const int * ldaf, 
00267        const int*ipiv, const double * b, const int * ldb, double * x, const int * ldx, double * ferr, double * berr, 
00268        double * work, int * iwork, int * info);
00269 
00270   void PREFIX DGESDD_F77(Epetra_fcd, const int * m, const int * n, double * a, const int * lda, double * s, double * u, 
00271        const int * ldu, double * vt, const int * ldvt, double * work, const int * lwork, int * iwork, int * info); 
00272 
00273   void PREFIX DGESVD_F77(Epetra_fcd, Epetra_fcd, const int* m, const int* n, double* a, const int* lda, double* s, double* u, 
00274        const int* ldu, double* vt, const int* ldvt, double* work, const int* lwork, int* info);
00275   void PREFIX DGESV_F77(const int * n, const int * nrhs, double* a, const int* lda, int*ipiv, double*x , const int* ldx, int* info);
00276   void PREFIX DGESVX_F77(Epetra_fcd, Epetra_fcd, const int * n, const int * nrhs, double * a, const int * lda, double * af, 
00277        const int * ldaf, int*ipiv, Epetra_fcd, double * r, double *c, double * b, const int * ldb, 
00278        double * x, const int * ldx, double * rcond, double * ferr, double * berr, double * 
00279        work, int * iwork, int * info);
00280   void PREFIX DGETRF_F77(const int* m, const int* n, double* a, const int* lda, int* ipiv, int* info); 
00281   void PREFIX DGEQRF_F77(const int* m, const int* n, double* a, const int* lda, double* tau, double* work, const int* lwork, int* info); 
00282   void PREFIX DGETRI_F77(const int* n, double* a, const int* lda, int*ipiv, double * work , const int* lwork, int* info);
00283   void PREFIX DGETRS_F77(Epetra_fcd, const int* n, const int* nrhs, const double* a, const int* lda, const int* ipiv, double* x , 
00284        const int* ldx, int* info);
00285   void PREFIX DGGEV_F77(Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, double * b, const int * ldb, 
00286       double * alphar, double * alphai, double * beta, double * vl, const int * ldvl, 
00287       double * vr, const int * ldvr, double * work, const int * lwork, int * info); 
00288   void PREFIX DGGLSE_F77(const int * m, const int * n, const int * p, double * a, const int * lda, double * b, const int * ldb, 
00289        double * c, double * d, double * x, double * work, const int * lwork, int * info); 
00290   void PREFIX DGGSVD_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * m, const int * n, const int * p, int * k, int * l, 
00291        double * a, const int * lda, double * b, const int * ldb, double * alpha, double * beta, 
00292        double * u, const int * ldu, double * v, const int * ldv, double * q, const int * ldq, double * work, 
00293        int * iwork, int * info); 
00294   void PREFIX DHSEQR_F77(Epetra_fcd job, Epetra_fcd, const int * n, const int * ilo, const int * ihi, double * h, const int * ldh, 
00295        double * wr, double * wi, double * z, const int * ldz, double * work, const int * lwork, int * info); 
00296   double PREFIX DLAMCH_F77(Epetra_fcd);
00297   void PREFIX DLARFT_F77(Epetra_fcd direct, Epetra_fcd storev, const int * n, const int * k, double * v, const int * ldv, double * tau, double * t, const int * ldt );
00298   void PREFIX DORGQR_F77(const int * m, const int * n, const int * k, double * a, const int * lda, const double * tau, double * work, 
00299        const int * lwork, int * info); 
00300   void PREFIX DORGHR_F77(const int * n, const int * ilo, const int * ihi, double * a, const int * lda, const double * tau, double * work, 
00301        const int * lwork, int * info); 
00302   void PREFIX DORMHR_F77(Epetra_fcd, Epetra_fcd, const int * m, const int * n, const int * ilo, const int * ihi, const double * a, 
00303        const int * lda, const double * tau, double * c, const int * ldc, double * work, const int * lwork, int * info); 
00304   void PREFIX DPOCON_F77(Epetra_fcd, const int* n, const double* a, const int* lda, const double * anorm, double * rcond, 
00305        double * work, int * iwork, int* info); 
00306   void PREFIX DPOEQU_F77(const int* n, const double* a, const int* lda, double * s, double * scond, double * amax, int* info); 
00307   void PREFIX DPORFS_F77(Epetra_fcd, const int * n, const int * nrhs, const double * a, const int * lda, const double * af, const int * ldaf, 
00308        const double * b, const int * ldb, double * x, const int * ldx, double * ferr, double * berr, 
00309        double * work, int * iwork, int * info);
00310   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);
00311   void PREFIX DPOSVX_F77(Epetra_fcd, Epetra_fcd, const int * n, const int * nrhs, double * a, const int * lda, double * af,
00312        const int * ldaf, Epetra_fcd, double * s, double * b, const int * ldb, double * x, 
00313        const int * ldx, double * rcond, double * ferr, double * berr, double * work, 
00314        int * iwork, int * info); 
00315   void PREFIX DPOTRF_F77(Epetra_fcd, const int* n, double* a, const int* lda, int* info); 
00316   void PREFIX DPOTRI_F77(Epetra_fcd, const int* n, double* a, const int* lda, int* info); 
00317   void PREFIX DPOTRS_F77(Epetra_fcd, const int * n, const int * nrhs, const double* a, const int* lda, double*x , 
00318        const int* ldx, int* info);
00319   void PREFIX DSPEV_F77( Epetra_fcd, Epetra_fcd,const  int * n, double * ap, double * w, double * z, 
00320        const int * ldz, double * work, int * info); 
00321   void PREFIX DSPGV_F77(const int * itype, Epetra_fcd, Epetra_fcd, const int * n, double * ap, double * bp, 
00322       double * w, double * z, const int * ldz, double * work, int * info); 
00323   void PREFIX DSTEV_F77(Epetra_fcd jobz, const int * n, double * d, double * e, double * z, const int * ldz, 
00324       double * work, int * info); 
00325   void PREFIX DSYEVD_F77(Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, double * w, 
00326        double * work, const int * lwork, int * iwork, const int * liwork,int * info); 
00327   void PREFIX DSYEV_F77(Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, double * w, 
00328       double * work, const int * lwork, int * info); 
00329   void PREFIX DSYEVR_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, 
00330        const double * vl, const double * vu, const int * il, const int * iu, const 
00331        double * abstol, int * m, 
00332        double * w, double * z, const int * ldz,  int * isuppz, double * work, 
00333        const int * lwork, int * iwork, const int * liwork, int * info); 
00334   void PREFIX DSYEVX_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, 
00335        const double * vl, const double * vu, const int * il, const int * iu, const double * abstol, int * m, 
00336        double * w, double * z, const int * ldz, double * work, const int * lwork, int * iwork, 
00337        int * ifail, int * info); 
00338   void PREFIX DSYGV_F77(const int * itype, Epetra_fcd, Epetra_fcd, const int * n, double * a, const int * lda, 
00339       double * b, const int * ldb, double * w, double * work, const int * lwork, int * info); 
00340   void PREFIX DSYGVX_F77(const int * itype, Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, double * a, 
00341        const int * lda, double * b, const int * ldb, const double * vl, const double * vu, const int * il, 
00342        const int * iu, const double * abstol, int * m, double * w, double * z, const int * ldz, 
00343        double * work, const int * lwork, int * iwork, int * ifail, int * info); 
00344   void PREFIX DTREVC_F77(Epetra_fcd, Epetra_fcd, int * select, const int * n, const double * t, const int * ldt, 
00345        double *vl, const int * ldvl, double * vr, const int * ldvr, const int * mm, int * m, 
00346        double * work, int * info); 
00347   void PREFIX DTREXC_F77(Epetra_fcd, const int * n, double * t, const int * ldt, double * q, const int * ldq, 
00348        int * ifst, int * ilst, double * work, int * info); 
00349 
00350 
00351   void PREFIX SGECON_F77(Epetra_fcd norm, const int* n, const float* a, const int* lda, const float *anorm, float * rcond, 
00352        float * work, int * iwork, int* info); 
00353   void PREFIX SGEEQU_F77(const int* m, const int* n, const float* a, const int* lda, float * r, float * c, float * rowcnd, 
00354        float * colcnd, float * amax, int* info); 
00355   void PREFIX SGEEV_F77(Epetra_fcd, Epetra_fcd, const int* n, float* a, const int* lda, float* wr, float* wi, 
00356       float* vl, const int* ldvl, 
00357       float* vr, const int* ldvr, float* work, const int* lwork, int* info); 
00358   void PREFIX SGEEVX_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, 
00359        float * wr, float * wi, float * vl, const int * ldvl, float * vr, const int * ldvr, 
00360        int * ilo, int * ihi, float * scale, float * abnrm, float * rconde, float * rcondv, 
00361        float * work, const int * lwork, int * iwork, int * info);
00362   void PREFIX SGEHRD_F77(const int * n, const int * ilo, const int * ihi, float * A, const int * lda, float * tau, float * work, 
00363        const int * lwork, int * info); 
00364   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, 
00365       float* work, const int* lwork, int* info); 
00366   void PREFIX SGELSS_F77(const int * m, const int * n, const int * nrhs, float * a, const int * lda, float * b, const int * ldb, 
00367        float * s, const float * rcond, int * rank, float * work, const int * lwork, int * info); 
00368   void PREFIX SGEQPF_F77(const int * m, const int * n, float * a, const int * lda, int * jpvt, float * tau, float * work, int * info); 
00369   void PREFIX SGERFS_F77(Epetra_fcd, const int * n, const int * nrhs, const float * a, const int * lda, const float * af, const int * ldaf, 
00370        const int*ipiv, const float * b, const int * ldb, float * x, const int * ldx, float * ferr, float * berr, 
00371        float * work, int * iwork, int * info);
00372 
00373   void PREFIX SGESDD_F77(Epetra_fcd, const int * m, const int * n, float * a, const int * lda, float * s, float * u, 
00374        const int * ldu, float * vt, const int * ldvt, float * work, const int * lwork, int * iwork, int * info); 
00375 
00376   void PREFIX SGESVD_F77(Epetra_fcd, Epetra_fcd, const int* m, const int* n, float* a, const int* lda, float* s, float* u, 
00377        const int* ldu, float* vt, const int* ldvt, float* work, const int* lwork, int* info);
00378   void PREFIX SGESV_F77(const int * n, const int * nrhs, float* a, const int* lda, int*ipiv, float*x , const int* ldx, int* info);
00379   void PREFIX SGESVX_F77(Epetra_fcd, Epetra_fcd, const int * n, const int * nrhs, float * a, const int * lda, float * af, 
00380        const int * ldaf, int*ipiv, Epetra_fcd, float * r, float *c, float * b, const int * ldb, 
00381        float * x, const int * ldx, float * rcond, float * ferr, float * berr, float * 
00382        work, int * iwork, int * info);
00383   void PREFIX SGETRF_F77(const int* m, const int* n, float* a, const int* lda, int* ipiv, int* info); 
00384   void PREFIX SGEQRF_F77(const int* m, const int* n, float* a, const int* lda, float* tau, float* work, const int* lwork, int* info); 
00385   void PREFIX SGETRI_F77(const int* n, float* a, const int* lda, int*ipiv, float * work , const int* lwork, int* info);
00386   void PREFIX SGETRS_F77(Epetra_fcd, const int* n, const int* nrhs, const float* a, const int* lda, const int* ipiv, float* x , 
00387        const int* ldx, int* info);
00388   void PREFIX SGGEV_F77(Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, float * b, const int * ldb, 
00389       float * alphar, float * alphai, float * beta, float * vl, const int * ldvl, 
00390       float * vr, const int * ldvr, float * work, const int * lwork, int * info); 
00391   void PREFIX SGGLSE_F77(const int * m, const int * n, const int * p, float * a, const int * lda, float * b, const int * ldb, 
00392        float * c, float * d, float * x, float * work, const int * lwork, int * info); 
00393   void PREFIX SGGSVD_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * m, const int * n, const int * p, int * k, int * l, 
00394        float * a, const int * lda, float * b, const int * ldb, float * alpha, float * beta, 
00395        float * u, const int * ldu, float * v, const int * ldv, float * q, const int * ldq, float * work, 
00396        int * iwork, int * info); 
00397   void PREFIX SHSEQR_F77(Epetra_fcd job, Epetra_fcd, const int * n, const int * ilo, const int * ihi, float * h, const int * ldh, 
00398        float * wr, float * wi, float * z, const int * ldz, float * work, const int * lwork, int * info); 
00399   float PREFIX SLAMCH_F77(Epetra_fcd);
00400   void PREFIX SLARFT_F77(Epetra_fcd direct, Epetra_fcd storev, const int * n, const int * k, float * v, const int * ldv, float * tau, float * t, const int * ldt );
00401   void PREFIX SORGQR_F77(const int * m, const int * n, const int * k, float * a, const int * lda, const float * tau, float * work, 
00402        const int * lwork, int * info); 
00403   void PREFIX SORGHR_F77(const int * n, const int * ilo, const int * ihi, float * a, const int * lda, const float * tau, float * work, 
00404        const int * lwork, int * info); 
00405   void PREFIX SORMHR_F77(Epetra_fcd, Epetra_fcd, const int * m, const int * n, const int * ilo, const int * ihi, const float * a, 
00406        const int * lda, const float * tau, float * c, const int * ldc, float * work, const int * lwork, int * info); 
00407   void PREFIX SPOCON_F77(Epetra_fcd, const int* n, const float* a, const int* lda, const float * anorm, float * rcond, 
00408        float * work, int * iwork, int* info); 
00409   void PREFIX SPOEQU_F77(const int* n, const float* a, const int* lda, float * s, float * scond, float * amax, int* info); 
00410   void PREFIX SPORFS_F77(Epetra_fcd, const int * n, const int * nrhs, const float * a, const int * lda, const float * af, const int * ldaf, 
00411        const float * b, const int * ldb, float * x, const int * ldx, float * ferr, float * berr, 
00412        float * work, int * iwork, int * info);
00413   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);
00414   void PREFIX SPOSVX_F77(Epetra_fcd, Epetra_fcd, const int * n, const int * nrhs, float * a, const int * lda, float * af,
00415        const int * ldaf, Epetra_fcd, float * s, float * b, const int * ldb, float * x, 
00416        const int * ldx, float * rcond, float * ferr, float * berr, float * work, 
00417        int * iwork, int * info); 
00418   void PREFIX SPOTRF_F77(Epetra_fcd, const int* n, float* a, const int* lda, int* info); 
00419   void PREFIX SPOTRI_F77(Epetra_fcd, const int* n, float* a, const int* lda, int* info); 
00420   void PREFIX SPOTRS_F77(Epetra_fcd, const int * n, const int * nrhs, const float* a, const int* lda, float*x , 
00421        const int* ldx, int* info);
00422   void PREFIX SSPEV_F77( Epetra_fcd, Epetra_fcd,const  int * n, float * ap, float * w, float * z, 
00423        const int * ldz, float * work, int * info); 
00424   void PREFIX SSPGV_F77(const int * itype, Epetra_fcd, Epetra_fcd, const int * n, float * ap, float * bp, 
00425       float * w, float * z, const int * ldz, float * work, int * info); 
00426   void PREFIX SSTEV_F77(Epetra_fcd jobz, const int * n, float * d, float * e, float * z, const int * ldz, 
00427       float * work, int * info); 
00428   void PREFIX SSYEVD_F77(Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, float * w, 
00429        float * work, const int * lwork, int * iwork, const int * liwork, int * info); 
00430   void PREFIX SSYEV_F77(Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, float * w, 
00431       float * work, const int * lwork, int * info); 
00432   void PREFIX SSYEVR_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, 
00433        const float * vl, const float * vu, const int * il, const int * iu, const 
00434        float * abstol, int * m, 
00435        float * w, float * z, const int * ldz,  int * isuppz, float * work, 
00436        const int * lwork, int * iwork, const int * liwork, int * info); 
00437   void PREFIX SSYEVX_F77(Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, 
00438        const float * vl, const float * vu, const int * il, const int * iu, const float * abstol, int * m, 
00439        float * w, float * z, const int * ldz, float * work, const int * lwork, int * iwork, 
00440        int * ifail, int * info); 
00441   void PREFIX SSYGV_F77(const int * itype, Epetra_fcd, Epetra_fcd, const int * n, float * a, const int * lda, 
00442       float * b, const int * ldb, float * w, float * work, const int * lwork, int * info); 
00443   void PREFIX SSYGVX_F77(const int * itype, Epetra_fcd, Epetra_fcd, Epetra_fcd, const int * n, float * a, 
00444        const int * lda, float * b, const int * ldb, const float * vl, const float * vu, const int * il, 
00445        const int * iu, const float * abstol, int * m, float * w, float * z, const int * ldz, 
00446        float * work, const int * lwork, int * iwork, int * ifail, int * info); 
00447   void PREFIX STREVC_F77(Epetra_fcd, Epetra_fcd, int * select, const int * n, const float * t, const int * ldt, 
00448        float *vl, const int * ldvl, float * vr, const int * ldvr, const int * mm, int * m, 
00449        float * work, int * info); 
00450   void PREFIX STREXC_F77(Epetra_fcd, const int * n, float * t, const int * ldt, float * q, const int * ldq, 
00451        int * ifst, int * ilst, float * work, int * info); 
00452 
00453 
00454 #ifdef __cplusplus
00455 }
00456 #endif
00457 
00458 #endif /* EPETRA_LAPACK_WRAPPERS_H */

Generated on Wed May 12 21:41:05 2010 for Epetra Package Browser (Single Doxygen Collection) by  doxygen 1.4.7