build/release/src/colarray/blas_unix.h

Go to the documentation of this file.
00001 
00002 #ifndef blasH
00003 #define blasH
00004 
00005 #include <complex>
00006 #include "vector.h"
00007 #include "matrix.h"
00008 
00009 namespace blas {
00010 
00011 using namespace colarray;
00012 float dot(const Vector< float >& x, const Vector< float >& y);
00013 double dot(const Vector< double >& x, const Vector< double >& y);
00014 double nrm2(const Vector< float >& x);
00015 double nrm2(const Vector< double >& x);
00016 double nrm2(const Vector< std::complex<float> >& x);
00017 double nrm2(const Vector< std::complex<double> >& x);
00018 void axpy(const float alpha, const Vector< float >& x, Vector< float >& y);
00019 void axpy(const double alpha, const Vector< double >& x, Vector< double >& y);
00020 void axpy(const std::complex<float> alpha, const Vector< std::complex<float> >& x, Vector< std::complex<float> >& y);
00021 void axpy(const std::complex<double> alpha, const Vector< std::complex<double> >& x, Vector< std::complex<double> >& y);
00022 
00023 void gemv(char trans,
00024           const Matrix< float >& A, 
00025           const Vector< float >& x, 
00026           Vector< float >& y, 
00027           float alpha, float beta)
00028     ;
00029 
00030 void gemv(char trans,
00031           const Matrix< double >& A, 
00032           const Vector< double >& x, 
00033           Vector< double >& y, 
00034           double alpha, double beta)
00035     ;
00036 
00037 void gemv(char trans,
00038           const Matrix< std::complex<float> >& A, 
00039           const Vector< std::complex<float> >& x, 
00040           Vector< std::complex<float> >& y, 
00041           std::complex<float> alpha, std::complex<float> beta)
00042     ;
00043 
00044 void gemv(char trans,
00045           const Matrix< std::complex<double> >& A, 
00046           const Vector< std::complex<double> >& x, 
00047           Vector< std::complex<double> >& y, 
00048           std::complex<double> alpha, std::complex<double> beta)
00049     ;
00050 
00051 void gemm(char transA, char transB,
00052           const Matrix< float >& A,
00053           const Matrix< float >& B,
00054           Matrix< float >& C,
00055           float alpha, float beta);
00056 
00057 void gemm(char transA, char transB,
00058           const Matrix< double >& A,
00059           const Matrix< double >& B,
00060           Matrix< double >& C,
00061           double alpha, double beta);
00062 
00063 void gemm(char transA, char transB,
00064           const Matrix< std::complex<float> >& A,
00065           const Matrix< std::complex<float> >& B,
00066           Matrix< std::complex<float> >& C,
00067           std::complex<float> alpha, std::complex<float> beta);
00068 
00069 void gemm(char transA, char transB,
00070           const Matrix< std::complex<double> >& A,
00071           const Matrix< std::complex<double> >& B,
00072           Matrix< std::complex<double> >& C,
00073           std::complex<double> alpha, std::complex<double> beta);
00074 
00075 void gesv(const Matrix< float >& A, Matrix< float >& B, Vector< int_t >& ipiv, int_t& info);
00076 
00077 void gesv(const Matrix< double >& A, Matrix< double >& B, Vector< int_t >& ipiv, int_t& info);
00078 
00079 void gesv(const Matrix< std::complex<float> >& A, Matrix< std::complex<float> >& B, Vector< int_t >& ipiv, int_t& info);
00080 
00081 void gesv(const Matrix< std::complex<double> >& A, Matrix< std::complex<double> >& B, Vector< int_t >& ipiv, int_t& info);
00082 
00083 void getrf(const Matrix< float >& A, Vector< int_t >& ipiv, int_t& info);
00084 
00085 void getrf(const Matrix< double >& A, Vector< int_t >& ipiv, int_t& info);
00086 
00087 void getrf(const Matrix< std::complex<float> >& A, Vector< int_t >& ipiv, int_t& info);
00088 
00089 void getrf(const Matrix< std::complex<double> >& A, Vector< int_t >& ipiv, int_t& info);
00090 
00091 void syev(char jobz, char uplo, Matrix< float >& A, ColumnVector< float >&w, int_t& info);
00092 
00093 void syev(char jobz, char uplo, Matrix< double >& A, ColumnVector< double >&w, int_t& info);
00094 
00095 } // namespace
00096 
00097 #endif

Generated on Fri Oct 26 13:35:11 2007 for FEMAXX (Finite Element Maxwell Eigensolver) by  doxygen 1.4.7