blaspp.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 
00031 #ifndef _BLAS_PP_H_
00032 #define _BLAS_PP_H_
00033 
00034 // requires
00035 //
00036 
00037 #include "lafnames.h"
00038 #include LA_EXCEPTION_H
00039 #include "blas1pp.h"
00040 #include "blas2pp.h"
00041 #include "blas3pp.h"
00042 #include <cmath>
00043 #include LA_VECTOR_DOUBLE_H
00044 
00045 
00046 // Only enable this when LA_NO_DEPRECATED is not defined
00047 #ifndef LA_NO_DEPRECATED
00048 
00049 //-------------------------------------
00050 // Vector/Vector operators
00051 //-------------------------------------
00052 
00058 DLLIMPORT LaVectorDouble operator*(const LaVectorDouble &x, double a);
00059     
00063 inline LaVectorDouble operator*(double a, const LaVectorDouble &x)
00064 {
00065     return operator*(x,a);
00066 }
00067 
00071 DLLIMPORT double operator*(const LaVectorDouble &dx, 
00072                            const LaVectorDouble &dy);
00073                       
00077 DLLIMPORT LaVectorDouble operator+(const LaVectorDouble &dx, 
00078                                    const LaVectorDouble &dy);
00079 
00083 DLLIMPORT LaVectorDouble operator-(const LaVectorDouble &dx, 
00084                                    const LaVectorDouble &dy);
00086 
00087 //-------------------------------------
00089 //-------------------------------------
00091 
00095 DLLIMPORT LaVectorDouble operator*(const LaGenMatDouble &A, 
00096                                    const LaVectorDouble &dx);
00097 
00098 #ifdef _LA_BAND_MAT_DOUBLE_H_
00099 DLLIMPORT LaVectorDouble operator*(const LaBandMatDouble &A, 
00100                                    const LaVectorDouble &dx);
00101 #endif
00102 
00103 #ifdef _LA_SYMM_MAT_DOUBLE_H_
00104 DLLIMPORT LaVectorDouble operator*(const LaSymmMatDouble &A, 
00105                                    const LaVectorDouble &dx);
00106 #endif
00107 
00108 #ifdef _LA_SYMM_BAND_MAT_DOUBLE_H_ 
00109 DLLIMPORT LaVectorDouble operator*(const LaSymmBandMatDouble &A, 
00110                                    const LaVectorDouble &dx);
00111 #endif
00112 
00113 
00114 #ifdef _LA_SPD_MAT_DOUBLE_H_
00115 DLLIMPORT LaVectorDouble operator*(const LaSpdMatDouble &AP, 
00116                                    const LaVectorDouble &dx);
00117 #endif
00118 
00119 #ifdef _LA_LOWER_TRIANG_MAT_DOUBLE_H_
00120 DLLIMPORT LaVectorDouble operator*(const LaLowerTriangMatDouble &A, 
00121                                    const LaVectorDouble &dx);
00122 #endif
00123 
00124 #ifdef _LA_UPPER_TRIANG_MAT_DOUBLE_H_
00125 DLLIMPORT LaVectorDouble operator*(const LaUpperTriangMatDouble &A, 
00126                                    const LaVectorDouble &dx);
00127 #endif
00128 
00129 #ifdef _LA_UNIT_LOWER_TRIANG_MAT_DOUBLE_H_
00130 DLLIMPORT LaVectorDouble operator*(const LaUnitLowerTriangMatDouble &A,
00131                                    const LaVectorDouble &dx);
00132 #endif
00133 
00134 #ifdef _LA_UNIT_UPPER_TRIANG_MAT_DOUBLE_H_
00135 DLLIMPORT LaVectorDouble operator*(const LaUnitUpperTriangMatDouble &A,
00136                                    const LaVectorDouble &dx);
00137 #endif
00138 
00139 
00140 //-------------------------------------
00142 //-------------------------------------
00144 
00147 DLLIMPORT LaGenMatDouble operator*(const LaGenMatDouble &A, 
00148                                    const LaGenMatDouble &B);
00149 
00150 #ifdef _LA_UNIT_LOWER_TRIANG_MAT_DOUBLE_H_
00151 DLLIMPORT LaGenMatDouble operator*(const LaUnitLowerTriangMatDouble &A,
00152                                    const LaGenMatDouble &B);
00153 #endif
00154 
00155 #ifdef _LA_UNIT_UPPER_TRIANG_MAT_DOUBLE_H_
00156 DLLIMPORT LaGenMatDouble operator*(const LaUnitUpperTriangMatDouble &A,
00157                                    const LaGenMatDouble &B);
00158 #endif
00159 
00160 #ifdef _LA_LOWER_TRIANG_MAT_DOUBLE_H_
00161 DLLIMPORT LaGenMatDouble operator*(const LaLowerTriangMatDouble &A,
00162                                    const LaGenMatDouble &B);
00163 #endif
00164 
00165 #ifdef _LA_UPPER_TRIANG_MAT_DOUBLE_H_
00166 DLLIMPORT LaGenMatDouble operator*(const LaUpperTriangMatDouble &A,
00167                                    const LaGenMatDouble &B);
00168 #endif
00169 
00170 #ifdef _LA_SYMM_MAT_DOUBLE_H_
00171 DLLIMPORT LaGenMatDouble operator*(const LaSymmMatDouble &A, 
00172                                    const LaGenMatDouble &B);
00173 #endif
00174 
00175 #ifdef _LA_SYMM_TRIDIAG_MAT_DOUBLE_H_
00176 DLLIMPORT LaVectorDouble operator*(const LaSymmTridiagMatDouble& A, 
00177                                    const LaVectorDouble& X);
00178 #endif
00179 
00180 #ifdef  _LA_TRIDIAG_MAT_DOUBLE_H_
00181 DLLIMPORT LaVectorDouble operator*(const LaTridiagMatDouble& A, 
00182                                    const LaVectorDouble& X);
00183 #endif
00184 
00188 DLLIMPORT LaGenMatDouble operator-(const LaGenMatDouble &A, 
00189                                    const LaGenMatDouble &B);
00190 
00194 DLLIMPORT LaGenMatDouble operator+(const LaGenMatDouble &A, 
00195                                    const LaGenMatDouble &B);
00196 
00197 # ifdef LA_COMPLEX_SUPPORT
00198 
00201 DLLIMPORT LaGenMatComplex operator+(const LaGenMatComplex &A, 
00202                                     const LaGenMatComplex &B);
00203 
00207 DLLIMPORT LaGenMatComplex operator-(const LaGenMatComplex &A, 
00208                                     const LaGenMatComplex &B);
00210 # endif // LA_COMPLEX_SUPPORT
00211 
00212 #endif // LA_NO_DEPRECATED
00213 
00214 #endif  // _BLAS_PP_H_

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