laslv.h

Go to the documentation of this file.
00001 // -*-C++-*- 
00002 
00003 // Copyright (C) 2004 
00004 // Christian Stimming <stimming@tuhh.de>
00005 
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public License as
00008 // published by the Free Software Foundation; either version 2, or (at
00009 // your option) any later version.
00010 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU Lesser General Public License for more details.
00015 
00016 // You should have received a copy of the GNU Lesser General Public License along
00017 // with this library; see the file COPYING.  If not, write to the Free
00018 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
00019 // USA.
00020 
00021 //      LAPACK++ (V. 1.1)
00022 //      (C) 1992-1996 All Rights Reserved.
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 // Eigenvalue problems 
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

Generated on Sat Jul 14 11:40:36 2007 for Lapack++ by  doxygen 1.5.0