|
Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
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 00052 /* A) Define PREFIX and Teuchos_fcd based on platform. */ 00053 00054 #if defined(INTEL_CXML) 00055 # define PREFIX __stdcall 00056 # define Teuchos_fcd const char *, unsigned int 00057 #elif defined(INTEL_MKL) 00058 # define PREFIX 00059 # define Teuchos_fcd const char * 00060 #else 00061 # define PREFIX 00062 # define Teuchos_fcd const char * 00063 #endif 00064 00065 00066 /* B) Take care of of the link name case */ 00067 00068 #define DGEQRF_F77 F77_BLAS_MANGLE(dgeqrf,DGEQRF) 00069 #define DGETRF_F77 F77_BLAS_MANGLE(dgetrf,DGETRF) 00070 #define DGETRS_F77 F77_BLAS_MANGLE(dgetrs,DGETRS) 00071 #define DLASCL_F77 F77_BLAS_MANGLE(dlascl,DLASCL) 00072 #define DLASWP_F77 F77_BLAS_MANGLE(dlaswp,DLASWP) 00073 #define DGBTRF_F77 F77_BLAS_MANGLE(dgbtrf,DGBTRF) 00074 #define DGBTRS_F77 F77_BLAS_MANGLE(dgbtrs,DGBTRS) 00075 #define DGTTRF_F77 F77_BLAS_MANGLE(dgttrf,DGTTRF) 00076 #define DGTTRS_F77 F77_BLAS_MANGLE(dgttrs,DGTTRS) 00077 #define DPTTRF_F77 F77_BLAS_MANGLE(dpttrf,DPTTRF) 00078 #define DPTTRS_F77 F77_BLAS_MANGLE(dpttrs,DPTTRS) 00079 #define DGETRI_F77 F77_BLAS_MANGLE(dgetri,DGETRI) 00080 #define DGERFS_F77 F77_BLAS_MANGLE(dgerfs,DGERFS) 00081 #define DGBRFS_F77 F77_BLAS_MANGLE(dgbrfs,DGBRFS) 00082 #define DLATRS_F77 F77_BLAS_MANGLE(dlatrs,DLATRS) 00083 #define DGECON_F77 F77_BLAS_MANGLE(dgecon,DGECON) 00084 #define DGBCON_F77 F77_BLAS_MANGLE(dgbcon,DGBCON) 00085 #define DLANGB_F77 F77_BLAS_MANGLE(dlangb,DLANGB) 00086 #define DGESVX_F77 F77_BLAS_MANGLE(dgesvx,DGESVX) 00087 #define DGESV_F77 F77_BLAS_MANGLE(dgesv,DGESV) 00088 #define DGEEQU_F77 F77_BLAS_MANGLE(dgeequ,DGEEQU) 00089 #define DGBEQU_F77 F77_BLAS_MANGLE(dgbequ,DGBEQU) 00090 #define DSYTRD_F77 F77_BLAS_MANGLE(dsytrd,DSYTRD) 00091 #define DPOTRF_F77 F77_BLAS_MANGLE(dpotrf,DPOTRF) 00092 #define DPOTRS_F77 F77_BLAS_MANGLE(dpotrs,DPOTRS) 00093 #define DPOTRI_F77 F77_BLAS_MANGLE(dpotri,DPOTRI) 00094 #define DPOCON_F77 F77_BLAS_MANGLE(dpocon,DPOCON) 00095 #define DPOSV_F77 F77_BLAS_MANGLE(dposv,DPOSV) 00096 #define DPOEQU_F77 F77_BLAS_MANGLE(dpoequ,DPOEQU) 00097 #define DPORFS_F77 F77_BLAS_MANGLE(dporfs,DPORFS) 00098 #define DPOSVX_F77 F77_BLAS_MANGLE(dposvx,DPOSVX) 00099 #define DTRTRS_F77 F77_BLAS_MANGLE(dtrtrs,DTRTRS) 00100 #define DTRTRI_F77 F77_BLAS_MANGLE(dtrtri,DTRTRI) 00101 #define DLAMCH_F77 F77_BLAS_MANGLE(dlamch,DLAMCH) 00102 #define DGELS_F77 F77_BLAS_MANGLE(dgels,DGELS) 00103 #define DGELSS_F77 F77_BLAS_MANGLE(dgelss,DGELSS) 00104 #define DGGLSE_F77 F77_BLAS_MANGLE(dgglse,DGGLSE) 00105 #define DGEEV_F77 F77_BLAS_MANGLE(dgeev,DGEEV) 00106 #define DGESVD_F77 F77_BLAS_MANGLE(dgesvd,DGESVD) 00107 #define DGGEV_F77 F77_BLAS_MANGLE(dggev,DGGEV) 00108 #define DGGES_F77 F77_BLAS_MANGLE(dgges,DGGES) 00109 #define DTRSEN_F77 F77_BLAS_MANGLE(dtrsen,DTRSEN) 00110 #define DTGSEN_F77 F77_BLAS_MANGLE(dtgsen,DTGSEN) 00111 #define DGEEVX_F77 F77_BLAS_MANGLE(dgeevx,DGEEVX) 00112 #define DGGEVX_F77 F77_BLAS_MANGLE(dggevx,DGGEVX) 00113 #define DGEHRD_F77 F77_BLAS_MANGLE(dgehrd,DGEHRD) 00114 #define DHSEQR_F77 F77_BLAS_MANGLE(dhseqr,DHSEQR) 00115 #define DORGHR_F77 F77_BLAS_MANGLE(dorghr,DORGHR) 00116 #define DORGQR_F77 F77_BLAS_MANGLE(dorgqr,DORGQR) 00117 #define DORMHR_F77 F77_BLAS_MANGLE(dormhr,DORMHR) 00118 #define DORMQR_F77 F77_BLAS_MANGLE(dormqr,DORMQR) 00119 #define DTREVC_F77 F77_BLAS_MANGLE(dtrevc,DTREVC) 00120 #define DTREXC_F77 F77_BLAS_MANGLE(dtrexc,DTREXC) 00121 #define DTGEVC_F77 F77_BLAS_MANGLE(dtgevc,DTGEVC) 00122 #define DGEES_F77 F77_BLAS_MANGLE(dgees,DGEES) 00123 #define DSPEV_F77 F77_BLAS_MANGLE(dspev,DSPEV) 00124 #define DSYEV_F77 F77_BLAS_MANGLE(dsyev,DSYEV) 00125 #define DSYGV_F77 F77_BLAS_MANGLE(dsygv,DSYGV) 00126 #define DSTEQR_F77 F77_BLAS_MANGLE(dsteqr,DSTEQR) 00127 #define DLAPY2_F77 F77_BLAS_MANGLE(dlapy2,DLAPY2) 00128 #define DLARND_F77 F77_BLAS_MANGLE(dlarnd,DLARND) 00129 #define DLARNV_F77 F77_BLAS_MANGLE(dlarnv,DLARNV) 00130 #define DGEBAL_F77 F77_BLAS_MANGLE(dgebal,DGEBAL) 00131 #define DGEBAK_F77 F77_BLAS_MANGLE(dgebak,DGEBAK) 00132 #define DLARTG_F77 F77_BLAS_MANGLE(dlartg,DLARTG) 00133 #define DLARFG_F77 F77_BLAS_MANGLE(dlarfg,DLARFG) 00134 #define ILAENV_F77 F77_BLAS_MANGLE(ilaenv,ILAENV) 00135 #define DGEQP3_F77 F77_BLAS_MANGLE(dgeqp3,DGEQP3) 00136 00137 #ifdef HAVE_TEUCHOS_COMPLEX 00138 00139 #define ZGEQRF_F77 F77_BLAS_MANGLE(zgeqrf,ZGEQRF) 00140 #define ZUNGQR_F77 F77_BLAS_MANGLE(zungqr,ZUNGQR) 00141 #define ZUNMQR_F77 F77_BLAS_MANGLE(zunmqr,ZUNMQR) 00142 #define ZGETRF_F77 F77_BLAS_MANGLE(zgetrf,ZGETRF) 00143 #define ZGETRS_F77 F77_BLAS_MANGLE(zgetrs,ZGETRS) 00144 #define ZLASCL_F77 F77_BLAS_MANGLE(zlascl,ZLASCL) 00145 #define ZLASWP_F77 F77_BLAS_MANGLE(zlaswp,ZLASWP) 00146 #define ZGBTRF_F77 F77_BLAS_MANGLE(zgbtrf,ZGBTRF) 00147 #define ZGBTRS_F77 F77_BLAS_MANGLE(zgbtrs,ZGBTRS) 00148 #define ZGTTRF_F77 F77_BLAS_MANGLE(zgttrf,ZGTTRF) 00149 #define ZGTTRS_F77 F77_BLAS_MANGLE(zgttrs,ZGTTRS) 00150 #define ZPTTRF_F77 F77_BLAS_MANGLE(zpttrf,ZPTTRF) 00151 #define ZPTTRS_F77 F77_BLAS_MANGLE(zpttrs,ZPTTRS) 00152 #define ZGETRI_F77 F77_BLAS_MANGLE(zgetri,ZGETRI) 00153 #define ZGERFS_F77 F77_BLAS_MANGLE(zgerfs,ZGERFS) 00154 #define ZGBRFS_F77 F77_BLAS_MANGLE(zgbrfs,ZGBRFS) 00155 #define ZLATRS_F77 F77_BLAS_MANGLE(zlatrs,ZLATRS) 00156 #define ZGECON_F77 F77_BLAS_MANGLE(zgecon,ZGECON) 00157 #define ZGBCON_F77 F77_BLAS_MANGLE(zgbcon,ZGBCON) 00158 #define ZLANGB_F77 F77_BLAS_MANGLE(zlangb,ZLANGB) 00159 #define ZGESVX_F77 F77_BLAS_MANGLE(zgesvx,ZGESVX) 00160 #define ZGESV_F77 F77_BLAS_MANGLE(zgesv,ZGESV) 00161 #define ZGEEQU_F77 F77_BLAS_MANGLE(zgeequ,ZGEEQU) 00162 #define ZGBEQU_F77 F77_BLAS_MANGLE(zgbequ,ZGBEQU) 00163 #define ZPOTRF_F77 F77_BLAS_MANGLE(zpotrf,ZPOTRF) 00164 #define ZPOTRS_F77 F77_BLAS_MANGLE(zpotrs,ZPOTRS) 00165 #define ZPOTRI_F77 F77_BLAS_MANGLE(zpotri,ZPOTRI) 00166 #define ZPOCON_F77 F77_BLAS_MANGLE(zpocon,ZPOCON) 00167 #define ZPOSV_F77 F77_BLAS_MANGLE(zposv,ZPOSV) 00168 #define ZPOEQU_F77 F77_BLAS_MANGLE(zpoequ,ZPOEQU) 00169 #define ZPORFS_F77 F77_BLAS_MANGLE(zporfs,ZPORFS) 00170 #define ZPOSVX_F77 F77_BLAS_MANGLE(zposvx,ZPOSVX) 00171 #define ZTRTRS_F77 F77_BLAS_MANGLE(ztrtrs,ZTRTRS) 00172 #define ZTRTRI_F77 F77_BLAS_MANGLE(ztrtri,ZTRTRI) 00173 #define ZGELS_F77 F77_BLAS_MANGLE(zgels,ZGELS) 00174 #define ZGELSS_F77 F77_BLAS_MANGLE(zgelss,ZGELSS) 00175 //#define ZGGLSE_F77 F77_BLAS_MANGLE(zgglse,ZGGLSE) 00176 #define ZGEEV_F77 F77_BLAS_MANGLE(zgeev,ZGEEV) 00177 #define ZGESVD_F77 F77_BLAS_MANGLE(zgesvd,ZGESVD) 00178 #define ZGGEV_F77 F77_BLAS_MANGLE(zggev,ZGGEV) 00179 #define ZGEEVX_F77 F77_BLAS_MANGLE(zgeevx,ZGEEVX) 00180 #define ZGGEVX_F77 F77_BLAS_MANGLE(zggevx,ZGGEVX) 00181 #define ZGEHRD_F77 F77_BLAS_MANGLE(zgehrd,ZGEHRD) 00182 #define ZHSEQR_F77 F77_BLAS_MANGLE(zhseqr,ZHSEQR) 00183 #define ZTREVC_F77 F77_BLAS_MANGLE(ztrevc,ZTREVC) 00184 #define ZTREXC_F77 F77_BLAS_MANGLE(ztrexc,ZTREXC) 00185 #define ZGEES_F77 F77_BLAS_MANGLE(zgees,ZGEES) 00186 #define ZSTEQR_F77 F77_BLAS_MANGLE(zsteqr,ZSTEQR) 00187 #define ZHEEV_F77 F77_BLAS_MANGLE(zheev,ZHEEV) 00188 #define ZHEGV_F77 F77_BLAS_MANGLE(zhegv,ZHEGV) 00189 #define ZLARTG_F77 F77_BLAS_MANGLE(zlartg,ZLARTG) 00190 #define ZLARFG_F77 F77_BLAS_MANGLE(zlarfg,ZLARFG) 00191 #define ZGEBAL_F77 F77_BLAS_MANGLE(zgebal,ZGEBAL) 00192 #define ZGEBAK_F77 F77_BLAS_MANGLE(zgebak,ZGEBAK) 00193 #define ZLARND_F77 F77_BLAS_MANGLE(zlarnd,ZLARND) 00194 #define ZLARNV_F77 F77_BLAS_MANGLE(zlarnv,ZLARNV) 00195 #define ZGEQP3_F77 F77_BLAS_MANGLE(zgeqp3,ZGEQP3) 00196 00197 #endif /* HAVE_TEUCHOS_COMPLEX */ 00198 00199 #define SGEQRF_F77 F77_BLAS_MANGLE(sgeqrf,SGEQRF) 00200 #define SGETRF_F77 F77_BLAS_MANGLE(sgetrf,SGETRF) 00201 #define SGETRS_F77 F77_BLAS_MANGLE(sgetrs,SGETRS) 00202 #define SLASCL_F77 F77_BLAS_MANGLE(slascl,SLASCL) 00203 #define SLASWP_F77 F77_BLAS_MANGLE(slaswp,SLASWP) 00204 #define SGBTRF_F77 F77_BLAS_MANGLE(sgbtrf,SGBTRF) 00205 #define SGBTRS_F77 F77_BLAS_MANGLE(sgbtrs,SGBTRS) 00206 #define SGTTRF_F77 F77_BLAS_MANGLE(sgttrf,SGTTRF) 00207 #define SGTTRS_F77 F77_BLAS_MANGLE(sgttrs,SGTTRS) 00208 #define SPTTRF_F77 F77_BLAS_MANGLE(spttrf,SPTTRF) 00209 #define SPTTRS_F77 F77_BLAS_MANGLE(spttrs,SPTTRS) 00210 #define SGETRI_F77 F77_BLAS_MANGLE(sgetri,SGETRI) 00211 #define SGERFS_F77 F77_BLAS_MANGLE(sgerfs,SGERFS) 00212 #define SGBRFS_F77 F77_BLAS_MANGLE(sgbrfs,SGBRFS) 00213 #define SLATRS_F77 F77_BLAS_MANGLE(slatrs,SLATRS) 00214 #define SGECON_F77 F77_BLAS_MANGLE(sgecon,SGECON) 00215 #define SGBCON_F77 F77_BLAS_MANGLE(sgbcon,SGBCON) 00216 #define SLANGB_F77 F77_BLAS_MANGLE(slangb,SLANGB) 00217 #define SGESVX_F77 F77_BLAS_MANGLE(sgesvx,SGESVX) 00218 #define SGESV_F77 F77_BLAS_MANGLE(sgesv,SGESV) 00219 #define SGEEQU_F77 F77_BLAS_MANGLE(sgeequ,SGEEQU) 00220 #define SGBEQU_F77 F77_BLAS_MANGLE(sgbequ,SGBEQU) 00221 #define SSYTRD_F77 F77_BLAS_MANGLE(ssytrd,SSYTRD) 00222 #define SPOTRF_F77 F77_BLAS_MANGLE(spotrf,SPOTRF) 00223 #define SPOTRS_F77 F77_BLAS_MANGLE(spotrs,SPOTRS) 00224 #define SPOTRI_F77 F77_BLAS_MANGLE(spotri,SPOTRI) 00225 #define SPOCON_F77 F77_BLAS_MANGLE(spocon,SPOCON) 00226 #define SPOSV_F77 F77_BLAS_MANGLE(sposv,SPOSV) 00227 #define SPOEQU_F77 F77_BLAS_MANGLE(spoequ,SPOEQU) 00228 #define SPORFS_F77 F77_BLAS_MANGLE(sporfs,SPORFS) 00229 #define SPOSVX_F77 F77_BLAS_MANGLE(sposvx,SPOSVX) 00230 #define STRTRS_F77 F77_BLAS_MANGLE(strtrs,STRTRS) 00231 #define STRTRI_F77 F77_BLAS_MANGLE(strtri,STRTRI) 00232 #define SGELS_F77 F77_BLAS_MANGLE(sgels,SGELS) 00233 #define SGELSS_F77 F77_BLAS_MANGLE(sgelss,SGELSS) 00234 #define SGGLSE_F77 F77_BLAS_MANGLE(sgglse,SGGLSE) 00235 #define SGEEV_F77 F77_BLAS_MANGLE(sgeev,SGEEV) 00236 #define SGESVD_F77 F77_BLAS_MANGLE(sgesvd,SGESVD) 00237 #define SGGEV_F77 F77_BLAS_MANGLE(sggev,SGGEV) 00238 #define SGGES_F77 F77_BLAS_MANGLE(sgges,SGGES) 00239 #define STRSEN_F77 F77_BLAS_MANGLE(strsen,STRSEN) 00240 #define STGSEN_F77 F77_BLAS_MANGLE(stgsen,STGSEN) 00241 #define SGEEVX_F77 F77_BLAS_MANGLE(sgeevx,SGEEVX) 00242 #define SGGEVX_F77 F77_BLAS_MANGLE(sggevx,SGGEVX) 00243 #define SGEHRD_F77 F77_BLAS_MANGLE(sgehrd,SGEHRD) 00244 #define SHSEQR_F77 F77_BLAS_MANGLE(shseqr,SHSEQR) 00245 #define SORGHR_F77 F77_BLAS_MANGLE(sorghr,SORGHR) 00246 #define SORGQR_F77 F77_BLAS_MANGLE(sorgqr,SORGQR) 00247 #define SORMHR_F77 F77_BLAS_MANGLE(sormhr,SORMHR) 00248 #define SORMQR_F77 F77_BLAS_MANGLE(sormqr,SORMQR) 00249 #define STREVC_F77 F77_BLAS_MANGLE(strevc,STREVC) 00250 #define STREXC_F77 F77_BLAS_MANGLE(strexc,STREXC) 00251 #define STGEVC_F77 F77_BLAS_MANGLE(stgevc,STGEVC) 00252 #define SLAMCH_F77 F77_BLAS_MANGLE(slamch,SLAMCH) 00253 #define SGEES_F77 F77_BLAS_MANGLE(sgees,SGEES) 00254 #define SSPEV_F77 F77_BLAS_MANGLE(sspev,SSPEV) 00255 #define SSYEV_F77 F77_BLAS_MANGLE(ssyev,SSYEV) 00256 #define SSYGV_F77 F77_BLAS_MANGLE(ssygv,SSYGV) 00257 #define SSTEQR_F77 F77_BLAS_MANGLE(ssteqr,SSTEQR) 00258 #ifdef HAVE_TEUCHOS_BLASFLOAT 00259 #define SLAPY2_F77 F77_BLAS_MANGLE(slapy2,SLAPY2) 00260 #endif 00261 #define SLARTG_F77 F77_BLAS_MANGLE(slartg,SLARTG) 00262 #define SLARFG_F77 F77_BLAS_MANGLE(slarfg,SLARFG) 00263 #define SGEBAL_F77 F77_BLAS_MANGLE(sgebal,SGEBAL) 00264 #define SGEBAK_F77 F77_BLAS_MANGLE(sgebak,SGEBAK) 00265 #define SLARND_F77 F77_BLAS_MANGLE(slarnd,SLARND) 00266 #define SLARNV_F77 F77_BLAS_MANGLE(slarnv,SLARNV) 00267 #define SGEQP3_F77 F77_BLAS_MANGLE(sgeqp3,SGEQP3) 00268 00269 #ifdef HAVE_TEUCHOS_COMPLEX 00270 00271 #define CGEQRF_F77 F77_BLAS_MANGLE(cgeqrf,CGEQRF) 00272 #define CUNGQR_F77 F77_BLAS_MANGLE(cungqr,CUNGQR) 00273 #define CUNMQR_F77 F77_BLAS_MANGLE(cunmqr,CUNMQR) 00274 #define CGETRF_F77 F77_BLAS_MANGLE(cgetrf,CGETRF) 00275 #define CGETRS_F77 F77_BLAS_MANGLE(cgetrs,CGETRS) 00276 #define CLASCL_F77 F77_BLAS_MANGLE(clascl,CLASCL) 00277 #define CLASWP_F77 F77_BLAS_MANGLE(claswp,CLASWP) 00278 #define CGBTRF_F77 F77_BLAS_MANGLE(cgbtrf,CGBTRF) 00279 #define CGBTRS_F77 F77_BLAS_MANGLE(cgbtrs,CGBTRS) 00280 #define CGTTRF_F77 F77_BLAS_MANGLE(cgttrf,CGTTRF) 00281 #define CGTTRS_F77 F77_BLAS_MANGLE(cgttrs,CGTTRS) 00282 #define CPTTRF_F77 F77_BLAS_MANGLE(cpttrf,CPTTRF) 00283 #define CPTTRS_F77 F77_BLAS_MANGLE(cpttrs,CPTTRS) 00284 #define CGETRI_F77 F77_BLAS_MANGLE(cgetri,CGETRI) 00285 #define CGERFS_F77 F77_BLAS_MANGLE(cgerfs,CGERFS) 00286 #define CGBRFS_F77 F77_BLAS_MANGLE(cgbrfs,CGBRFS) 00287 #define CLATRS_F77 F77_BLAS_MANGLE(clatrs,CLATRS) 00288 #define CGECON_F77 F77_BLAS_MANGLE(cgecon,CGECON) 00289 #define CGBCON_F77 F77_BLAS_MANGLE(cgbcon,CGBCON) 00290 #define CLANGB_F77 F77_BLAS_MANGLE(clangb,CLANGB) 00291 #define CGESVX_F77 F77_BLAS_MANGLE(cgesvx,CGESVX) 00292 #define CGESV_F77 F77_BLAS_MANGLE(cgesv,CGESV) 00293 #define CGEEQU_F77 F77_BLAS_MANGLE(cgeequ,CGEEQU) 00294 #define CGBEQU_F77 F77_BLAS_MANGLE(cgbequ,CGBEQU) 00295 #define CPOTRF_F77 F77_BLAS_MANGLE(cpotrf,CPOTRF) 00296 #define CPOTRS_F77 F77_BLAS_MANGLE(cpotrs,CPOTRS) 00297 #define CPOTRI_F77 F77_BLAS_MANGLE(cpotri,CPOTRI) 00298 #define CPOCON_F77 F77_BLAS_MANGLE(cpocon,CPOCON) 00299 #define CPOSV_F77 F77_BLAS_MANGLE(cposv,CPOSV) 00300 #define CPOEQU_F77 F77_BLAS_MANGLE(cpoequ,CPOEQU) 00301 #define CPORFS_F77 F77_BLAS_MANGLE(cporfs,CPORFS) 00302 #define CPOSVX_F77 F77_BLAS_MANGLE(cposvx,CPOSVX) 00303 #define CTRTRS_F77 F77_BLAS_MANGLE(ctrtrs,CTRTRS) 00304 #define CTRTRI_F77 F77_BLAS_MANGLE(ctrtri,CTRTRI) 00305 #define CGELS_F77 F77_BLAS_MANGLE(cgels,CGELS) 00306 #define CGELSS_F77 F77_BLAS_MANGLE(cgelss,CGELSS) 00307 //#define CGGLSE_F77 F77_BLAS_MANGLE(cgglse,CGGLSE) 00308 #define CGEEV_F77 F77_BLAS_MANGLE(cgeev,CGEEV) 00309 #define CGESVD_F77 F77_BLAS_MANGLE(cgesvd,CGESVD) 00310 #define CGGEV_F77 F77_BLAS_MANGLE(cggev,CGGEV) 00311 #define CGEEVX_F77 F77_BLAS_MANGLE(cgeevx,CGEEVX) 00312 #define CGGEVX_F77 F77_BLAS_MANGLE(cggevx,CGGEVX) 00313 #define CGEHRD_F77 F77_BLAS_MANGLE(cgehrd,CGEHRD) 00314 #define CHSEQR_F77 F77_BLAS_MANGLE(chseqr,CHSEQR) 00315 #define CTREVC_F77 F77_BLAS_MANGLE(ctrevc,CTREVC) 00316 #define CTREXC_F77 F77_BLAS_MANGLE(ctrexc,CTREXC) 00317 #define CGEES_F77 F77_BLAS_MANGLE(cgees,CGEES) 00318 #define CSTEQR_F77 F77_BLAS_MANGLE(csteqr,CSTEQR) 00319 #define CHEEV_F77 F77_BLAS_MANGLE(cheev,CHEEV) 00320 #define CHEGV_F77 F77_BLAS_MANGLE(chegv,CHEGV) 00321 #define CLARTG_F77 F77_BLAS_MANGLE(clartg,CLARTG) 00322 #define CLARFG_F77 F77_BLAS_MANGLE(clarfg,CLARFG) 00323 #define CGEBAL_F77 F77_BLAS_MANGLE(cgebal,CGEBAL) 00324 #define CGEBAK_F77 F77_BLAS_MANGLE(cgebak,CGEBAK) 00325 #define CLARND_F77 F77_BLAS_MANGLE(clarnd,CLARND) 00326 #define CLARNV_F77 F77_BLAS_MANGLE(clarnv,CLARNV) 00327 #define CGEQP3_F77 F77_BLAS_MANGLE(cgeqp3,CGEQP3) 00328 00329 #endif /* HAVE_TEUCHOS_COMPLEX */ 00330 00331 00332 /* C) Define the function prototypes for all platforms! */ 00333 00334 #ifdef __cplusplus 00335 extern "C" { 00336 #endif 00337 00338 // Double precision LAPACK linear solvers 00339 00340 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); 00341 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); 00342 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); 00343 void PREFIX DGEQRF_F77(const int* m, const int* n, double* a, const int* lda, double* tau, double* work, const int* lwork, int* info); 00344 void PREFIX DGETRF_F77(const int* m, const int* n, double* a, const int* lda, int* ipiv, int* info); 00345 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); 00346 void PREFIX DLASCL_F77(Teuchos_fcd, const int* kl, const int* ku, const double* cfrom, const double* cto, const int* m, const int* n, const double* a, const int* lda, int* info); 00347 void PREFIX DLASWP_F77(const int* N, double A[], const int* LDA, const int* K1, const int* K2, const int IPIV[], const int* INCX); 00348 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); 00349 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); 00350 void PREFIX DGTTRF_F77(const int* n, double* dl, double* d, double* du, double* du2, int* ipiv, int* info); 00351 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); 00352 void PREFIX DPTTRF_F77(const int* n, double* d, double* e, int* info); 00353 void PREFIX DPTTRS_F77(const int* n, const int* nrhs, const double* d, const double* e, double* x , const int* ldx, int* info); 00354 void PREFIX DGETRI_F77(const int* n, double* a, const int* lda, const int* ipiv, double* work , const int* lwork, int* info); 00355 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); 00356 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); 00357 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); 00358 double PREFIX DLANGB_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const double* a, const int* lda, double* work); 00359 void PREFIX DGESV_F77(const int* n, const int* nrhs, double* a, const int* lda, int* ipiv, double* x , const int* ldx, int* info); 00360 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); 00361 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); 00362 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); 00363 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); 00364 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, 00365 double* c, double* b, const int* ldb, double* x, const int* ldx, double* rcond, double* ferr, double* berr, double* work, int* iwork, int* info); 00366 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); 00367 void PREFIX DPOTRF_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* info); 00368 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); 00369 void PREFIX DPOTRI_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* info); 00370 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); 00371 void PREFIX DPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, double* a, const int* lda, double*x , const int* ldx, int* info); 00372 void PREFIX DPOEQU_F77(const int* n, const double* a, const int* lda, double* s, double* scond, double* amax, int* info); 00373 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); 00374 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); 00375 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); 00376 void PREFIX DTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const double* a, const int* lda, int* info); 00377 void PREFIX DGEQP3_F77( const int *M, const int *N, double *A, const int *LDA, int *JPVT, double *TAU, double *WORK, const int *LWORK, int *INFO ); 00378 00379 // Single precision LAPACK linear solvers 00380 00381 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); 00382 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); 00383 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); 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 SGETRF_F77(const int* m, const int* n, float* a, const int* lda, int* ipiv, int* info); 00386 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); 00387 void PREFIX SLASCL_F77(Teuchos_fcd, const int* kl, const int* ku, const float* cfrom, const float* cto, const int* m, const int* n, const float* a, const int* lda, int* info); 00388 void PREFIX SLASWP_F77(const int* N, float A[], const int* LDA, const int* K1, const int* K2, const int IPIV[], const int* INCX); 00389 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); 00390 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); 00391 void PREFIX SGTTRF_F77(const int* n, float* dl, float* d, float* du, float* du2, int* ipiv, int* info); 00392 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); 00393 void PREFIX SPTTRF_F77(const int* n, float* d, float* e, int* info); 00394 void PREFIX SPTTRS_F77(const int* n, const int* nrhs, const float* d, const float* e, float* x , const int* ldx, int* info); 00395 void PREFIX SGETRI_F77(const int* n, float* a, const int* lda, const int* ipiv, float* work , const int* lwork, int* info); 00396 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); 00397 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); 00398 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); 00399 float PREFIX SLANGB_F77(Teuchos_fcd norm, const int* n, const int* kl, const int* ku, const float* a, const int* lda, float* work); 00400 void PREFIX SGESV_F77(const int* n, const int* nrhs, float* a, const int* lda, int* ipiv, float* x , const int* ldx, int* info); 00401 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); 00402 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); 00403 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); 00404 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); 00405 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, 00406 float* c, float* b, const int* ldb, float* x, const int* ldx, float* rcond, float* ferr, float* berr, float* work, int* iwork, int* info); 00407 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); 00408 void PREFIX SPOTRF_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* info); 00409 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); 00410 void PREFIX SPOTRI_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* info); 00411 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); 00412 void PREFIX SPOSV_F77(Teuchos_fcd, const int* n, const int* nrhs, float* a, const int* lda, float*x , const int* ldx, int* info); 00413 void PREFIX SPOEQU_F77(const int* n, const float* a, const int* lda, float* s, float* scond, float* amax, int* info); 00414 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); 00415 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); 00416 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); 00417 void PREFIX STRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const float* a, const int* lda, int* info); 00418 void PREFIX SGEQP3_F77( const int *M, const int *N, float *A, const int *LDA, int *JPVT, float *TAU, float *WORK, const int *LWORK, int *INFO ); 00419 00420 // Double precision LAPACK eigen solvers 00421 void PREFIX DSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, double* ap, double* w, double* z, const int* ldz, double* work, int* info); 00422 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); 00423 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); 00424 void PREFIX DSTEQR_F77(Teuchos_fcd, const int* n, double* D, double* E, double* Z, const int* ldz, double* work, int* info); 00425 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); 00426 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); 00427 void PREFIX DGGES_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(double*, double*, double*), const int* n, double* A, const int* lda, double* B, const int* ldb, int* sdim, double* alphar, double* alphai, double* beta, double* vl, const int* ldvl, double* vr, const int* ldvr, double* work, const int *lwork, int *bwork, int *info); 00428 void PREFIX DTRSEN_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, double *t, const int *ldt, double *q, const int *ldq, double *wr, double *wi, int *m, double *s, double *sep, double *work, const int *lwork, int *iwork, const int *liwork, int *info); 00429 void PREFIX DTGSEN_F77(const int *ijob, const int *wantq, const int *wantz, const int *select, const int *n, double *a, const int *lda, double *b, const int *ldb, double *alphar, double *alphai, double *beta, double *q, const int *ldq, double *z, const int *ldz, int *m, double *pl, double *pr, double *dif, double *work, const int *lwork, int *iwork, const int *liwork, int *info); 00430 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); 00431 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); 00432 void PREFIX DGEEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, double* a, const int* lda, double* alphar, double* alphai, double* vl, const int* ldvl, double* vr, const int* ldvr, int* ilo, int* ihi, double* scale, double* abnrm, double* rconde, double* rcondv, double* work, const int* lwork, int* iwork, int* info); 00433 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); 00434 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); 00435 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); 00436 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); 00437 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); 00438 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); 00439 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); 00440 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); 00441 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); 00442 void PREFIX DTGEVC_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, double *s, const int *lds, double *p, const int *ldp, double *vl, const int *ldvl, double *vr, const int *ldvr, const int *mm, int *m, double *work, int *info); 00443 00444 00445 // Single precision LAPACK eigen solvers 00446 00447 void PREFIX SSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, float* ap, float* w, float* z, const int* ldz, float* work, int* info); 00448 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); 00449 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); 00450 void PREFIX SSTEQR_F77(Teuchos_fcd, const int* n, float* D, float* E, float* Z, const int* ldz, float* work, int* info); 00451 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); 00452 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); 00453 void PREFIX SGGES_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, int (*ptr2func)(float*, float*, float*), const int* n, float* A, const int* lda, float* B, const int* ldb, int* sdim, float* alphar, float* alphai, float* beta, float* vl, const int* ldvl, float* vr, const int* ldvr, float* work, const int *lwork, int *bwork, int *info); 00454 void PREFIX STRSEN_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, float *t, const int *ldt, float *q, const int *ldq, float *wr, float *wi, int *m, float *s, float *sep, float *work, const int *lwork, int *iwork, const int *liwork, int *info); 00455 void PREFIX STGSEN_F77(const int *ijob, const int *wantq, const int *wantz, const int *select, const int *n, float *a, const int *lda, float *b, const int *ldb, float *alphar, float *alphai, float *beta, float *q, const int *ldq, float *z, const int *ldz, int *m, float *pl, float *pr, float *dif, float *work, const int *lwork, int *iwork, const int *liwork, int *info); 00456 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); 00457 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); 00458 void PREFIX SGEEVX_F77(Teuchos_fcd, Teuchos_fcd, 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, int* ilo, int* ihi, float* scale, float* abnrm, float* rconde, float* rcondv, float* work, const int* lwork, int* iwork, int* info); 00459 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); 00460 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); 00461 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); 00462 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); 00463 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); 00464 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); 00465 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); 00466 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); 00467 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); 00468 void PREFIX STGEVC_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, float *s, const int *lds, float *p, const int *ldp, float *vl, const int *ldvl, float *vr, const int *ldvr, const int *mm, int *m, float *work, int *info); 00469 00470 void PREFIX SLARTG_F77(const float* f, const float* g, float* c, float* s, float* r); 00471 void PREFIX DLARTG_F77(const double* f, const double* g, double* c, double* s, double* r); 00472 00473 void PREFIX SLARFG_F77(const int* n, float* alpha, float* x, const int* incx, float* tau); 00474 void PREFIX DLARFG_F77(const int* n, double* alpha, double* x, const int* incx, double* tau); 00475 00476 void PREFIX SGEBAL_F77(Teuchos_fcd, const int* n, float* a, const int* lda, int* ilo, int* ihi, float* scale, int* info); 00477 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); 00478 void PREFIX DGEBAL_F77(Teuchos_fcd, const int* n, double* a, const int* lda, int* ilo, int* ihi, double* scale, int* info); 00479 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); 00480 00481 float PREFIX SLARND_F77(const int* idist, int* seed); 00482 double PREFIX DLARND_F77(const int* idist, int* seed); 00483 00484 void PREFIX SLARNV_F77(const int* idist, int* seed, const int* n, float* v); 00485 void PREFIX DLARNV_F77(const int* idist, int* seed, const int* n, double* v); 00486 00487 float PREFIX SLAMCH_F77(Teuchos_fcd); 00488 double PREFIX DLAMCH_F77(Teuchos_fcd); 00489 00490 #if defined(INTEL_CXML) 00491 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 ); 00492 #else 00493 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 ); 00494 #endif 00495 00496 #ifdef HAVE_TEUCHOS_BLASFLOAT 00497 #if defined(HAVE_SLAPY2_PROBLEM) && defined(HAVE_SLAPY2_DOUBLE_RETURN) 00498 double PREFIX SLAPY2_F77(const float* x, const float* y); 00499 #else 00500 float PREFIX SLAPY2_F77(const float* x, const float* y); 00501 #endif 00502 #endif 00503 00504 double PREFIX DLAPY2_F77(const double* x, const double* y); 00505 00506 #ifdef HAVE_TEUCHOS_COMPLEX 00507 00508 // Double precision complex LAPACK linear solvers 00509 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); 00510 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); 00511 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); 00512 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); 00513 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); 00514 void PREFIX ZGETRF_F77(const int* m, const int* n, std::complex<double>* a, const int* lda, int* ipiv, int* info); 00515 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); 00516 void PREFIX ZLASCL_F77(Teuchos_fcd, const int* kl, const int* ku, const double* cfrom, const double* cto, const int* m, const int* n, const std::complex<double>* a, const int* lda, int* info); 00517 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); 00518 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); 00519 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); 00520 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); 00521 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); 00522 void PREFIX ZPTTRF_F77(const int* n, std::complex<double>* d, std::complex<double>* e, int* info); 00523 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); 00524 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); 00525 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); 00526 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); 00527 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); 00528 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); 00529 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); 00530 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); 00531 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); 00532 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); 00533 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); 00534 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); 00535 void PREFIX ZPOTRF_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* info); 00536 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); 00537 void PREFIX ZPOTRI_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* info); 00538 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); 00539 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); 00540 void PREFIX ZPOEQU_F77(const int* n, const std::complex<double>* a, const int* lda, double* s, double* scond, double* amax, int* info); 00541 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); 00542 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); 00543 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); 00544 void PREFIX ZTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const std::complex<double>* a, const int* lda, int* info); 00545 void PREFIX ZGEQP3_F77( const int *M, const int *N, std::complex<double>* A, const int *LDA, int *JPVT, std::complex<double>* TAU, std::complex<double>* WORK, const int *LWORK, double *RWORK, int *INFO ); 00546 00547 // Single precision complex LAPACK linear solvers 00548 00549 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); 00550 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); 00551 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); 00552 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); 00553 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); 00554 void PREFIX CGETRF_F77(const int* m, const int* n, std::complex<float>* a, const int* lda, int* ipiv, int* info); 00555 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); 00556 void PREFIX CLASCL_F77(Teuchos_fcd, const int* kl, const int* ku, const float* cfrom, const float* cto, const int* m, const int* n, const std::complex<float>* a, const int* lda, int* info); 00557 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); 00558 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); 00559 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); 00560 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); 00561 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); 00562 void PREFIX CPTTRF_F77(const int* n, std::complex<float>* d, std::complex<float>* e, int* info); 00563 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); 00564 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); 00565 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); 00566 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); 00567 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); 00568 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); 00569 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); 00570 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); 00571 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); 00572 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); 00573 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); 00574 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); 00575 void PREFIX CPOTRF_F77(Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, int* info); 00576 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); 00577 void PREFIX CPOTRI_F77(Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, int* info); 00578 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); 00579 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); 00580 void PREFIX CPOEQU_F77(const int* n, const std::complex<float>* a, const int* lda, float* s, float* scond, float* amax, int* info); 00581 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); 00582 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); 00583 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); 00584 void PREFIX CTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int* n, const std::complex<float>* a, const int* lda, int* info); 00585 void PREFIX CGEQP3_F77( const int *M, const int *N, std::complex<float>* A, const int *LDA, int *JPVT, std::complex<float>* TAU, std::complex<float>* WORK, const int *LWORK, float *RWORK, int *INFO ); 00586 00587 // Double precision complex LAPACK eigensolvers 00588 00589 void PREFIX ZSTEQR_F77(Teuchos_fcd, const int* n, double* D, double* E, std::complex<double>* Z, const int* ldz, double* work, int* info); 00590 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); 00591 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); 00592 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); 00593 void PREFIX ZGGEV_F77(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, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, double *rwork, int *info); 00594 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); 00595 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, double* rwork, int* iwork, int* bwork, int* info); 00596 void PREFIX ZGEEVX_F77(Teuchos_fcd, Teuchos_fcd, 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, int* ilo, int* ihi, double* scale, double* abnrm, double* rconde, double* rcondv, std::complex<double>* work, const int* lwork, double* rwork, int* info); 00597 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); 00598 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); 00599 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); 00600 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); 00601 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); 00602 00603 // Single precision complex LAPACK eigensolvers 00604 00605 void PREFIX CSTEQR_F77(Teuchos_fcd, const int* n, float* D, float* E, std::complex<float>* Z, const int* ldz, float* work, int* info); 00606 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); 00607 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); 00608 void PREFIX CGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* w, 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); 00609 void PREFIX CGGEV_F77(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, std::complex<float> *work, const int *lwork, float *rwork, int *info); 00610 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); 00611 void PREFIX CGEEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, std::complex<float>* w, std::complex<float>* vl, const int* ldvl, std::complex<float>* vr, const int* ldvr, int* ilo, int* ihi, float* scale, float* abnrm, float* rconde, float* rcondv, std::complex<float>* work, const int* lwork, float* rwork, int* info); 00612 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, float* rwork, int* iwork, int* bwork, int* info); 00613 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); 00614 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); 00615 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); 00616 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); 00617 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); 00618 00619 void PREFIX CLARTG_F77(const std::complex<float>* f, const std::complex<float>* g, float* c, std::complex<float>* s, std::complex<float>* r); 00620 void PREFIX ZLARTG_F77(const std::complex<double>* f, const std::complex<double>* g, double* c, std::complex<double>* s, std::complex<double>* r); 00621 00622 void PREFIX CLARFG_F77(const int* n, std::complex<float>* alpha, std::complex<float>* x, const int* incx, std::complex<float>* tau); 00623 void PREFIX ZLARFG_F77(const int* n, std::complex<double>* alpha, std::complex<double>* x, const int* incx, std::complex<double>* tau); 00624 00625 void PREFIX CGEBAL_F77(Teuchos_fcd, const int* n, std::complex<float>* a, const int* lda, int* ilo, int* ihi, float* scale, int* info); 00626 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); 00627 void PREFIX ZGEBAL_F77(Teuchos_fcd, const int* n, std::complex<double>* a, const int* lda, int* ilo, int* ihi, double* scale, int* info); 00628 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); 00629 00630 std::complex<float> PREFIX CLARND_F77(const int* idist, int* seed); 00631 std::complex<double> PREFIX ZLARND_F77(const int* idist, int* seed); 00632 00633 void PREFIX CLARNV_F77(const int* idist, int* seed, const int* n, std::complex<float>* v); 00634 void PREFIX ZLARNV_F77(const int* idist, int* seed, const int* n, std::complex<double>* v); 00635 00636 #endif /* HAVE_TEUCHOS_COMPLEX */ 00637 00638 #ifdef __cplusplus 00639 } 00640 #endif 00641 00642 /* Don't leave a global macros called PREFIX or Teuchos_fcd laying around */ 00643 00644 #ifdef PREFIX 00645 # undef PREFIX 00646 #endif 00647 00648 #ifdef Teuchos_fcd 00649 # undef Teuchos_fcd 00650 #endif 00651 00652 #endif // end of TEUCHOS_LAPACK_WRAPPERS_HPP_
1.7.6.1