00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __matrix_vector_operators_h
00019 #define __matrix_vector_operators_h
00020
00021 #include "gsl/gsl_blas.h"
00022 #include <gslwrap/matrix_double.h>
00023 #include <gslwrap/vector_double.h>
00024
00025 namespace gsl
00026 {
00027
00028 vector_float operator*(const matrix_float& m, const vector_float& v)
00029 {
00030 vector_float y(m.get_rows());
00031 gsl_blas_sgemv(CblasNoTrans, 1.0, m.gslobj(), v.gslobj(), 0.0, y.gslobj());
00032 return y;
00033 }
00034
00035 vector operator*(const matrix& m, const vector& v)
00036 {
00037 vector y(m.get_rows());
00038 gsl_blas_dgemv(CblasNoTrans, 1.0, m.gslobj(), v.gslobj(), 0.0, y.gslobj());
00039 return y;
00040 }
00041
00042 }
00043
00044 #endif //__matrix_vector_operators_h