00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef _LASLV_H
00029 #define _LASLV_H
00030
00031 #include "lafnames.h"
00032 #include LA_GEN_MAT_DOUBLE_H
00033 #include LA_VECTOR_DOUBLE_H
00034 #ifdef LA_COMPLEX_SUPPORT
00035 # include LA_GEN_MAT_COMPLEX_H
00036 # include LA_VECTOR_COMPLEX_H
00037 #endif
00038 #include LA_VECTOR_LONG_INT_H
00039
00040
00052 DLLIMPORT
00053 void LaLinearSolve( const LaGenMatDouble& A, LaGenMatDouble& X,
00054 const LaGenMatDouble& B );
00055
00070 DLLIMPORT
00071 void LaLinearSolveIP( LaGenMatDouble& A, LaGenMatDouble& X,
00072 const LaGenMatDouble& B );
00073
00074
00078 DLLIMPORT
00079 void LaLULinearSolve( const LaGenMatDouble& A, LaGenMatDouble& X,
00080 const LaGenMatDouble& B );
00081
00090 DLLIMPORT
00091 void LaLULinearSolveIP( LaGenMatDouble& A, LaGenMatDouble& X,
00092 const LaGenMatDouble& B );
00093
00100 DLLIMPORT
00101 void LaQRLinearSolve( const LaGenMatDouble& A, LaGenMatDouble& X,
00102 const LaGenMatDouble& B );
00103
00115 DLLIMPORT
00116 void LaQRLinearSolveIP( LaGenMatDouble& A, LaGenMatDouble& X,
00117 const LaGenMatDouble& B );
00118
00134 DLLIMPORT
00135 void LUFactorizeIP(LaGenMatDouble &GM, LaVectorLongInt &PIV);
00137
00138
00139
00140 #ifdef LA_COMPLEX_SUPPORT
00141
00153 DLLIMPORT
00154 void LaLinearSolve( const LaGenMatComplex& A, LaGenMatComplex& X,
00155 const LaGenMatComplex& B );
00156
00171 DLLIMPORT
00172 void LaLinearSolveIP( LaGenMatComplex& A, LaGenMatComplex& X,
00173 const LaGenMatComplex& B );
00174
00175
00180 DLLIMPORT
00181 void LaLULinearSolve( const LaGenMatComplex& A, LaGenMatComplex& X,
00182 const LaGenMatComplex& B );
00183
00192 DLLIMPORT
00193 void LaLULinearSolveIP( LaGenMatComplex& A, LaGenMatComplex& X,
00194 const LaGenMatComplex& B );
00195
00203 DLLIMPORT
00204 void LaQRLinearSolve( const LaGenMatComplex& A, LaGenMatComplex& X,
00205 const LaGenMatComplex& B );
00206
00218 DLLIMPORT
00219 void LaQRLinearSolveIP( LaGenMatComplex& A, LaGenMatComplex& X,
00220 const LaGenMatComplex& B );
00221
00236 DLLIMPORT
00237 void LUFactorizeIP(LaGenMatComplex &GM, LaVectorLongInt &PIV);
00239
00251 DLLIMPORT
00252 void LaLUInverseIP(LaGenMatComplex &A, LaVectorLongInt &PIV);
00253
00268 DLLIMPORT
00269 void LaLUInverseIP(LaGenMatComplex &A, LaVectorLongInt &PIV, LaVectorComplex &work);
00270
00271 #endif // LA_COMPLEX_SUPPORT
00272
00273
00274 #ifdef _LA_SPD_MAT_DOUBLE_H_
00275
00276 DLLIMPORT
00277 void LaLinearSolve( const LaSpdMatDouble& A, LaGenMatDouble& X,
00278 LaGenMatDouble& B );
00279 DLLIMPORT
00280 void LaLinearSolveIP( LaSpdMatDouble& A, LaGenMatDouble& X, LaGenMatDouble& B );
00281
00282 DLLIMPORT
00283 void LaCholLinearSolve( const LaSpdMatDouble& A, LaGenMatDouble& X,
00284 LaGenMatDouble& B );
00285 DLLIMPORT
00286 void LaCholLinearSolveIP( LaSpdMatDouble& A, LaGenMatDouble& X,
00287 LaGenMatDouble& B );
00288 #endif // _LA_SPD_MAT_DOUBLE_H_
00289
00290 #ifdef _LA_SYMM_MAT_DOUBLE_H_
00291
00293 DLLIMPORT
00294 void LaLinearSolve( const LaSymmMatDouble& A, LaGenMatDouble& X,
00295 const LaGenMatDouble& B );
00297 DLLIMPORT
00298 void LaLinearSolveIP( LaSymmMatDouble& A, LaGenMatDouble& X,
00299 const LaGenMatDouble& B );
00300
00302 DLLIMPORT
00303 void LaCholLinearSolve( const LaSymmMatDouble& A, LaGenMatDouble& X,
00304 const LaGenMatDouble& B );
00306 DLLIMPORT
00307 void LaCholLinearSolveIP( LaSymmMatDouble& A, LaGenMatDouble& X,
00308 const LaGenMatDouble& B );
00309
00310
00311
00312 DLLIMPORT
00313 void LaEigSolve(const LaSymmMatDouble &S, LaVectorDouble &eigvals);
00314 DLLIMPORT
00315 void LaEigSolve(const LaSymmMatDouble &S, LaVectorDouble &eigvals,
00316 LaGenMatDouble &eigvec);
00317 DLLIMPORT
00318 void LaEigSolveIP(LaSymmMatDouble &S, LaVectorDouble &eigvals);
00319 #endif // _LA_SYMM_MAT_DOUBLE_H_
00320
00321 #ifdef LA_COMPLEX_SUPPORT
00322
00346 DLLIMPORT
00347 void LaEigSolve(const LaGenMatDouble &A, LaVectorComplex &eigvals, LaGenMatDouble &VR);
00348 #endif
00349
00377 DLLIMPORT
00378 void LaEigSolve(const LaGenMatDouble &A, LaVectorDouble &eigvals_real,
00379 LaVectorDouble &eigvals_imag, LaGenMatDouble &VR);
00380
00403 DLLIMPORT
00404 void LaEigSolveSymmetricVecIP(LaGenMatDouble &A_symmetric,
00405 LaVectorDouble &eigvals);
00406
00418 DLLIMPORT
00419 void LaEigSolveVecIP(LaGenMatDouble &A_symmetric, LaVectorDouble &eigvals);
00420
00421 #ifdef LA_COMPLEX_SUPPORT
00422
00442 DLLIMPORT
00443 void LaEigSolve(const LaGenMatComplex &A, LaVectorComplex &W,
00444 LaGenMatComplex &VR);
00445 #endif // LA_COMPLEX_SUPPORT
00446
00458 DLLIMPORT
00459 void LaLUInverseIP(LaGenMatDouble &A, LaVectorLongInt &PIV);
00460
00475 DLLIMPORT
00476 void LaLUInverseIP(LaGenMatDouble &A, LaVectorLongInt &PIV, LaVectorDouble &work);
00477
00478 #endif // _LASLV_H