OBOE 0.1
AccpmBlasInterface.h
Go to the documentation of this file.
00001 // Copyright (c) 2004-2007 University of Geneva, HEC, Logilab
00002 //
00003 // OBOE is published under the Common Public License.
00004 //
00005 // Authors :
00006 // Nidhi Sawhney <nsawhney@yahoo.com>
00007 // The OBOE team
00008 //
00009 
00010 #ifndef ACCPM_BLAS_INTERFACE_H
00011 #define ACCPM_BLAS_INTERFACE_H
00012 
00013 #include "AccpmVector.h"
00014 #include "AccpmGenMatrix.h"
00015 using namespace Accpm;
00016 
00031 double AccpmLADotProd(const AccpmVector &dx, const AccpmVector &dy);
00032 
00034 void AccpmLAScale(double da, AccpmVector &dx);
00035 
00037 void AccpmLAMult(AccpmVector &dy, double da, const AccpmVector &dx);
00038 
00043 void AccpmLAAddMult(AccpmVector &dy, double da, const AccpmVector &dx);
00044 
00049 double AccpmLANorm1(const AccpmVector &dx);
00050 
00056 double AccpmLANorm2(const AccpmVector &dx);
00057 
00063 double AccpmLANormInf(const AccpmVector &x);
00064 
00070 void AccpmLAMatTransVecMult(const RealMatrix &A, 
00071                 const AccpmVector &dx, 
00072                 AccpmVector &dy,
00073                 double alpha = 1.0, double beta = 0.0);
00074 
00076 void AccpmLAMatVecMult(const RealMatrix &A, 
00077                const AccpmVector &dx, 
00078                AccpmVector &dy, 
00079                double alpha = 1.0, double beta = 0.0);
00080 
00082 void AccpmLAR1Update(RealMatrix &A, const AccpmVector &dx, 
00083              const AccpmVector &dy, double alpha = 1.0);
00084 
00085 void AccpmLAR1Update(SymmetricMatrix &A, const AccpmVector &dx,
00086             double alpha = 1.0);
00091 void AccpmLAMatMatMult(const RealMatrix &A, 
00092                const RealMatrix &B, RealMatrix &C, 
00093                double alpha = 1.0, double beta = 0.0)
00094 ;
00096 void AccpmLAMatTransMatMult(const RealMatrix &A, 
00097                 const RealMatrix &B, RealMatrix &C, 
00098 
00099                 double alpha = 1.0, double beta = 0.0);
00101 void AccpmLAMatMatTransMult(const RealMatrix &A, 
00102                 const RealMatrix &B, RealMatrix &C, 
00103                 double alpha = 1.0, double beta = 0.0);
00104 
00109 void AccpmLAR1Update(SymmetricMatrix &C, RealMatrix &A,
00110               double alpha = 1.0, double beta = 1.0);
00111 #endif