Teuchos - Trilinos Tools Package Version of the Day
Teuchos_LAPACK_wrappers.hpp
Go to the documentation of this file.
00001 // @HEADER
00002 // ***********************************************************************
00003 //
00004 //                    Teuchos: Common Tools Package
00005 //                 Copyright (2004) Sandia Corporation
00006 //
00007 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
00008 // license for use of this work by or on behalf of the U.S. Government.
00009 //
00010 // Redistribution and use in source and binary forms, with or without
00011 // modification, are permitted provided that the following conditions are
00012 // met:
00013 //
00014 // 1. Redistributions of source code must retain the above copyright
00015 // notice, this list of conditions and the following disclaimer.
00016 //
00017 // 2. Redistributions in binary form must reproduce the above copyright
00018 // notice, this list of conditions and the following disclaimer in the
00019 // documentation and/or other materials provided with the distribution.
00020 //
00021 // 3. Neither the name of the Corporation nor the names of the
00022 // contributors may be used to endorse or promote products derived from
00023 // this software without specific prior written permission.
00024 //
00025 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
00026 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00027 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00028 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
00029 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00030 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00031 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00032 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00033 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00034 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00035 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00036 //
00037 // Questions? Contact Michael A. Heroux (maherou@sandia.gov)
00038 //
00039 // ***********************************************************************
00040 // @HEADER
00041 
00042 #ifndef _TEUCHOS_LAPACK_WRAPPERS_HPP_
00043 #define _TEUCHOS_LAPACK_WRAPPERS_HPP_
00044 
00045 #include "Teuchos_ConfigDefs.hpp"
00046 
00050 /* Define fcd (Fortran Teuchos_fcd descriptor) for non-standard situations */
00051 
00052 #if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
00053 
00054 #if defined(CRAY_T3X)
00055 
00056 #include <fortran.h>
00057 #define PREFIX
00058 #define Teuchos_fcd fcd
00059 
00060 #define DGEQRF_F77  F77_BLAS_MANGLE(sgeqrf,SGEQRF)
00061 #define DGETRF_F77  F77_BLAS_MANGLE(sgetrf,SGETRF)
00062 #define DGETRS_F77  F77_BLAS_MANGLE(sgetrs,SGETRS)
00063 #define DLASWP_F77  F77_BLAS_MANGLE(slaswp,SLASWP)
00064 #define DGBTRF_F77  F77_BLAS_MANGLE(sgbtrf,SGBTRF)
00065 #define DGBTRS_F77  F77_BLAS_MANGLE(sgbtrs,SGBTRS)
00066 #define DGTTRF_F77  F77_BLAS_MANGLE(sgttrf,SGTTRF)
00067 #define DGTTRS_F77  F77_BLAS_MANGLE(sgttrs,SGTTRS)
00068 #define DPTTRF_F77  F77_BLAS_MANGLE(spttrf,SPTTRF)
00069 #define DPTTRS_F77  F77_BLAS_MANGLE(spttrs,SPTTRS)
00070 #define DGETRI_F77  F77_BLAS_MANGLE(sgetri,SGETRI)
00071 #define DGERFS_F77  F77_BLAS_MANGLE(sgerfs,SGERFS)
00072 #define DGBRFS_F77  F77_BLAS_MANGLE(sgbrfs,SGBRFS)
00073 #define DLATRS_F77  F77_BLAS_MANGLE(slatrs,SLATRS)
00074 #define DGECON_F77  F77_BLAS_MANGLE(sgecon,SGECON)
00075 #define DGBCON_F77  F77_BLAS_MANGLE(sgbcon,SGBCON)
00076 #define DLANGB_F77  F77_BLAS_MANGLE(slangb,SLANGB)
00077 #define DGESVX_F77  F77_BLAS_MANGLE(sgesvx,SGESVX)
00078 #define DGESV_F77   F77_BLAS_MANGLE(sgesv,SGESV)
00079 #define DGEEQU_F77  F77_BLAS_MANGLE(sgeequ,SGEEQU)
00080 #define DGBEQU_F77  F77_BLAS_MANGLE(sgbequ,SGBEQU)
00081 #define DSYTRD_F77  F77_BLAS_MANGLE(ssytrd,SSYTRD)
00082 #define DPOTRF_F77  F77_BLAS_MANGLE(spotrf,SPOTRF)
00083 #define DPOTRS_F77  F77_BLAS_MANGLE(spotrs,SPOTRS)
00084 #define DPOTRI_F77  F77_BLAS_MANGLE(spotri,SPOTRI)
00085 #define DPOCON_F77  F77_BLAS_MANGLE(spocon,SPOCON)
00086 #define DPOSV_F77   F77_BLAS_MANGLE(sposv,SPOSV)
00087 #define DPOEQU_F77  F77_BLAS_MANGLE(spoequ,SPOEQU)
00088 #define DPORFS_F77  F77_BLAS_MANGLE(sporfs,SPORFS)
00089 #define DPOSVX_F77  F77_BLAS_MANGLE(sposvx,SPOSVX)
00090 #define DLAMCH_F77  F77_BLAS_MANGLE(slamch,SLAMCH)
00091 #define DTRTRI_F77  F77_BLAS_MANGLE(strtri,STRTRI)
00092 #define DTRTRS_F77  F77_BLAS_MANGLE(strtrs,STRTRS)
00093 #define DGELS_F77   F77_BLAS_MANGLE(sgels,SGELS)
00094 #define DGELSS_F77   F77_BLAS_MANGLE(sgelss,SGELSS)
00095 #define DGEEV_F77   F77_BLAS_MANGLE(sgeev,SGEEV)
00096 #define DGESVD_F77  F77_BLAS_MANGLE(sgesvd,SGESVD)
00097 #define DGGEV_F77   F77_BLAS_MANGLE(sggev,SGGEV)
00098 #define DGGEVX_F77  F77_BLAS_MANGLE(sggevx,SGGEVX)
00099 #define DGEHRD_F77  F77_BLAS_MANGLE(sgehrd,SGEHRD)
00100 #define DHSEQR_F77  F77_BLAS_MANGLE(shseqr,SHSEQR)
00101 #define DORMQR_F77  F77_BLAS_MANGLE(sormqr,SORMQR)
00102 #define DORGQR_F77  F77_BLAS_MANGLE(sorgqr,SORGQR)
00103 #define DORGHR_F77  F77_BLAS_MANGLE(sorghr,SORGHR)
00104 #define DORMHR_F77  F77_BLAS_MANGLE(sormhr,SORMHR)
00105 #define DTREVC_F77  F77_BLAS_MANGLE(strevc,STREVC)
00106 #define DTREXC_F77  F77_BLAS_MANGLE(strexc,STREXC)
00107 #define DGEES_F77   F77_BLAS_MANGLE(sgees,SGEES)
00108 #define DSPEV_F77   F77_BLAS_MANGLE(sspev,SSPEV)
00109 #define DSYEV_F77   F77_BLAS_MANGLE(ssyev,SSYEV)
00110 #define DSYGV_F77   F77_BLAS_MANGLE(ssygv,SSYGV)
00111 #define DSTEQR_F77  F77_BLAS_MANGLE(ssteqr,SSTEQR)
00112 #define DLAPY2_F77  F77_BLAS_MANGLE(slapy2,SLAPY2)
00113 #define DLARTG_F77  F77_BLAS_MANGLE(slartg,SLARTG)
00114 #define DLARFG_F77  F77_BLAS_MANGLE(slarfg,SLARFG)
00115 #define DGEBAL_F77  F77_BLAS_MANGLE(sgebal,SGEBAL)
00116 #define DGEBAK_F77  F77_BLAS_MANGLE(sgebak,SGEBAK)
00117 #define DLARND_F77  F77_BLAS_MANGLE(slarnd,SLARND)
00118 #define DLARNV_F77  F77_BLAS_MANGLE(slarnv,SLARNV)
00119 #define ILAENV_F77  F77_BLAS_MANGLE(ilaenv,ILAENV)
00120 
00121 
00122 #ifdef HAVE_TEUCHOS_COMPLEX
00123 
00124 #define ZGEQRF_F77  F77_BLAS_MANGLE(cgeqrf,CGEQRF)
00125 #define ZUNGQR_F77  F77_BLAS_MANGLE(cungqr,CUNGQR)
00126 #define ZUNMQR_F77  F77_BLAS_MANGLE(cunmqr,CUNMQR)
00127 #define ZGETRF_F77  F77_BLAS_MANGLE(cgetrf,CGETRF)
00128 #define ZGETRS_F77  F77_BLAS_MANGLE(cgetrs,CGETRS)
00129 #define ZLASWP_F77  F77_BLAS_MANGLE(claswp,CLASWP)
00130 #define ZGBTRF_F77  F77_BLAS_MANGLE(cgbtrf,CGBTRF)
00131 #define ZGBTRS_F77  F77_BLAS_MANGLE(cgbtrs,CGBTRS)
00132 #define ZGTTRF_F77  F77_BLAS_MANGLE(cgttrf,CGTTRF)
00133 #define ZGTTRS_F77  F77_BLAS_MANGLE(cgttrs,CGTTRS)
00134 #define ZPTTRF_F77  F77_BLAS_MANGLE(cpttrf,CPTTRF)
00135 #define ZPTTRS_F77  F77_BLAS_MANGLE(cpttrs,CPTTRS)
00136 #define ZGETRI_F77  F77_BLAS_MANGLE(cgetri,CGETRI)
00137 #define ZGERFS_F77  F77_BLAS_MANGLE(cgerfs,CGERFS)
00138 #define ZGBRFS_F77  F77_BLAS_MANGLE(cgbrfs,CGBRFS)
00139 #define ZLATRS_F77  F77_BLAS_MANGLE(clatrs,CLATRS)
00140 #define ZGECON_F77  F77_BLAS_MANGLE(cgecon,CGECON)
00141 #define ZGBCON_F77  F77_BLAS_MANGLE(cgbcon,CGBCON)
00142 #define ZLANGB_F77  F77_BLAS_MANGLE(clangb,CLANGB)
00143 #define ZGESVX_F77  F77_BLAS_MANGLE(cgesvx,CGESVX)
00144 #define ZGESV_F77   F77_BLAS_MANGLE(cgesv,CGESV)
00145 #define ZGEEQU_F77  F77_BLAS_MANGLE(cgeequ,CGEEQU)
00146 #define ZGBEQU_F77  F77_BLAS_MANGLE(cgbequ,CGBEQU)
00147 #define ZPOTRF_F77  F77_BLAS_MANGLE(cpotrf,CPOTRF)
00148 #define ZPOTRS_F77  F77_BLAS_MANGLE(cpotrs,CPOTRS)
00149 #define ZPOTRI_F77  F77_BLAS_MANGLE(cpotri,CPOTRI)
00150 #define ZPOCON_F77  F77_BLAS_MANGLE(cpocon,CPOCON)
00151 #define ZPOSV_F77   F77_BLAS_MANGLE(cposv,CPOSV)
00152 #define ZPOEQU_F77  F77_BLAS_MANGLE(cpoequ,CPOEQU)
00153 #define ZPORFS_F77  F77_BLAS_MANGLE(cporfs,CPORFS)
00154 #define ZPOSVX_F77  F77_BLAS_MANGLE(cposvx,CPOSVX)
00155 #define ZTRTRS_F77  F77_BLAS_MANGLE(ctrtrs,CTRTRS)
00156 #define ZTRTRI_F77  F77_BLAS_MANGLE(ctrtri,CTRTRI)
00157 #define ZGELS_F77   F77_BLAS_MANGLE(cgels,CGELS)
00158 #define ZGELSS_F77   F77_BLAS_MANGLE(zgelss,ZGELSS)
00159 #define ZGEEV_F77   F77_BLAS_MANGLE(cgeev,CGEEV)
00160 #define ZGESVD_F77  F77_BLAS_MANGLE(cgesvd,CGESVD)
00161 //#define ZGGEV_F77   F77_BLAS_MANGLE(cggev,CGGEV)
00162 //#define ZGGEVX_F77  F77_BLAS_MANGLE(cggevx,CGGEVX)
00163 #define ZGEHRD_F77  F77_BLAS_MANGLE(cgehrd,CGEHRD)
00164 #define ZHSEQR_F77  F77_BLAS_MANGLE(chseqr,CHSEQR)
00165 #define ZTREVC_F77  F77_BLAS_MANGLE(ctrevc,CTREVC)
00166 #define ZTREXC_F77  F77_BLAS_MANGLE(ctrexc,CTREXC)
00167 #define ZGEES_F77   F77_BLAS_MANGLE(cgees,CGEES)
00168 #define ZSTEQR_F77  F77_BLAS_MANGLE(csteqr,CSTEQR)
00169 #define ZHEEV_F77   F77_BLAS_MANGLE(cheev,CHEEV)
00170 #define ZHEGV_F77   F77_BLAS_MANGLE(chegv,CHEGV)
00171 #define ZLARTG_F77  F77_BLAS_MANGLE(clartg,CLARTG)
00172 #define ZLARFG_F77  F77_BLAS_MANGLE(clarfg,CLARFG)
00173 #define ZGEBAL_F77  F77_BLAS_MANGLE(cgebal,CGEBAL)
00174 #define ZGEBAK_F77  F77_BLAS_MANGLE(cgebak,CGEBAK)
00175 #define ZLARND_F77  F77_BLAS_MANGLE(clarnd,CLARND)
00176 #define ZLARNV_F77  F77_BLAS_MANGLE(clarnv,CLARNV)
00177 
00178 #endif /* HAVE_TEUCHOS_COMPLEX */
00179 
00180 #elif defined(INTEL_CXML)
00181 
00182 #define PREFIX __stdcall
00183 #define Teuchos_fcd const char *, unsigned int
00184 
00185 #define DGEQRF_F77  F77_BLAS_MANGLE(dgeqrf,DGEQRF)
00186 #define DGETRF_F77  F77_BLAS_MANGLE(dgetrf,DGETRF)
00187 #define DGETRS_F77  F77_BLAS_MANGLE(dgetrs,DGETRS)
00188 #define DLASWP_F77  F77_BLAS_MANGLE(dlaswp,DLASWP)
00189 #define DGBTRF_F77  F77_BLAS_MANGLE(dgbtrf,DGBTRF)
00190 #define DGBTRS_F77  F77_BLAS_MANGLE(dgbtrs,DGBTRS)
00191 #define DGTTRF_F77  F77_BLAS_MANGLE(dgttrf,DGTTRF)
00192 #define DGTTRS_F77  F77_BLAS_MANGLE(dgttrs,DGTTRS)
00193 #define DPTTRF_F77  F77_BLAS_MANGLE(dpttrf,DPTTRF)
00194 #define DPTTRS_F77  F77_BLAS_MANGLE(dpttrs,DPTTRS)
00195 #define DGETRI_F77  F77_BLAS_MANGLE(dgetri,DGETRI)
00196 #define DGERFS_F77  F77_BLAS_MANGLE(dgerfs,DGERFS)
00197 #define DGBRFS_F77  F77_BLAS_MANGLE(dgbrfs,DGBRFS)
00198 #define DLATRS_F77  F77_BLAS_MANGLE(dlatrs,DLATRS)
00199 #define DGECON_F77  F77_BLAS_MANGLE(dgecon,DGECON)
00200 #define DGBCON_F77  F77_BLAS_MANGLE(dgbcon,DGBCON)
00201 #define DLANGB_F77  F77_BLAS_MANGLE(dlangb,DLANGB)
00202 #define DGESVX_F77  F77_BLAS_MANGLE(dgesvx,DGESVX)
00203 #define DGESV_F77   F77_BLAS_MANGLE(dgesv,DGESV)
00204 #define DGEEQU_F77  F77_BLAS_MANGLE(dgeequ,DGEEQU)
00205 #define DGBEQU_F77  F77_BLAS_MANGLE(dgbequ,DGBEQU)
00206 #define DSYTRD_F77  F77_BLAS_MANGLE(dsytrd,DSYTRD)
00207 #define DPOTRF_F77  F77_BLAS_MANGLE(dpotrf,DPOTRF)
00208 #define DPOTRS_F77  F77_BLAS_MANGLE(dpotrs,DPOTRS)
00209 #define DPOTRI_F77  F77_BLAS_MANGLE(dpotri,DPOTRI)
00210 #define DPOCON_F77  F77_BLAS_MANGLE(dpocon,DPOCON)
00211 #define DPOSV_F77   F77_BLAS_MANGLE(dposv,DPOSV)
00212 #define DPOEQU_F77  F77_BLAS_MANGLE(dpoequ,DPOEQU)
00213 #define DPORFS_F77  F77_BLAS_MANGLE(dporfs,DPORFS)
00214 #define DPOSVX_F77  F77_BLAS_MANGLE(dposvx,DPOSVX)
00215 #define DTRTRS_F77  F77_BLAS_MANGLE(dtrtrs,DTRTRS)
00216 #define DTRTRI_F77  F77_BLAS_MANGLE(dtrtri,DTRTRI)
00217 #define DLAMCH_F77  F77_BLAS_MANGLE(dlamch,DLAMCH)
00218 #define DGELS_F77   F77_BLAS_MANGLE(dgels,DGELS)
00219 #define DGELSS_F77   F77_BLAS_MANGLE(dgelss,DGELSS)
00220 #define DGEEV_F77   F77_BLAS_MANGLE(dgeev,DGEEV)
00221 #define DGESVD_F77  F77_BLAS_MANGLE(dgesvd,DGESVD)
00222 #define DGGEV_F77   F77_BLAS_MANGLE(dggev,DGGEV)
00223 #define DGGEVX_F77  F77_BLAS_MANGLE(dggevx,DGGEVX)
00224 #define DGEHRD_F77  F77_BLAS_MANGLE(dgehrd,DGEHRD)
00225 #define DHSEQR_F77  F77_BLAS_MANGLE(dhseqr,DHSEQR)
00226 #define DORGHR_F77  F77_BLAS_MANGLE(dorghr,DORGHR)
00227 #define DORGQR_F77  F77_BLAS_MANGLE(dorgqr,DORGQR)
00228 #define DORMHR_F77  F77_BLAS_MANGLE(dormhr,DORMHR)
00229 #define DORMQR_F77  F77_BLAS_MANGLE(dormqr,DORMQR)
00230 #define DTREVC_F77  F77_BLAS_MANGLE(dtrevc,DTREVC)
00231 #define DTREXC_F77  F77_BLAS_MANGLE(dtrexc,DTREXC)
00232 #define DGEES_F77   F77_BLAS_MANGLE(dgees,DGEES)
00233 #define DSPEV_F77   F77_BLAS_MANGLE(dspev,DSPEV)
00234 #define DSYEV_F77   F77_BLAS_MANGLE(dsyev,DSYEV)
00235 #define DSYGV_F77   F77_BLAS_MANGLE(dsygv,DSYGV)
00236 #define DSTEQR_F77  F77_BLAS_MANGLE(dsteqr,DSTEQR)
00237 #define DLAPY2_F77  F77_BLAS_MANGLE(dlapy2,DLAPY2)
00238 #define DLARTG_F77  F77_BLAS_MANGLE(dlartg,DLARTG)
00239 #define DLARFG_F77  F77_BLAS_MANGLE(dlarfg,DLARFG)
00240 #define DGEBAL_F77  F77_BLAS_MANGLE(dgebal,DGEBAL)
00241 #define DGEBAK_F77  F77_BLAS_MANGLE(dgebak,DGEBAK)
00242 #define DLARND_F77  F77_BLAS_MANGLE(dlarnd,DLARND)
00243 #define DLARNV_F77  F77_BLAS_MANGLE(dlarnv,DLARNV)
00244 #define ILAENV_F77  F77_BLAS_MANGLE(ilaenv,ILAENV)
00245 
00246 #ifdef HAVE_TEUCHOS_COMPLEX
00247 
00248 #define ZGEQRF_F77  F77_BLAS_MANGLE(zgeqrf,ZGEQRF)
00249 #define ZUNGQR_F77  F77_BLAS_MANGLE(zungqr,ZUNGQR)
00250 #define ZUNMQR_F77  F77_BLAS_MANGLE(zunmqr,ZUNMQR)
00251 #define ZGETRF_F77  F77_BLAS_MANGLE(zgetrf,ZGETRF)
00252 #define ZGETRS_F77  F77_BLAS_MANGLE(zgetrs,ZGETRS)
00253 #define ZLASWP_F77  F77_BLAS_MANGLE(zlaswp,ZLASWP)
00254 #define ZGTTRF_F77  F77_BLAS_MANGLE(zgttrf,ZGTTRF)
00255 #define ZGTTRS_F77  F77_BLAS_MANGLE(zgttrs,ZGTTRS)
00256 #define ZPTTRF_F77  F77_BLAS_MANGLE(zpttrf,ZPTTRF)
00257 #define ZPTTRS_F77  F77_BLAS_MANGLE(zpttrs,ZPTTRS)
00258 #define ZGETRI_F77  F77_BLAS_MANGLE(zgetri,ZGETRI)
00259 #define ZGERFS_F77  F77_BLAS_MANGLE(zgerfs,ZGERFS)
00260 #define ZGBRFS_F77  F77_BLAS_MANGLE(zgbrfs,ZGBRFS)
00261 #define ZLATRS_F77  F77_BLAS_MANGLE(zlatrs,ZLATRS)
00262 #define ZGECON_F77  F77_BLAS_MANGLE(zgecon,ZGECON)
00263 #define ZGBCON_F77  F77_BLAS_MANGLE(zgbcon,ZGBCON)
00264 #define ZLANGB_F77  F77_BLAS_MANGLE(zlangb,ZLANGB)
00265 #define ZGESVX_F77  F77_BLAS_MANGLE(zgesvx,ZGESVX)
00266 #define ZGESV_F77   F77_BLAS_MANGLE(zgesv,ZGESV)
00267 #define ZGEEQU_F77  F77_BLAS_MANGLE(zgeequ,ZGEEQU)
00268 #define ZGBEQU_F77  F77_BLAS_MANGLE(zgbequ,ZGBEQU)
00269 #define ZPOTRF_F77  F77_BLAS_MANGLE(zpotrf,ZPOTRF)
00270 #define ZPOTRS_F77  F77_BLAS_MANGLE(zpotrs,ZPOTRS)
00271 #define ZPOTRI_F77  F77_BLAS_MANGLE(zpotri,ZPOTRI)
00272 #define ZPOCON_F77  F77_BLAS_MANGLE(zpocon,ZPOCON)
00273 #define ZPOSV_F77   F77_BLAS_MANGLE(zposv,ZPOSV)
00274 #define ZPOEQU_F77  F77_BLAS_MANGLE(zpoequ,ZPOEQU)
00275 #define ZPORFS_F77  F77_BLAS_MANGLE(zporfs,ZPORFS)
00276 #define ZPOSVX_F77  F77_BLAS_MANGLE(zposvx,ZPOSVX)
00277 #define ZTRTRS_F77  F77_BLAS_MANGLE(ztrtrs,ZTRTRS)
00278 #define ZTRTRI_F77  F77_BLAS_MANGLE(ztrtri,ZTRTRI)
00279 #define ZGELS_F77   F77_BLAS_MANGLE(zgels,ZGELS)
00280 #define ZGELSS_F77   F77_BLAS_MANGLE(zgelss,ZGELSS)
00281 #define ZGEEV_F77   F77_BLAS_MANGLE(zgeev,ZGEEV)
00282 #define ZGESVD_F77   F77_BLAS_MANGLE(zgesvd,ZGESVD)
00283 //#define ZGGEV_F77   F77_BLAS_MANGLE(zggev,ZGGEV)
00284 //#define ZGGEVX_F77  F77_BLAS_MANGLE(zggevx,ZGGEVX)
00285 #define ZGEHRD_F77  F77_BLAS_MANGLE(zgehrd,ZGEHRD)
00286 #define ZHSEQR_F77  F77_BLAS_MANGLE(zhseqr,ZHSEQR)
00287 #define ZTREVC_F77  F77_BLAS_MANGLE(ztrevc,ZTREVC)
00288 #define ZTREXC_F77  F77_BLAS_MANGLE(ztrexc,ZTREXC)
00289 #define ZGEES_F77   F77_BLAS_MANGLE(zgees,ZGEES)
00290 #define ZSTEQR_F77  F77_BLAS_MANGLE(zsteqr,ZSTEQR)
00291 #define ZHEEV_F77   F77_BLAS_MANGLE(zheev,ZHEEV)
00292 #define ZHEGV_F77   F77_BLAS_MANGLE(zhegv,ZHEGV)
00293 #define ZLARTG_F77  F77_BLAS_MANGLE(zlartg,ZLARTG)
00294 #define ZLARFG_F77  F77_BLAS_MANGLE(zlarfg,ZLARFG)
00295 #define ZGEBAL_F77  F77_BLAS_MANGLE(zgebal,ZGEBAL)
00296 #define ZGEBAK_F77  F77_BLAS_MANGLE(zgebak,ZGEBAK)
00297 #define ZLARND_F77  F77_BLAS_MANGLE(zlarnd,ZLARND)
00298 #define ZLARNV_F77  F77_BLAS_MANGLE(zlarnv,ZLARNV)
00299 
00300 #endif /* HAVE_TEUCHOS_COMPLEX */
00301 
00302 #elif defined(INTEL_MKL)
00303 
00304 #define PREFIX
00305 #define Teuchos_fcd const char *
00306 
00307 #define DGEQRF_F77  F77_BLAS_MANGLE(dgeqrf,DGEQRF)
00308 #define DGETRF_F77  F77_BLAS_MANGLE(dgetrf,DGETRF)
00309 #define DGETRS_F77  F77_BLAS_MANGLE(dgetrs,DGETRS)
00310 #define DLASWP_F77  F77_BLAS_MANGLE(dlaswp,DLASWP)
00311 #define DGBTRF_F77  F77_BLAS_MANGLE(dgbtrf,DGBTRF)
00312 #define DGBTRS_F77  F77_BLAS_MANGLE(dgbtrs,DGBTRS)
00313 #define DGTTRF_F77  F77_BLAS_MANGLE(dgttrf,DGTTRF)
00314 #define DGTTRS_F77  F77_BLAS_MANGLE(dgttrs,DGTTRS)
00315 #define DPTTRF_F77  F77_BLAS_MANGLE(dpttrf,DPTTRF)
00316 #define DPTTRS_F77  F77_BLAS_MANGLE(dpttrs,DPTTRS)
00317 #define DGETRI_F77  F77_BLAS_MANGLE(dgetri,DGETRI)
00318 #define DGERFS_F77  F77_BLAS_MANGLE(dgerfs,DGERFS)
00319 #define DGBRFS_F77  F77_BLAS_MANGLE(dgbrfs,DGBRFS)
00320 #define DLATRS_F77  F77_BLAS_MANGLE(dlatrs,DLATRS)
00321 #define DGECON_F77  F77_BLAS_MANGLE(dgecon,DGECON)
00322 #define DGBCON_F77  F77_BLAS_MANGLE(dgbcon,DGBCON)
00323 #define DLANGB_F77  F77_BLAS_MANGLE(dlangb,DLANGB)
00324 #define DGESVX_F77  F77_BLAS_MANGLE(dgesvx,DGESVX)
00325 #define DGESV_F77   F77_BLAS_MANGLE(dgesv,DGESV)
00326 #define DGEEQU_F77  F77_BLAS_MANGLE(dgeequ,DGEEQU)
00327 #define DGBEQU_F77  F77_BLAS_MANGLE(dgbequ,DGBEQU)
00328 #define DSYTRD_F77  F77_BLAS_MANGLE(dsytrd,DSYTRD)
00329 #define DPOTRF_F77  F77_BLAS_MANGLE(dpotrf,DPOTRF)
00330 #define DPOTRS_F77  F77_BLAS_MANGLE(dpotrs,DPOTRS)
00331 #define DPOTRI_F77  F77_BLAS_MANGLE(dpotri,DPOTRI)
00332 #define DPOCON_F77  F77_BLAS_MANGLE(dpocon,DPOCON)
00333 #define DPOSV_F77   F77_BLAS_MANGLE(dposv,DPOSV)
00334 #define DPOEQU_F77  F77_BLAS_MANGLE(dpoequ,DPOEQU)
00335 #define DPORFS_F77  F77_BLAS_MANGLE(dporfs,DPORFS)
00336 #define DPOSVX_F77  F77_BLAS_MANGLE(dposvx,DPOSVX)
00337 #define DTRTRS_F77  F77_BLAS_MANGLE(dtrtrs,DTRTRS)
00338 #define DTRTRI_F77  F77_BLAS_MANGLE(dtrtri,DTRTRI)
00339 #define DLAMCH_F77  F77_BLAS_MANGLE(dlamch,DLAMCH)
00340 #define DGELS_F77   F77_BLAS_MANGLE(dgels,DGELS)
00341 #define DGELSS_F77   F77_BLAS_MANGLE(dgelss,DGELSS)
00342 #define DGEEV_F77   F77_BLAS_MANGLE(dgeev,DGEEV)
00343 #define DGESVD_F77  F77_BLAS_MANGLE(dgesvd,DGESVD)
00344 #define DGGEV_F77   F77_BLAS_MANGLE(dggev,DGGEV)
00345 #define DGGEVX_F77  F77_BLAS_MANGLE(dggevx,DGGEVX)
00346 #define DGEHRD_F77  F77_BLAS_MANGLE(dgehrd,DGEHRD)
00347 #define DHSEQR_F77  F77_BLAS_MANGLE(dhseqr,DHSEQR)
00348 #define DORGHR_F77  F77_BLAS_MANGLE(dorghr,DORGHR)
00349 #define DORGQR_F77  F77_BLAS_MANGLE(dorgqr,DORGQR)
00350 #define DORMHR_F77  F77_BLAS_MANGLE(dormhr,DORMHR)
00351 #define DORMQR_F77  F77_BLAS_MANGLE(dormqr,DORMQR)
00352 #define DTREVC_F77  F77_BLAS_MANGLE(dtrevc,DTREVC)
00353 #define DTREXC_F77  F77_BLAS_MANGLE(dtrexc,DTREXC)
00354 #define DGEES_F77   F77_BLAS_MANGLE(dgees,DGEES)
00355 #define DSPEV_F77   F77_BLAS_MANGLE(dspev,DSPEV)
00356 #define DSYEV_F77   F77_BLAS_MANGLE(dsyev,DSYEV)
00357 #define DSYGV_F77   F77_BLAS_MANGLE(dsygv,DSYGV)
00358 #define DSTEQR_F77  F77_BLAS_MANGLE(dsteqr,DSTEQR)
00359 #define DLAPY2_F77  F77_BLAS_MANGLE(dlapy2,DLAPY2)
00360 #define DLARTG_F77  F77_BLAS_MANGLE(dlartg,DLARTG)
00361 #define DLARFG_F77  F77_BLAS_MANGLE(dlarfg,DLARFG)
00362 #define DGEBAL_F77  F77_BLAS_MANGLE(dgebal,DGEBAL)
00363 #define DGEBAK_F77  F77_BLAS_MANGLE(dgebak,DGEBAK)
00364 #define DLARND_F77  F77_BLAS_MANGLE(dlarnd,DLARND)
00365 #define DLARNV_F77  F77_BLAS_MANGLE(dlarnv,DLARNV)
00366 #define ILAENV_F77  F77_BLAS_MANGLE(ilaenv,ILAENV)
00367 
00368 #ifdef HAVE_TEUCHOS_COMPLEX
00369 
00370 #define ZGEQRF_F77  F77_BLAS_MANGLE(zgeqrf,ZGEQRF)
00371 #define ZUNGQR_F77  F77_BLAS_MANGLE(zungqr,ZUNGQR)
00372 #define ZUNMQR_F77  F77_BLAS_MANGLE(zunmqr,ZUNMQR)
00373 #define ZGTTRF_F77  F77_BLAS_MANGLE(zgttrf,ZGTTRF)
00374 #define ZGTTRS_F77  F77_BLAS_MANGLE(zgttrs,ZGTTRS)
00375 #define ZPTTRF_F77  F77_BLAS_MANGLE(zpttrf,ZPTTRF)
00376 #define ZPTTRS_F77  F77_BLAS_MANGLE(zpttrs,ZPTTRS)
00377 #define ZGETRF_F77  F77_BLAS_MANGLE(zgetrf,ZGETRF)
00378 #define ZGETRS_F77  F77_BLAS_MANGLE(zgetrs,ZGETRS)
00379 #define ZLASWP_F77  F77_BLAS_MANGLE(zlaswp,ZLASWP)
00380 #define ZGBTRF_F77  F77_BLAS_MANGLE(zgbtrf,ZGBTRF)
00381 #define ZGBTRS_F77  F77_BLAS_MANGLE(zgbtrs,ZGBTRS)
00382 #define ZGETRI_F77  F77_BLAS_MANGLE(zgetri,ZGETRI)
00383 #define ZGERFS_F77  F77_BLAS_MANGLE(zgerfs,ZGERFS)
00384 #define ZGBRFS_F77  F77_BLAS_MANGLE(zgbrfs,ZGBRFS)
00385 #define ZLATRS_F77  F77_BLAS_MANGLE(zlatrs,ZLATRS)
00386 #define ZGECON_F77  F77_BLAS_MANGLE(zgecon,ZGECON)
00387 #define ZGBCON_F77  F77_BLAS_MANGLE(zgbcon,ZGBCON)
00388 #define ZLANGB_F77  F77_BLAS_MANGLE(zlangb,ZLANGB)
00389 #define ZGESVX_F77  F77_BLAS_MANGLE(zgesvx,ZGESVX)
00390 #define ZGESV_F77   F77_BLAS_MANGLE(zgesv,ZGESV)
00391 #define ZGEEQU_F77  F77_BLAS_MANGLE(zgeequ,ZGEEQU)
00392 #define ZGBEQU_F77  F77_BLAS_MANGLE(zgbequ,ZGBEQU)
00393 #define ZPOTRF_F77  F77_BLAS_MANGLE(zpotrf,ZPOTRF)
00394 #define ZPOTRS_F77  F77_BLAS_MANGLE(zpotrs,ZPOTRS)
00395 #define ZPOTRI_F77  F77_BLAS_MANGLE(zpotri,ZPOTRI)
00396 #define ZPOCON_F77  F77_BLAS_MANGLE(zpocon,ZPOCON)
00397 #define ZPOSV_F77   F77_BLAS_MANGLE(zposv,ZPOSV)
00398 #define ZPOEQU_F77  F77_BLAS_MANGLE(zpoequ,ZPOEQU)
00399 #define ZPORFS_F77  F77_BLAS_MANGLE(zporfs,ZPORFS)
00400 #define ZPOSVX_F77  F77_BLAS_MANGLE(zposvx,ZPOSVX)
00401 #define ZTRTRS_F77  F77_BLAS_MANGLE(ztrtrs,ZTRTRS)
00402 #define ZTRTRI_F77  F77_BLAS_MANGLE(ztrtri,ZTRTRI)
00403 #define ZGELS_F77   F77_BLAS_MANGLE(zgels,ZGELS)
00404 #define ZGELSS_F77   F77_BLAS_MANGLE(zgelss,ZGELSS)
00405 #define ZGEEV_F77   F77_BLAS_MANGLE(zgeev,ZGEEV)
00406 #define ZGESVD_F77   F77_BLAS_MANGLE(zgesvd,ZGESVD)
00407 //#define ZGGEV_F77   F77_BLAS_MANGLE(zggev,ZGGEV)
00408 //#define ZGGEVX_F77  F77_BLAS_MANGLE(zggevx,ZGGEVX)
00409 #define ZGEHRD_F77  F77_BLAS_MANGLE(zgehrd,ZGEHRD)
00410 #define ZHSEQR_F77  F77_BLAS_MANGLE(zhseqr,ZHSEQR)
00411 #define ZTREVC_F77  F77_BLAS_MANGLE(ztrevc,ZTREVC)
00412 #define ZTREXC_F77  F77_BLAS_MANGLE(ztrexc,ZTREXC)
00413 #define ZGEES_F77   F77_BLAS_MANGLE(zgees,ZGEES)
00414 #define ZSTEQR_F77  F77_BLAS_MANGLE(zsteqr,ZSTEQR)
00415 #define ZHEEV_F77   F77_BLAS_MANGLE(zheev,ZHEEV)
00416 #define ZHEGV_F77   F77_BLAS_MANGLE(zhegv,ZHEGV)
00417 #define ZLARTG_F77  F77_BLAS_MANGLE(zlartg,ZLARTG)
00418 #define ZLARFG_F77  F77_BLAS_MANGLE(zlarfg,ZLARFG)
00419 #define ZGEBAL_F77  F77_BLAS_MANGLE(zgebal,ZGEBAL)
00420 #define ZGEBAK_F77  F77_BLAS_MANGLE(zgebak,ZGEBAK)
00421 #define ZLARND_F77  F77_BLAS_MANGLE(zlarnd,ZLARND)
00422 #define ZLARNV_F77  F77_BLAS_MANGLE(zlarnv,ZLARNV)
00423 
00424 #endif /* HAVE_TEUCHOS_COMPLEX */
00425 
00426 #endif /* defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
00427 
00428 /* All three of these machines use a simple uppercase mangling of Fortran names */
00429 
00430 /* if F77_BLAS_MANGLE is defined undefine it because we want to redefine */
00431 
00432 #ifdef F77_FUNC
00433 #undef F77_FUNC
00434 #endif
00435 
00436 #ifdef F77_BLAS_MANGLE
00437 #undef F77_BLAS_MANGLE
00438 #endif
00439 
00440 #define F77_FUNC(lcase,UCASE) PREFIX UCASE
00441 #define F77_BLAS_MANGLE(lcase,UCASE) PREFIX UCASE
00442 
00443 #else /* Define Teuchos_fcd for all other machines */
00444 
00445 #define PREFIX
00446 #define Teuchos_fcd const char *
00447 
00448 #ifdef TRILINOS_NO_CONFIG_H
00449 
00450 #ifdef F77_FUNC
00451 #undef F77_FUNC
00452 #endif
00453 
00454 #ifdef F77_BLAS_MANGLE
00455 #undef F77_BLAS_MANGLE
00456 #endif
00457 
00458 
00459 #ifdef TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE
00460 #define F77_FUNC(lcase,UCASE) lcase
00461 #define F77_BLAS_MANGLE(lcase,UCASE) lcase
00462 #else /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE not defined*/
00463 #define F77_FUNC(lcase,UCASE) lcase ## _
00464 #define F77_BLAS_MANGLE(lcase,UCASE) lcase ## _
00465 #endif /* TRILINOS_HAVE_NO_FORTRAN_UNDERSCORE */
00466 
00467 #endif /* TRILINOS_NO_CONFIG_H */
00468 
00469 #define DGEQRF_F77  F77_BLAS_MANGLE(dgeqrf,DGEQRF)
00470 #define DGETRF_F77  F77_BLAS_MANGLE(dgetrf,DGETRF)
00471 #define DGETRS_F77  F77_BLAS_MANGLE(dgetrs,DGETRS)
00472 #define DLASWP_F77  F77_BLAS_MANGLE(dlaswp,DLASWP)
00473 #define DGBTRF_F77  F77_BLAS_MANGLE(dgbtrf,DGBTRF)
00474 #define DGBTRS_F77  F77_BLAS_MANGLE(dgbtrs,DGBTRS)
00475 #define DGTTRF_F77  F77_BLAS_MANGLE(dgttrf,DGTTRF)
00476 #define DGTTRS_F77  F77_BLAS_MANGLE(dgttrs,DGTTRS)
00477 #define DPTTRF_F77  F77_BLAS_MANGLE(dpttrf,DPTTRF)
00478 #define DPTTRS_F77  F77_BLAS_MANGLE(dpttrs,DPTTRS)
00479 #define DGETRI_F77  F77_BLAS_MANGLE(dgetri,DGETRI)
00480 #define DGERFS_F77  F77_BLAS_MANGLE(dgerfs,DGERFS)
00481 #define DGBRFS_F77  F77_BLAS_MANGLE(dgbrfs,DGBRFS)
00482 #define DLATRS_F77  F77_BLAS_MANGLE(dlatrs,DLATRS)
00483 #define DGECON_F77  F77_BLAS_MANGLE(dgecon,DGECON)
00484 #define DGBCON_F77  F77_BLAS_MANGLE(dgbcon,DGBCON)
00485 #define DLANGB_F77  F77_BLAS_MANGLE(dlangb,DLANGB)
00486 #define DGESVX_F77  F77_BLAS_MANGLE(dgesvx,DGESVX)
00487 #define DGESV_F77   F77_BLAS_MANGLE(dgesv,DGESV)
00488 #define DGEEQU_F77  F77_BLAS_MANGLE(dgeequ,DGEEQU)
00489 #define DGBEQU_F77  F77_BLAS_MANGLE(dgbequ,DGBEQU)
00490 #define DSYTRD_F77  F77_BLAS_MANGLE(dsytrd,DSYTRD)
00491 #define DPOTRF_F77  F77_BLAS_MANGLE(dpotrf,DPOTRF)
00492 #define DPOTRS_F77  F77_BLAS_MANGLE(dpotrs,DPOTRS)
00493 #define DPOTRI_F77  F77_BLAS_MANGLE(dpotri,DPOTRI)
00494 #define DPOCON_F77  F77_BLAS_MANGLE(dpocon,DPOCON)
00495 #define DPOSV_F77   F77_BLAS_MANGLE(dposv,DPOSV)
00496 #define DPOEQU_F77  F77_BLAS_MANGLE(dpoequ,DPOEQU)
00497 #define DPORFS_F77  F77_BLAS_MANGLE(dporfs,DPORFS)
00498 #define DPOSVX_F77  F77_BLAS_MANGLE(dposvx,DPOSVX)
00499 #define DTRTRS_F77  F77_BLAS_MANGLE(dtrtrs,DTRTRS)
00500 #define DTRTRI_F77  F77_BLAS_MANGLE(dtrtri,DTRTRI)
00501 #define DLAMCH_F77  F77_BLAS_MANGLE(dlamch,DLAMCH)
00502 #define DGELS_F77   F77_BLAS_MANGLE(dgels,DGELS)
00503 #define DGELSS_F77  F77_BLAS_MANGLE(dgelss,DGELSS)
00504 #define DGGLSE_F77  F77_BLAS_MANGLE(dgglse,DGGLSE)
00505 #define DGEEV_F77   F77_BLAS_MANGLE(dgeev,DGEEV)
00506 #define DGESVD_F77  F77_BLAS_MANGLE(dgesvd,DGESVD)
00507 #define DGGEV_F77   F77_BLAS_MANGLE(dggev,DGGEV)
00508 #define DGGEVX_F77  F77_BLAS_MANGLE(dggevx,DGGEVX)
00509 #define DGEHRD_F77  F77_BLAS_MANGLE(dgehrd,DGEHRD)
00510 #define DHSEQR_F77  F77_BLAS_MANGLE(dhseqr,DHSEQR)
00511 #define DORGHR_F77  F77_BLAS_MANGLE(dorghr,DORGHR)
00512 #define DORGQR_F77  F77_BLAS_MANGLE(dorgqr,DORGQR)
00513 #define DORMHR_F77  F77_BLAS_MANGLE(dormhr,DORMHR)
00514 #define DORMQR_F77  F77_BLAS_MANGLE(dormqr,DORMQR)
00515 #define DTREVC_F77  F77_BLAS_MANGLE(dtrevc,DTREVC)
00516 #define DTREXC_F77  F77_BLAS_MANGLE(dtrexc,DTREXC)
00517 #define DGEES_F77   F77_BLAS_MANGLE(dgees,DGEES)
00518 #define DSPEV_F77   F77_BLAS_MANGLE(dspev,DSPEV)
00519 #define DSYEV_F77   F77_BLAS_MANGLE(dsyev,DSYEV)
00520 #define DSYGV_F77   F77_BLAS_MANGLE(dsygv,DSYGV)
00521 #define DSTEQR_F77  F77_BLAS_MANGLE(dsteqr,DSTEQR)
00522 #define DLAPY2_F77  F77_BLAS_MANGLE(dlapy2,DLAPY2)
00523 #define DLARND_F77  F77_BLAS_MANGLE(dlarnd,DLARND)
00524 #define DLARNV_F77  F77_BLAS_MANGLE(dlarnv,DLARNV)
00525 #define DGEBAL_F77  F77_BLAS_MANGLE(dgebal,DGEBAL)
00526 #define DGEBAK_F77  F77_BLAS_MANGLE(dgebak,DGEBAK)
00527 #define DLARTG_F77  F77_BLAS_MANGLE(dlartg,DLARTG)
00528 #define DLARFG_F77  F77_BLAS_MANGLE(dlarfg,DLARFG)
00529 #define ILAENV_F77  F77_BLAS_MANGLE(ilaenv,ILAENV)
00530 
00531 #ifdef HAVE_TEUCHOS_COMPLEX
00532 
00533 #define ZGEQRF_F77  F77_BLAS_MANGLE(zgeqrf,ZGEQRF)
00534 #define ZUNGQR_F77  F77_BLAS_MANGLE(zungqr,ZUNGQR)
00535 #define ZUNMQR_F77  F77_BLAS_MANGLE(zunmqr,ZUNMQR)
00536 #define ZGETRF_F77  F77_BLAS_MANGLE(zgetrf,ZGETRF)
00537 #define ZGETRS_F77  F77_BLAS_MANGLE(zgetrs,ZGETRS)
00538 #define ZLASWP_F77  F77_BLAS_MANGLE(zlaswp,ZLASWP)
00539 #define ZGBTRF_F77  F77_BLAS_MANGLE(zgbtrf,ZGBTRF)
00540 #define ZGBTRS_F77  F77_BLAS_MANGLE(zgbtrs,ZGBTRS)
00541 #define ZGTTRF_F77  F77_BLAS_MANGLE(zgttrf,ZGTTRF)
00542 #define ZGTTRS_F77  F77_BLAS_MANGLE(zgttrs,ZGTTRS)
00543 #define ZPTTRF_F77  F77_BLAS_MANGLE(zpttrf,ZPTTRF)
00544 #define ZPTTRS_F77  F77_BLAS_MANGLE(zpttrs,ZPTTRS)
00545 #define ZGETRI_F77  F77_BLAS_MANGLE(zgetri,ZGETRI)
00546 #define ZGERFS_F77  F77_BLAS_MANGLE(zgerfs,ZGERFS)
00547 #define ZGBRFS_F77  F77_BLAS_MANGLE(zgbrfs,ZGBRFS)
00548 #define ZLATRS_F77  F77_BLAS_MANGLE(zlatrs,ZLATRS)
00549 #define ZGECON_F77  F77_BLAS_MANGLE(zgecon,ZGECON)
00550 #define ZGBCON_F77  F77_BLAS_MANGLE(zgbcon,ZGBCON)
00551 #define ZLANGB_F77  F77_BLAS_MANGLE(zlangb,ZLANGB)
00552 #define ZGESVX_F77  F77_BLAS_MANGLE(zgesvx,ZGESVX)
00553 #define ZGESV_F77   F77_BLAS_MANGLE(zgesv,ZGESV)
00554 #define ZGEEQU_F77  F77_BLAS_MANGLE(zgeequ,ZGEEQU)
00555 #define ZGBEQU_F77  F77_BLAS_MANGLE(zgbequ,ZGBEQU)
00556 #define ZPOTRF_F77  F77_BLAS_MANGLE(zpotrf,ZPOTRF)
00557 #define ZPOTRS_F77  F77_BLAS_MANGLE(zpotrs,ZPOTRS)
00558 #define ZPOTRI_F77  F77_BLAS_MANGLE(zpotri,ZPOTRI)
00559 #define ZPOCON_F77  F77_BLAS_MANGLE(zpocon,ZPOCON)
00560 #define ZPOSV_F77   F77_BLAS_MANGLE(zposv,ZPOSV)
00561 #define ZPOEQU_F77  F77_BLAS_MANGLE(zpoequ,ZPOEQU)
00562 #define ZPORFS_F77  F77_BLAS_MANGLE(zporfs,ZPORFS)
00563 #define ZPOSVX_F77  F77_BLAS_MANGLE(zposvx,ZPOSVX)
00564 #define ZTRTRS_F77  F77_BLAS_MANGLE(ztrtrs,ZTRTRS)
00565 #define ZTRTRI_F77  F77_BLAS_MANGLE(ztrtri,ZTRTRI)
00566 #define ZGELS_F77   F77_BLAS_MANGLE(zgels,ZGELS)
00567 #define ZGELSS_F77  F77_BLAS_MANGLE(zgelss,ZGELSS)
00568 //#define ZGGLSE_F77  F77_BLAS_MANGLE(zgglse,ZGGLSE)
00569 #define ZGEEV_F77   F77_BLAS_MANGLE(zgeev,ZGEEV)
00570 #define ZGESVD_F77   F77_BLAS_MANGLE(zgesvd,ZGESVD)
00571 //#define ZGGEV_F77   F77_BLAS_MANGLE(zggev,ZGGEV)
00572 //#define ZGGEVX_F77  F77_BLAS_MANGLE(zggevx,ZGGEVX)
00573 #define ZGEHRD_F77  F77_BLAS_MANGLE(zgehrd,ZGEHRD)
00574 #define ZHSEQR_F77  F77_BLAS_MANGLE(zhseqr,ZHSEQR)
00575 #define ZTREVC_F77  F77_BLAS_MANGLE(ztrevc,ZTREVC)
00576 #define ZTREXC_F77  F77_BLAS_MANGLE(ztrexc,ZTREXC)
00577 #define ZGEES_F77   F77_BLAS_MANGLE(zgees,ZGEES)
00578 #define ZSTEQR_F77  F77_BLAS_MANGLE(zsteqr,ZSTEQR)
00579 #define ZHEEV_F77   F77_BLAS_MANGLE(zheev,ZHEEV)
00580 #define ZHEGV_F77   F77_BLAS_MANGLE(zhegv,ZHEGV)
00581 #define ZLARTG_F77  F77_BLAS_MANGLE(zlartg,ZLARTG)
00582 #define ZLARFG_F77  F77_BLAS_MANGLE(zlarfg,ZLARFG)
00583 #define ZGEBAL_F77  F77_BLAS_MANGLE(zgebal,ZGEBAL)
00584 #define ZGEBAK_F77  F77_BLAS_MANGLE(zgebak,ZGEBAK)
00585 #define ZLARND_F77  F77_BLAS_MANGLE(zlarnd,ZLARND)
00586 #define ZLARNV_F77  F77_BLAS_MANGLE(zlarnv,ZLARNV)
00587 
00588 #endif /* HAVE_TEUCHOS_COMPLEX */
00589 
00590 #endif
00591 
00592 #define SGEQRF_F77  F77_BLAS_MANGLE(sgeqrf,SGEQRF)
00593 #define SGETRF_F77  F77_BLAS_MANGLE(sgetrf,SGETRF)
00594 #define SGETRS_F77  F77_BLAS_MANGLE(sgetrs,SGETRS)
00595 #define SLASWP_F77  F77_BLAS_MANGLE(slaswp,SLASWP)
00596 #define SGBTRF_F77  F77_BLAS_MANGLE(sgbtrf,SGBTRF)
00597 #define SGBTRS_F77  F77_BLAS_MANGLE(sgbtrs,SGBTRS)
00598 #define SGTTRF_F77  F77_BLAS_MANGLE(sgttrf,SGTTRF)
00599 #define SGTTRS_F77  F77_BLAS_MANGLE(sgttrs,SGTTRS)
00600 #define SPTTRF_F77  F77_BLAS_MANGLE(spttrf,SPTTRF)
00601 #define SPTTRS_F77  F77_BLAS_MANGLE(spttrs,SPTTRS)
00602 #define SGETRI_F77  F77_BLAS_MANGLE(sgetri,SGETRI)
00603 #define SGERFS_F77  F77_BLAS_MANGLE(sgerfs,SGERFS)
00604 #define SGBRFS_F77  F77_BLAS_MANGLE(sgbrfs,SGBRFS)
00605 #define SLATRS_F77  F77_BLAS_MANGLE(slatrs,SLATRS)
00606 #define SGECON_F77  F77_BLAS_MANGLE(sgecon,SGECON)
00607 #define SGBCON_F77  F77_BLAS_MANGLE(sgbcon,SGBCON)
00608 #define SLANGB_F77  F77_BLAS_MANGLE(slangb,SLANGB)
00609 #define SGESVX_F77  F77_BLAS_MANGLE(sgesvx,SGESVX)
00610 #define SGESV_F77   F77_BLAS_MANGLE(sgesv,SGESV)
00611 #define SGEEQU_F77  F77_BLAS_MANGLE(sgeequ,SGEEQU)
00612 #define SGBEQU_F77  F77_BLAS_MANGLE(sgbequ,SGBEQU)
00613 #define SSYTRD_F77  F77_BLAS_MANGLE(ssytrd,SSYTRD)
00614 #define SPOTRF_F77  F77_BLAS_MANGLE(spotrf,SPOTRF)
00615 #define SPOTRS_F77  F77_BLAS_MANGLE(spotrs,SPOTRS)
00616 #define SPOTRI_F77  F77_BLAS_MANGLE(spotri,SPOTRI)
00617 #define SPOCON_F77  F77_BLAS_MANGLE(spocon,SPOCON)
00618 #define SPOSV_F77   F77_BLAS_MANGLE(sposv,SPOSV)
00619 #define SPOEQU_F77  F77_BLAS_MANGLE(spoequ,SPOEQU)
00620 #define SPORFS_F77  F77_BLAS_MANGLE(sporfs,SPORFS)
00621 #define SPOSVX_F77  F77_BLAS_MANGLE(sposvx,SPOSVX)
00622 #define STRTRS_F77  F77_BLAS_MANGLE(strtrs,STRTRS)
00623 #define STRTRI_F77  F77_BLAS_MANGLE(strtri,STRTRI)
00624 #define SGELS_F77   F77_BLAS_MANGLE(sgels,SGELS)
00625 #define SGELSS_F77  F77_BLAS_MANGLE(sgelss,SGELSS)
00626 #define SGGLSE_F77  F77_BLAS_MANGLE(sgglse,SGGLSE)
00627 #define SGEEV_F77   F77_BLAS_MANGLE(sgeev,SGEEV)
00628 #define SGESVD_F77  F77_BLAS_MANGLE(sgesvd,SGESVD)
00629 #define SGGEV_F77   F77_BLAS_MANGLE(sggev,SGGEV)
00630 #define SGGEVX_F77  F77_BLAS_MANGLE(sggevx,SGGEVX)
00631 #define SGEHRD_F77  F77_BLAS_MANGLE(sgehrd,SGEHRD)
00632 #define SHSEQR_F77  F77_BLAS_MANGLE(shseqr,SHSEQR)
00633 #define SORGHR_F77  F77_BLAS_MANGLE(sorghr,SORGHR)
00634 #define SORGQR_F77  F77_BLAS_MANGLE(sorgqr,SORGQR)
00635 #define SORMHR_F77  F77_BLAS_MANGLE(sormhr,SORMHR)
00636 #define SORMQR_F77  F77_BLAS_MANGLE(sormqr,SORMQR)
00637 #define STREVC_F77  F77_BLAS_MANGLE(strevc,STREVC)
00638 #define STREXC_F77  F77_BLAS_MANGLE(strexc,STREXC)
00639 #define SLAMCH_F77  F77_BLAS_MANGLE(slamch,SLAMCH)
00640 #define SGEES_F77   F77_BLAS_MANGLE(sgees,SGEES)
00641 #define SSPEV_F77   F77_BLAS_MANGLE(sspev,SSPEV)
00642 #define SSYEV_F77   F77_BLAS_MANGLE(ssyev,SSYEV)
00643 #define SSYGV_F77   F77_BLAS_MANGLE(ssygv,SSYGV)
00644 #define SSTEQR_F77  F77_BLAS_MANGLE(ssteqr,SSTEQR)
00645 #ifdef HAVE_TEUCHOS_BLASFLOAT
00646   #define SLAPY2_F77  F77_BLAS_MANGLE(slapy2,SLAPY2)
00647 #endif
00648 #define SLARTG_F77  F77_BLAS_MANGLE(slartg,SLARTG)
00649 #define SLARFG_F77  F77_BLAS_MANGLE(slarfg,SLARFG)
00650 #define SGEBAL_F77  F77_BLAS_MANGLE(sgebal,SGEBAL)
00651 #define SGEBAK_F77  F77_BLAS_MANGLE(sgebak,SGEBAK)
00652 #define SLARND_F77  F77_BLAS_MANGLE(slarnd,SLARND)
00653 #define SLARNV_F77  F77_BLAS_MANGLE(slarnv,SLARNV)
00654 
00655 #ifdef HAVE_TEUCHOS_COMPLEX
00656 
00657 #define CGEQRF_F77  F77_BLAS_MANGLE(cgeqrf,CGEQRF)
00658 #define CUNGQR_F77  F77_BLAS_MANGLE(cungqr,CUNGQR)
00659 #define CUNMQR_F77  F77_BLAS_MANGLE(cunmqr,CUNMQR)
00660 #define CGETRF_F77  F77_BLAS_MANGLE(cgetrf,CGETRF)
00661 #define CGETRS_F77  F77_BLAS_MANGLE(cgetrs,CGETRS)
00662 #define CLASWP_F77  F77_BLAS_MANGLE(claswp,CLASWP)
00663 #define CGBTRF_F77  F77_BLAS_MANGLE(cgbtrf,CGBTRF)
00664 #define CGBTRS_F77  F77_BLAS_MANGLE(cgbtrs,CGBTRS)
00665 #define CGTTRF_F77  F77_BLAS_MANGLE(cgttrf,CGTTRF)
00666 #define CGTTRS_F77  F77_BLAS_MANGLE(cgttrs,CGTTRS)
00667 #define CPTTRF_F77  F77_BLAS_MANGLE(cpttrf,CPTTRF)
00668 #define CPTTRS_F77  F77_BLAS_MANGLE(cpttrs,CPTTRS)
00669 #define CGETRI_F77  F77_BLAS_MANGLE(cgetri,CGETRI)
00670 #define CGERFS_F77  F77_BLAS_MANGLE(cgerfs,CGERFS)
00671 #define CGBRFS_F77  F77_BLAS_MANGLE(cgbrfs,CGBRFS)
00672 #define CLATRS_F77  F77_BLAS_MANGLE(clatrs,CLATRS)
00673 #define CGECON_F77  F77_BLAS_MANGLE(cgecon,CGECON)
00674 #define CGBCON_F77  F77_BLAS_MANGLE(cgbcon,CGBCON)
00675 #define CLANGB_F77  F77_BLAS_MANGLE(clangb,CLANGB)
00676 #define CGESVX_F77  F77_BLAS_MANGLE(cgesvx,CGESVX)
00677 #define CGESV_F77   F77_BLAS_MANGLE(cgesv,CGESV)
00678 #define CGEEQU_F77  F77_BLAS_MANGLE(cgeequ,CGEEQU)
00679 #define CGBEQU_F77  F77_BLAS_MANGLE(cgbequ,CGBEQU)
00680 #define CPOTRF_F77  F77_BLAS_MANGLE(cpotrf,CPOTRF)
00681 #define CPOTRS_F77  F77_BLAS_MANGLE(cpotrs,CPOTRS)
00682 #define CPOTRI_F77  F77_BLAS_MANGLE(cpotri,CPOTRI)
00683 #define CPOCON_F77  F77_BLAS_MANGLE(cpocon,CPOCON)
00684 #define CPOSV_F77   F77_BLAS_MANGLE(cposv,CPOSV)
00685 #define CPOEQU_F77  F77_BLAS_MANGLE(cpoequ,CPOEQU)
00686 #define CPORFS_F77  F77_BLAS_MANGLE(cporfs,CPORFS)
00687 #define CPOSVX_F77  F77_BLAS_MANGLE(cposvx,CPOSVX)
00688 #define CTRTRS_F77  F77_BLAS_MANGLE(ctrtrs,CTRTRS)
00689 #define CTRTRI_F77  F77_BLAS_MANGLE(ctrtri,CTRTRI)
00690 #define CGELS_F77   F77_BLAS_MANGLE(cgels,CGELS)
00691 #define CGELSS_F77  F77_BLAS_MANGLE(cgelss,CGELSS)
00692 //#define CGGLSE_F77  F77_BLAS_MANGLE(cgglse,CGGLSE)
00693 #define CGEEV_F77   F77_BLAS_MANGLE(cgeev,CGEEV)
00694 #define CGESVD_F77  F77_BLAS_MANGLE(cgesvd,CGESVD)
00695 //#define CGGEV_F77   F77_BLAS_MANGLE(cggev,CGGEV)
00696 //#define CGGEVX_F77  F77_BLAS_MANGLE(cggevx,CGGEVX)
00697 #define CGEHRD_F77  F77_BLAS_MANGLE(cgehrd,CGEHRD)
00698 #define CHSEQR_F77  F77_BLAS_MANGLE(chseqr,CHSEQR)
00699 #define CTREVC_F77  F77_BLAS_MANGLE(ctrevc,CTREVC)
00700 #define CTREXC_F77  F77_BLAS_MANGLE(ctrexc,CTREXC)
00701 #define CGEES_F77   F77_BLAS_MANGLE(cgees,CGEES)
00702 #define CSTEQR_F77  F77_BLAS_MANGLE(csteqr,CSTEQR)
00703 #define CHEEV_F77   F77_BLAS_MANGLE(cheev,CHEEV)
00704 #define CHEGV_F77   F77_BLAS_MANGLE(chegv,CHEGV)
00705 #define CLARTG_F77  F77_BLAS_MANGLE(clartg,CLARTG)
00706 #define CLARFG_F77  F77_BLAS_MANGLE(clarfg,CLARFG)
00707 #define CGEBAL_F77  F77_BLAS_MANGLE(cgebal,CGEBAL)
00708 #define CGEBAK_F77  F77_BLAS_MANGLE(cgebak,CGEBAK)
00709 #define CLARND_F77  F77_BLAS_MANGLE(clarnd,CLARND)
00710 #define CLARNV_F77  F77_BLAS_MANGLE(clarnv,CLARNV)
00711 
00712 #endif /* HAVE_TEUCHOS_COMPLEX */
00713 
00714 #ifdef __cplusplus
00715 extern "C" {
00716 #endif
00717 
00718 // Double precision LAPACK linear solvers
00719 
00720 void PREFIX DGELS_F77(Teuchos_fcd ch, const int* m, const int* n, const int* nrhs, double* a, const int* lda, double* b, const int* ldb, double* work, const int* lwork, int* info);
00721 void PREFIX DGELSS_F77(const int* m, const int* n, const int* nrhs, double* a, const int* lda, double* b, const int* ldb, double* s, const double* rcond, int* rank, double* work, const int* lwork, int* info);
00722 void PREFIX DGGLSE_F77(const int* m, const int* n, const int* p, double* a, const int* lda, double* b, const int* ldb, double* c, double* d, double* x, double* work, const int* lwork, int* info);
00723 void PREFIX DGEQRF_F77(const int* m, const int* n, double* a, const int* lda, double* tau, double* work, const int* lwork, int* info);
00724 void PREFIX DGETRF_F77(const int* m, const int* n, double* a, const int* lda, int* ipiv, int* info);
00725 void PREFIX DGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const double* a, const int* lda,const int* ipiv, double* x , const int* ldx, int* info);
00726 void PREFIX DLASWP_F77(const int* N, double A[], const int* LDA, const int* K1, const int* K2, const int IPIV[], const int* INCX);
00727 void PREFIX DGBTRF_F77(const int* m, const int* n, const int* kl, const int* ku, double* a, const int* lda, int* ipiv, int* info);
00728 void PREFIX DGBTRS_F77(Teuchos_fcd, const int* n, const int* kl, const int* ku, const int* nrhs, const double* a, const int* lda, const int* ipiv, double* x, const int* ldx, int* info);
00729 void PREFIX DGTTRF_F77(const int* n, double* dl, double* d, double* du, double* du2, int* ipiv, int* info);
00730 void PREFIX DGTTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const double* dl, const double* d, const double* du, const double* du2, const int* ipiv, double* x , const int* ldx, int* info);
00731 void PREFIX DPTTRF_F77(const int* n, double* d, double* e, int* info);
00732 void PREFIX DPTTRS_F77(const int* n, const int* nrhs, const double* d, const double* e, double* x , const int* ldx, int* info);
00733 void PREFIX DGETRI_F77(const int* n, double* a, const int* lda, const int* ipiv, double* work , const int* lwork, int* info);
00734 void PREFIX DLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int* N, double* A, const int* LDA, double* X, double* SCALE, double* CNORM, int* INFO);
00735 void PREFIX DGECON_F77(Teuchos_fcd norm, const int* n, const double* a, const int* lda, const double* anorm, double* rcond, double* work, int* iwork, int* info);
00736 void PREFIX DGBCON_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const double* a, const int* lda, int* IPIV, const double* anorm, double* rcond, double* work, int* iwork, int* info);
00737 double PREFIX DLANGB_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const double* a, const int* lda, double* work);
00738 void PREFIX DGESV_F77(const int* n, const int* nrhs, double* a, const int* lda, int* ipiv, double* x , const int* ldx, int* info);
00739 void PREFIX DGEEQU_F77(const int* m, const int* n, const double* a, const int* lda, double* r, double* c, double* rowcnd, double* colcnd, double* amax, int* info);
00740 void PREFIX DGBEQU_F77(const int* m, const int* n, const int* kl, const int* ku, const double* a, const int* lda, double* r, double* c, double* rowcnd, double* colcnd, double* amax, int* info);
00741 void PREFIX DGERFS_F77(Teuchos_fcd, const int* n, const int* nrhs, const double* a, const int* lda, const double* af, const int* ldaf, const int* ipiv, const double* b, const int* ldb, double* x, const int* ldx, double* ferr, double* berr, double* work, int* iwork, int* info);
00742 void PREFIX DGBRFS_F77(Teuchos_fcd, const int* n, const int* kl, const int* ku, const int* nrhs, const double* a, const int* lda, const double* af, const int* ldaf, const int* ipiv, const double* b, const int* ldb, double* x, const int* ldx, double* ferr, double* berr, double* work, int* iwork, int* info);
00743 void PREFIX DGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, double* af, const int* ldaf, int* ipiv, Teuchos_fcd, double* r,
00744 double* c, double* b, const int* ldb, double* x, const int* ldx, double* rcond, double* ferr, double* berr, double* work, int* iwork, int* info);
00745 void PREFIX DSYTRD_F77(Teuchos_fcd, const int* n, double* a, const int* lda, double* D, double* E, double* tau, double* work, const int* lwork, int* info);
00746 void PREFIX DPOTRF_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* info);
00747 void PREFIX DPOTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const double* a, const int* lda, double*x , const int* ldx, int* info);
00748 void PREFIX DPOTRI_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* info);
00749 void PREFIX DPOCON_F77(Teuchos_fcd, const int* n, const double* a, const int* lda, const double* anorm, double* rcond, double* work, int* iwork, int* info);
00750 void PREFIX DPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, double*x , const int* ldx, int* info);
00751 void PREFIX DPOEQU_F77(const int* n, const double* a, const int* lda, double* s, double* scond, double* amax, int* info);
00752 void PREFIX DPORFS_F77(Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, const double* af, const int* ldaf, const double* b, const int* ldb, double* x, const int* ldx, double* ferr, double* berr, double* work, int* iwork, int* info);
00753 void PREFIX DPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, double* af, const int* ldaf, Teuchos_fcd, double* s, double* b, const int* ldb, double* x, const int* ldx, double* rcond, double* ferr, double* berr, double* work, int* iwork, int* info);
00754 void PREFIX DTRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, const double* a, const int* lda, double* b, const int* ldb, int* info);
00755 void PREFIX DTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const double* a, const int* lda, int* info);
00756 
00757 // Single precision LAPACK linear solvers
00758 
00759 void PREFIX SGELS_F77(Teuchos_fcd ch, const int* m, const int* n, const int* nrhs, float* a, const int* lda, float* b, const int* ldb, float* work, const int* lwork, int* info);
00760 void PREFIX SGELSS_F77(const int* m, const int* n, const int* nrhs, float* a, const int* lda, float* b, const int* ldb, float* s, const float* rcond, int* rank, float* work, const int* lwork, int* info);
00761 void PREFIX SGGLSE_F77(const int* m, const int* n, const int* p, float* a, const int* lda, float* b, const int* ldb, float* c, float* d, float* x, float* work, const int* lwork, int* info);
00762 void PREFIX SGEQRF_F77(const int* m, const int* n, float* a, const int* lda, float* tau, float* work, const int* lwork, int* info);
00763 void PREFIX SGETRF_F77(const int* m, const int* n, float* a, const int* lda, int* ipiv, int* info);
00764 void PREFIX SGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda,const int* ipiv, float* x , const int* ldx, int* info);
00765 void PREFIX SLASWP_F77(const int* N, float A[], const int* LDA, const int* K1, const int* K2, const int IPIV[], const int* INCX);
00766 void PREFIX SGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda,const int* ipiv, float* x , const int* ldx, int* info);
00767 void PREFIX SGBTRF_F77(const int* m, const int* n, const int* kl, const int* ku, float* a, const int* lda, int* ipiv, int* info);
00768 void PREFIX SGBTRS_F77(Teuchos_fcd, const int* n, const int* kl, const int* ku, const int* nrhs, const float* a, const int* lda, const int* ipiv, float* x, const int* ldx, int* info);
00769 void PREFIX SGTTRF_F77(const int* n, float* dl, float* d, float* du, float* du2, int* ipiv, int* info);
00770 void PREFIX SGTTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* dl, const float* d, const float* du, const float* du2, const int* ipiv, float* x , const int* ldx, int* info);
00771 void PREFIX SPTTRF_F77(const int* n, float* d, float* e, int* info);
00772 void PREFIX SPTTRS_F77(const int* n, const int* nrhs, const float* d, const float* e, float* x , const int* ldx, int* info);
00773 void PREFIX SGETRI_F77(const int* n, float* a, const int* lda, const int* ipiv, float* work , const int* lwork, int* info);
00774 void PREFIX SLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int* N, float* A, const int* LDA, float* X, float* SCALE, float* CNORM, int* INFO);
00775 void PREFIX SGECON_F77(Teuchos_fcd norm, const int* n, const float* a, const int* lda, const float* anorm, float* rcond, float* work, int* iwork, int* info);
00776 void PREFIX SGBCON_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const float* a, const int* lda, int* IPIV, const float* anorm, float* rcond, float* work, int* iwork, int* info);
00777 float PREFIX SLANGB_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const float* a, const int* lda, float* work);
00778 void PREFIX SGESV_F77(const int* n, const int* nrhs, float* a, const int* lda, int* ipiv, float* x , const int* ldx, int* info);
00779 void PREFIX SGEEQU_F77(const int* m, const int* n, const float* a, const int* lda, float* r, float* c, float* rowcnd, float* colcnd, float* amax, int* info);
00780 void PREFIX SGBEQU_F77(const int* m, const int* n, const int* kl, const int* ku, const float* a, const int* lda, float* r, float* c, float* rowcnd, float* colcnd, float* amax, int* info);
00781 void PREFIX SGERFS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda, const float* af, const int* ldaf, const int* ipiv, const float* b, const int* ldb, float* x, const int* ldx, float* ferr, float* berr, float* work, int* iwork, int* info);
00782 void PREFIX SGBRFS_F77(Teuchos_fcd, const int* n, const int* kl, const int* ku, const int* nrhs, const float* a, const int* lda, const float* af, const int* ldaf, const int* ipiv, const float* b, const int* ldb, float* x, const int* ldx, float* ferr, float* berr, float* work, int* iwork, int* info);
00783 void PREFIX SGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, float* af, const int* ldaf, int* ipiv, Teuchos_fcd, float* r,
00784 float* c, float* b, const int* ldb, float* x, const int* ldx, float* rcond, float* ferr, float* berr, float* work, int* iwork, int* info);
00785 void PREFIX SSYTRD_F77(Teuchos_fcd, const int* n, float* a, const int* lda, float* D, float* E, float* tau, float* work, const int* lwork, int* info);
00786 void PREFIX SPOTRF_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* info);
00787 void PREFIX SPOTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda, float*x , const int* ldx, int* info);
00788 void PREFIX SPOTRI_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* info);
00789 void PREFIX SPOCON_F77(Teuchos_fcd, const int* n, const float* a, const int* lda, const float* anorm, float* rcond, float* work, int* iwork, int* info);
00790 void PREFIX SPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, float*x , const int* ldx, int* info);
00791 void PREFIX SPOEQU_F77(const int* n, const float* a, const int* lda, float* s, float* scond, float* amax, int* info);
00792 void PREFIX SPORFS_F77(Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, const float* af, const int* ldaf, const float* b, const int* ldb, float* x, const int* ldx, float* ferr, float* berr, float* work, int* iwork, int* info);
00793 void PREFIX SPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, float* af, const int* ldaf, Teuchos_fcd, float* s, float* b, const int* ldb, float* x, const int* ldx, float* rcond, float* ferr, float* berr, float* work, int* iwork, int* info);
00794 void PREFIX STRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, const float* a, const int* lda, float* b, const int* ldb, int* info);
00795 void PREFIX STRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const float* a, const int* lda, int* info);
00796 
00797 // Double precision LAPACK eigen solvers
00798 void PREFIX DSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, double* ap, double* w, double* z, const int* ldz, double* work, int* info);
00799 void PREFIX DSYEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* w, double* work, const int* lwork, int* info);
00800 void PREFIX DSYGV_F77(const int* itype, Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* B, const int* ldb, double* w, double* work, const int* lwork, int* info);
00801 void PREFIX DSTEQR_F77(Teuchos_fcd, const int* n, double* D, double* E, double* Z, const int* ldz, double* work, int* info);
00802 void PREFIX DGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* wr, double* wi, double* vl, const int* ldvl, double* vr, const int* ldvr, double* work, const int* lwork, int* info);
00803 void PREFIX DGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, double* a, const int* lda, double* s, double* u, const int* ldu, double* v, const int* ldv, double* work, const int* lwork, int* info);
00804 void PREFIX DGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* b, const int* ldb, double* alphar, double* alphai, double* beta, double* vl, const int* ldvl, double* vr, const int* ldvr, int* ilo, int* ihi, double* lscale, double* rscale, double* abnrm, double* bbnrm, double* rconde, double* rcondv, double* work, const int* lwork, int* iwork, int* bwork, int* info);
00805 void PREFIX DGEHRD_F77(const int* n, const int* ilo, const int* ihi, double* A, const int* lda, double* tau, double* work, const int* lwork, int* info);
00806 void PREFIX DHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, double* h, const int* ldh, double* wr, double* wi, double* z, const int* ldz, double* work, const int* lwork, int* info);
00807 void PREFIX DGEES_F77(Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(double*, double*), const int* n, double* a, const int* lda, int*sdim, double* wr, double* wi, double* vs, const int* ldvs, double* work, const int* lwork, int* bwork, int* info);
00808 void PREFIX DORGHR_F77(const int* n, const int* ilo, const int* ihi, double* a, const int* lda, const double* tau, double* work, const int* lwork, int* info);
00809 void PREFIX DORMHR_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, const int* ilo, const int* ihi, const double* a, const int* lda, const double* tau, double* c, const int* ldc, double* work, const int* lwork, int* info);
00810 void PREFIX DORGQR_F77(const int* m, const int* n, const int* k, double* a, const int* lda, const double* tau, double* work, const int* lwork, int* info);
00811 void PREFIX DORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, const int* k, double* a, const int* lda, const double* tau, double* C, const int* ldc, double* work, const int* lwork, int* info);
00812 void PREFIX DTREVC_F77(Teuchos_fcd, Teuchos_fcd, int* select, const int* n, const double* t, const int* ldt, double* vl, const int* ldvl, double* vr, const int* ldvr, const int* mm, int* m, double* work, int* info);
00813 void PREFIX DTREXC_F77(Teuchos_fcd, const int* n, double* t, const int* ldt, double* q, const int* ldq, int* ifst, int* ilst, double* work, int* info);
00814 void PREFIX DGGEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *A, const int *lda, double *B, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info);
00815 
00816 
00817 // Single precision LAPACK eigen solvers
00818 
00819 void PREFIX SSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, float* ap, float* w, float* z, const int* ldz, float* work, int* info);
00820 void PREFIX SSYEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, float* a, const int* lda, float* w, float* work, const int* lwork, int* info);
00821 void PREFIX SSYGV_F77(const int* itype, Teuchos_fcd, Teuchos_fcd, const int* n, float* a, const int* lda, float* B, const int* ldb, float* w, float* work, const int* lwork, int* info);
00822 void PREFIX SSTEQR_F77(Teuchos_fcd, const int* n, float* D, float* E, float* Z, const int* ldz, float* work, int* info);
00823 void PREFIX SGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, float* a, const int* lda, float* wr, float* wi, float* vl, const int* ldvl, float* vr, const int* ldvr, float* work, const int* lwork, int* info);
00824 void PREFIX SGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, float* a, const int* lda, float* s, float* u, const int* ldu, float* v, const int* ldv, float* work, const int* lwork, int* info);
00825 void PREFIX SGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, float* a, const int* lda, float* b, const int* ldb, float* alphar, float* alphai, float* beta, float* vl, const int* ldvl, float* vr, const int* ldvr, int* ilo, int* ihi, float* lscale, float* rscale, float* abnrm, float* bbnrm, float* rconde, float* rcondv, float* work, const int* lwork, int* iwork, int* bwork, int* info);
00826 void PREFIX SGEHRD_F77(const int* n, const int* ilo, const int* ihi, float* A, const int* lda, float* tau, float* work, const int* lwork, int* info);
00827 void PREFIX SHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, float* h, const int* ldh, float* wr, float* wi, float* z, const int* ldz, float* work, const int* lwork, int* info);
00828 void PREFIX SGEES_F77(Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(float*, float*), const int* n, float* a, const int* lda, int* sdim, float* wr, float* wi, float* vs, const int* ldvs, float* work, const int* lwork, int* bwork, int* info);
00829 void PREFIX SORGHR_F77(const int* n, const int* ilo, const int* ihi, float* a, const int* lda, const float* tau, float* work, const int* lwork, int* info);
00830 void PREFIX SORMHR_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, const int* ilo, const int* ihi, const float* a, const int* lda, const float* tau, float* c, const int* ldc, float* work, const int* lwork, int* info);
00831 void PREFIX SORGQR_F77(const int* m, const int* n, const int* k, float* a, const int* lda, const float* tau, float* work, const int* lwork, int* info);
00832 void PREFIX SORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, const int* k, float* a, const int* lda, const float* tau, float* C, const int* ldc, float* work, const int* lwork, int* info);
00833 void PREFIX STREVC_F77(Teuchos_fcd, Teuchos_fcd, int* select, const int* n, const float* t, const int* ldt, float* vl, const int* ldvl, float* vr, const int* ldvr, const int* mm, int* m, float* work, int* info);
00834 void PREFIX STREXC_F77(Teuchos_fcd, const int* n, float* t, const int* ldt, float* q, const int* ldq, int* ifst, int* ilst, float* work, int* info);
00835 void PREFIX SGGEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *A, const int *lda, float *B, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info);
00836 
00837 void PREFIX SLARTG_F77(const float* f, const float* g, float* c, float* s, float* r);
00838 void PREFIX DLARTG_F77(const double* f, const double* g, double* c, double* s, double* r);
00839 
00840 void PREFIX SLARFG_F77(const int* n, float* alpha, float* x, const int* incx, float* tau);
00841 void PREFIX DLARFG_F77(const int* n, double* alpha, double* x, const int* incx, double* tau);
00842 
00843 void PREFIX SGEBAL_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* ilo, int* ihi, float* scale, int* info);
00844 void PREFIX SGEBAK_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, const float* scale, const int* m, float* V, const int* ldv, int* info);
00845 void PREFIX DGEBAL_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* ilo, int* ihi, double* scale, int* info);
00846 void PREFIX DGEBAK_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, const double* scale, const int* m, double* V, const int* ldv, int* info);
00847 
00848 float PREFIX SLARND_F77(const int* idist, int* seed);
00849 double PREFIX DLARND_F77(const int* idist, int* seed);
00850 
00851 void PREFIX SLARNV_F77(const int* idist, int* seed, const int* n, float* v);
00852 void PREFIX DLARNV_F77(const int* idist, int* seed, const int* n, double* v);
00853 
00854 float PREFIX SLAMCH_F77(Teuchos_fcd);
00855 double PREFIX DLAMCH_F77(Teuchos_fcd);
00856 
00857 #if defined(INTEL_CXML)
00858 int PREFIX ILAENV_F77( const int* ispec, const char* name, unsigned int name_length, const char* opts, unsigned int opts_length, const int* N1, const int* N2, const int* N3, const int* N4 );
00859 #else
00860 int PREFIX ILAENV_F77( const int* ispec, const char* name, const char* opts, const int* N1, const int* N2, const int* N3, const int* N4, unsigned int name_length, unsigned int opts_length );
00861 #endif
00862 
00863 #ifdef HAVE_TEUCHOS_BLASFLOAT
00864   #if defined(HAVE_SLAPY2_PROBLEM) && defined(HAVE_SLAPY2_DOUBLE_RETURN)
00865     double PREFIX SLAPY2_F77(const float* x, const float* y);
00866   #else
00867     float PREFIX SLAPY2_F77(const float* x, const float* y);
00868   #endif
00869 #endif
00870 
00871 double PREFIX DLAPY2_F77(const double* x, const double* y);
00872 
00873 #ifdef HAVE_TEUCHOS_COMPLEX
00874 
00875 // Double precision complex LAPACK linear solvers
00876 void PREFIX ZGELS_F77(Teuchos_fcd ch, const int* m, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>* b, const int* ldb, std::complex<double>* work, const int* lwork, int* info);
00877 void PREFIX ZGELSS_F77(const int* m, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>* b, const int* ldb, double* s, const double* rcond, int* rank, std::complex<double>* work, const int* lwork, double* rwork, int* info);
00878 void PREFIX ZGEQRF_F77(const int* m, const int* n, std::complex<double>* a, const int* lda, std::complex<double>* tau, std::complex<double>* work, const int* lwork, int* info);
00879 void PREFIX ZUNGQR_F77(const int* m, const int* n, const int* k, std::complex<double>* a, const int* lda, const std::complex<double>* tau, std::complex<double>* work, const int* lwork, int* info);
00880 void PREFIX ZUNMQR_F77(Teuchos_fcd SIDE, Teuchos_fcd TRANS, const int* m, const int* n, const int* k, std::complex<double>* A, const int* lda, const std::complex<double>* tau, std::complex<double>* C, const int* ldc, std::complex<double>* work, const int* lwork, int* info);
00881 void PREFIX ZGETRF_F77(const int* m, const int* n, std::complex<double>* a, const int* lda, int* ipiv, int* info);
00882 void PREFIX ZGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* a, const int* lda,const int* ipiv, std::complex<double>* x , const int* ldx, int* info);
00883 void PREFIX ZLASWP_F77(const int* N, std::complex<double> A[], const int* LDA, const int* K1, const int* K2, const int IPIV[], const int* INCX);
00884 void PREFIX ZGBTRF_F77(const int* m, const int* n, const int* kl, const int* ku, std::complex<double>* a, const int* lda, int* ipiv, int* info); 
00885 void PREFIX ZGBTRS_F77(Teuchos_fcd, const int* n, const int* kl, const int* ku, const int* nrhs, const std::complex<double>* a, const int* lda,const int* ipiv, std::complex<double>* x , const int* ldx, int* info);
00886 void PREFIX ZGTTRF_F77(const int* n, std::complex<double>* dl, std::complex<double>* d, std::complex<double>* du, std::complex<double>* du2, int* ipiv, int* info);
00887 void PREFIX ZGTTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* dl, const std::complex<double>* d, const std::complex<double>* du, const std::complex<double>* du2, const int* ipiv, std::complex<double>* x , const int* ldx, int* info);
00888 void PREFIX ZPTTRF_F77(const int* n, std::complex<double>* d, std::complex<double>* e, int* info);
00889 void PREFIX ZPTTRS_F77(const int* n, const int* nrhs, const std::complex<double>* d, const std::complex<double>* e, std::complex<double>* x , const int* ldx, int* info);
00890 void PREFIX ZGETRI_F77(const int* n, std::complex<double>* a, const int* lda, const int* ipiv, std::complex<double>* work , const int* lwork, int* info);
00891 void PREFIX ZLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int* N, std::complex<double>* A, const int* LDA, std::complex<double>* X, double* SCALE, double* CNORM, int* INFO);
00892 void PREFIX ZGECON_F77(Teuchos_fcd norm, const int* n, const std::complex<double>* a, const int* lda, const double* anorm, double* rcond, std::complex<double>* work, double* rwork, int* info);
00893 void PREFIX ZGBCON_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const std::complex<double>* a, const int* lda, int* IPIV, const double* anorm, double* rcond, std::complex<double>* work, double* rwork, int* info);
00894 double PREFIX ZLANGB_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const std::complex<double>* a, const int* lda, double* work);
00895 void PREFIX ZGESV_F77(const int* n, const int* nrhs, std::complex<double>* a, const int* lda, int* ipiv, std::complex<double>* x , const int* ldx, int* info);
00896 void PREFIX ZGEEQU_F77(const int* m, const int* n, const std::complex<double>* a, const int* lda, double* r, double* c, double* rowcnd, double* colcnd, double* amax, int* info);
00897 void PREFIX ZGBEQU_F77(const int* m, const int* n, const int* kl, const int* ku, const std::complex<double>* a, const int* lda, double* r, double* c, double* rowcnd, double* colcnd, double* amax, int* info);
00898 void PREFIX ZGERFS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* a, const int* lda, const std::complex<double>* af, const int* ldaf, const int* ipiv, const std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* ferr, double* berr, std::complex<double>* work, double* rwork, int* info);
00899 void PREFIX ZGBRFS_F77(Teuchos_fcd, const int* n, const int* kl, const int* ku, const int* nrhs, const std::complex<double>* a, const int* lda, const std::complex<double>* af, const int* ldaf, const int* ipiv, const std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* ferr, double* berr, std::complex<double>* work, double* rwork, int* info);
00900 void PREFIX ZGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>* af, const int* ldaf, int* ipiv, Teuchos_fcd, double* r, double* c, std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* rcond, double* ferr, double* berr, std::complex<double>* work, double* rwork, int* info);
00901 void PREFIX ZPOTRF_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* info);
00902 void PREFIX ZPOTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* a, const int* lda, std::complex<double>*x , const int* ldx, int* info);
00903 void PREFIX ZPOTRI_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* info);
00904 void PREFIX ZPOCON_F77(Teuchos_fcd, const int* n, const std::complex<double>* a, const int* lda, const double* anorm, double* rcond, std::complex<double>* work, double* rwork, int* info);
00905 void PREFIX ZPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>*x , const int* ldx, int* info);
00906 void PREFIX ZPOEQU_F77(const int* n, const std::complex<double>* a, const int* lda, double* s, double* scond, double* amax, int* info);
00907 void PREFIX ZPORFS_F77(Teuchos_fcd, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, const std::complex<double>* af, const int* ldaf, const std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* ferr, double* berr, std::complex<double>* work, double* rwork, int* info);
00908 void PREFIX ZPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, std::complex<double>* a, const int* lda, std::complex<double>* af, const int* ldaf, Teuchos_fcd, double* s, std::complex<double>* b, const int* ldb, std::complex<double>* x, const int* ldx, double* rcond, double* ferr, double* berr, std::complex<double>* work, double* rwork, int* info);
00909 void PREFIX ZTRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, const std::complex<double>* a, const int* lda, std::complex<double>* b, const int* ldb, int* info);
00910 void PREFIX ZTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const std::complex<double>* a, const int* lda, int* info);
00911 
00912 // Single precision complex LAPACK linear solvers
00913 
00914 void PREFIX CGELS_F77(Teuchos_fcd ch, const int* m, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>* b, const int* ldb, std::complex<float>* work, const int* lwork, int* info);
00915 void PREFIX CGELSS_F77(const int* m, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>* b, const int* ldb, float* s, const float* rcond, int* rank, std::complex<float>* work, const int* lwork, float* rwork, int* info);
00916 void PREFIX CGEQRF_F77(const int* m, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* tau, std::complex<float>* work, const int* lwork, int* info);
00917 void PREFIX CUNGQR_F77(const int* m, const int* n, const int* k, std::complex<float>* a, const int* lda, const std::complex<float>* tau, std::complex<float>* work, const int* lwork, int* info);
00918 void PREFIX CUNMQR_F77(Teuchos_fcd SIDE, Teuchos_fcd TRANS, const int* m, const int* n, const int* k, std::complex<float>* A, const int* lda, const std::complex<float>* tau, std::complex<float>* C, const int* ldc, std::complex<float>* work, const int* lwork, int* info);
00919 void PREFIX CGETRF_F77(const int* m, const int* n, std::complex<float>* a, const int* lda, int* ipiv, int* info);
00920 void PREFIX CGETRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* a, const int* lda,const int* ipiv, std::complex<float>* x , const int* ldx, int* info);
00921 void PREFIX CLASWP_F77(const int* N, std::complex<float> A[], const int* LDA, const int* K1, const int* K2, const int IPIV[], const int* INCX);
00922 void PREFIX CGBTRF_F77(const int* m, const int* n, const int* kl, const int* ku, std::complex<float>* a, const int* lda, int* ipiv, int* info);
00923 void PREFIX CGBTRS_F77(Teuchos_fcd, const int* n, const int* kl, const int* ku, const int* nrhs, const std::complex<float>* a, const int* lda,const int* ipiv, std::complex<float>* x , const int* ldx, int* info);
00924 void PREFIX CGTTRF_F77(const int* n, std::complex<float>* dl, std::complex<float>* d, std::complex<float>* du, std::complex<float>* du2, int* ipiv, int* info);
00925 void PREFIX CGTTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* dl, const std::complex<float>* d, const std::complex<float>* du, const std::complex<float>* du2, const int* ipiv, std::complex<float>* x , const int* ldx, int* info);
00926 void PREFIX CPTTRF_F77(const int* n, std::complex<float>* d, std::complex<float>* e, int* info);
00927 void PREFIX CPTTRS_F77(const int* n, const int* nrhs, const std::complex<float>* d, const std::complex<float>* e, std::complex<float>* x , const int* ldx, int* info);
00928 void PREFIX CGETRI_F77(const int* n, std::complex<float>* a, const int* lda, const int* ipiv, std::complex<float>* work , const int* lwork, int* info);
00929 void PREFIX CLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int* N, std::complex<float>* A, const int* LDA, std::complex<float>* X, float* SCALE, float* CNORM, int* INFO);
00930 void PREFIX CGECON_F77(Teuchos_fcd norm, const int* n, const std::complex<float>* a, const int* lda, const float* anorm, float* rcond, std::complex<float>* work, float* rwork, int* info);
00931 void PREFIX CGBCON_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const std::complex<float>* a, const int* lda, int* IPIV, const float* anorm, float* rcond, std::complex<float>* work, float* rwork, int* info);
00932 float PREFIX CLANGB_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const std::complex<float>* a, const int* lda, float* work);
00933 void PREFIX CGESV_F77(const int* n, const int* nrhs, std::complex<float>* a, const int* lda, int* ipiv, std::complex<float>* x, const int* ldx, int* info);
00934 void PREFIX CGEEQU_F77(const int* m, const int* n, const std::complex<float>* a, const int* lda, float* r, float* c, float* rowcnd, float* colcnd, float* amax, int* info);
00935 void PREFIX CGBEQU_F77(const int* m, const int* n, const int* kl, const int* ku, const std::complex<float>* a, const int* lda, float* r, float* c, float* rowcnd, float* colcnd, float* amax, int* info);
00936 void PREFIX CGERFS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* a, const int* lda, const std::complex<float>* af, const int* ldaf, const int* ipiv, const std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info);
00937 void PREFIX CGBRFS_F77(Teuchos_fcd, const int* n, const int* kl, const int* ku, const int* nrhs, const std::complex<float>* a, const int* lda, const std::complex<float>* af, const int* ldaf, const int* ipiv, const std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info);
00938 void PREFIX CGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>* af, const int* ldaf, int* ipiv, Teuchos_fcd, float* r, float* c, std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* rcond, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info);
00939 void PREFIX CPOTRF_F77(Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, int* info);
00940 void PREFIX CPOTRS_F77(Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* a, const int* lda, std::complex<float>*x , const int* ldx, int* info);
00941 void PREFIX CPOTRI_F77(Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, int* info);
00942 void PREFIX CPOCON_F77(Teuchos_fcd, const int* n, const std::complex<float>* a, const int* lda, const float* anorm, float* rcond, std::complex<float>* work, float* rwork, int* info);
00943 void PREFIX CPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>*x , const int* ldx, int* info);
00944 void PREFIX CPOEQU_F77(const int* n, const std::complex<float>* a, const int* lda, float* s, float* scond, float* amax, int* info);
00945 void PREFIX CPORFS_F77(Teuchos_fcd, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, const std::complex<float>* af, const int* ldaf, const std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info);
00946 void PREFIX CPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, std::complex<float>* a, const int* lda, std::complex<float>* af, const int* ldaf, Teuchos_fcd, float* s, std::complex<float>* b, const int* ldb, std::complex<float>* x, const int* ldx, float* rcond, float* ferr, float* berr, std::complex<float>* work, float* rwork, int* info);
00947 void PREFIX CTRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, const int* nrhs, const std::complex<float>* a, const int* lda, std::complex<float>* b, const int* ldb, int* info);
00948 void PREFIX CTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const std::complex<float>* a, const int* lda, int* info);
00949 
00950 // Double precision complex LAPACK eigensolvers
00951 
00952 void PREFIX ZSTEQR_F77(Teuchos_fcd, const int* n, double* D, double* E, std::complex<double>* Z, const int* ldz, double* work, int* info);
00953 void PREFIX ZHEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, double* w, std::complex<double>* work, const int* lwork, double* rwork, int* info);
00954 void PREFIX ZHEGV_F77(const int* itype, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, std::complex<double>* B, const int* ldb, double* w, std::complex<double>* work, const int* lwork, double *rwork, int* info);
00955 void PREFIX ZGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, std::complex<double>* w, std::complex<double>* vl, const int* ldvl, std::complex<double>* vr, const int* ldvr, std::complex<double>* work, const int* lwork, double* rwork, int* info);
00956 void PREFIX ZGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, std::complex<double>* a, const int* lda, double* s, std::complex<double>* u, const int* ldu, std::complex<double>* v, const int* ldv, std::complex<double>* work, const int* lwork, double* rwork, int* info);
00957 //void PREFIX ZGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, std::complex<double>* b, const int* ldb, std::complex<double>* alpha, std::complex<double>* beta, std::complex<double>* vl, const int* ldvl, std::complex<double>* vr, const int* ldvr, int* ilo, int* ihi, double* lscale, double* rscale, double* abnrm, double* bbnrm, double* rconde, double* rcondv, std::complex<double>* work, const int* lwork, int* iwork, int* bwork, int* info);
00958 void PREFIX ZGEHRD_F77(const int* n, const int* ilo, const int* ihi, std::complex<double>* A, const int* lda, std::complex<double>* tau, std::complex<double>* work, const int* lwork, int* info);
00959 void PREFIX ZHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, std::complex<double>* h, const int* ldh, std::complex<double>* w, std::complex<double>* z, const int* ldz, std::complex<double>* work, const int* lwork, int* info);
00960 void PREFIX ZGEES_F77(Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(std::complex<double>*), const int* n, std::complex<double>* a, const int* lda, int* sdim, std::complex<double>* w, std::complex<double>* vs, const int* ldvs, std::complex<double>* work, const int* lwork, double* rwork, int* bwork, int* info);
00961 void PREFIX ZTREVC_F77(Teuchos_fcd, Teuchos_fcd, int* select, const int* n, const std::complex<double>* t, const int* ldt, std::complex<double>* vl, const int* ldvl, std::complex<double>* vr, const int* ldvr, const int* mm, int* m, std::complex<double>* work, double* rwork, int* info);
00962 void PREFIX ZTREXC_F77(Teuchos_fcd, const int* n, std::complex<double>* t, const int* ldt, std::complex<double>* q, const int* ldq, int* ifst, int* ilst, int* info);
00963 
00964 // Single precision complex LAPACK eigensolvers
00965 
00966 void PREFIX CSTEQR_F77(Teuchos_fcd, const int* n, float* D, float* E, std::complex<float>* Z, const int* ldz, float* work, int* info);
00967 void PREFIX CHEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, float* w, std::complex<float>* work, const int* lwork, float* rwork, int* info);
00968 void PREFIX CHEGV_F77(const int* itype, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* B, const int* ldb, float* w, std::complex<float>* work, const int* lwork, float *rwork, int* info);
00969 void PREFIX CGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* wr, std::complex<float>* vl, const int* ldvl, std::complex<float>* vr, const int* ldvr, std::complex<float>* work, const int* lwork, float* rwork, int* info);
00970 void PREFIX CGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int* m, const int* n, std::complex<float>* a, const int* lda, float* s, std::complex<float>* u, const int* ldu, std::complex<float>* v, const int* ldv, std::complex<float>* work, const int* lwork, float* rwork, int* info);
00971 //void PREFIX CGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* b, const int* ldb, std::complex<float>* alpha, std::complex<float>* beta, std::complex<float>* vl, const int* ldvl, std::complex<float>* vr, const int* ldvr, int* ilo, int* ihi, float* lscale, float* rscale, float* abnrm, float* bbnrm, float* rconde, float* rcondv, std::complex<float>* work, const int* lwork, int* iwork, int* bwork, int* info);
00972 void PREFIX CGEHRD_F77(const int* n, const int* ilo, const int* ihi, std::complex<float>* A, const int* lda, std::complex<float>* tau, std::complex<float>* work, const int* lwork, int* info);
00973 void PREFIX CHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, std::complex<float>* h, const int* ldh, std::complex<float>* w, std::complex<float>* z, const int* ldz, std::complex<float>* work, const int* lwork, int* info);
00974 void PREFIX CGEES_F77(Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(std::complex<float>*), const int* n, std::complex<float>* a, const int* lda, int* sdim, std::complex<float>* w, std::complex<float>* vs, const int* ldvs, std::complex<float>* work, const int* lwork, float* rwork, int* bwork, int* info);
00975   void PREFIX CTREVC_F77(Teuchos_fcd, Teuchos_fcd, int* select, const int* n, const std::complex<float>* t, const int* ldt, std::complex<float>* vl, const int* ldvl, std::complex<float>* vr, const int* ldvr, const int* mm, int* m, std::complex<float>* work, float* rwork, int* info);
00976 void PREFIX CTREXC_F77(Teuchos_fcd, const int* n, std::complex<float>* t, const int* ldt, std::complex<float>* q, const int* ldq, int* ifst, int* ilst, int* info);
00977 
00978 void PREFIX CLARTG_F77(const std::complex<float>* f, const std::complex<float>* g, float* c, std::complex<float>* s, std::complex<float>* r);
00979 void PREFIX ZLARTG_F77(const std::complex<double>* f, const std::complex<double>* g, double* c, std::complex<double>* s, std::complex<double>* r);
00980 
00981 void PREFIX CLARFG_F77(const int* n, std::complex<float>* alpha, std::complex<float>* x, const int* incx, std::complex<float>* tau);
00982 void PREFIX ZLARFG_F77(const int* n, std::complex<double>* alpha, std::complex<double>* x, const int* incx, std::complex<double>* tau);
00983 
00984 void PREFIX CGEBAL_F77(Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, int* ilo, int* ihi, float* scale, int* info);
00985 void PREFIX CGEBAK_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, const float* scale, const int* m, std::complex<float>* V, const int* ldv, int* info);
00986 void PREFIX ZGEBAL_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* ilo, int* ihi, double* scale, int* info);
00987 void PREFIX ZGEBAK_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const int* ilo, const int* ihi, const double* scale, const int* m, std::complex<double>* V, const int* ldv, int* info);
00988 
00989 std::complex<float> PREFIX CLARND_F77(const int* idist, int* seed);
00990 std::complex<double> PREFIX ZLARND_F77(const int* idist, int* seed);
00991 
00992 void PREFIX CLARNV_F77(const int* idist, int* seed, const int* n, std::complex<float>* v);
00993 void PREFIX ZLARNV_F77(const int* idist, int* seed, const int* n, std::complex<double>* v);
00994 
00995 #endif /* HAVE_TEUCHOS_COMPLEX */
00996 
00997 #ifdef __cplusplus
00998 }
00999 #endif
01000 
01001 #endif // end of TEUCHOS_LAPACK_WRAPPERS_HPP_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines