CPPLapack
 All Classes Files Functions Variables Friends Pages
dgbmatrix-double.hpp
Go to the documentation of this file.
1 //=============================================================================
2 /*! dgbmatrix*=double operator */
3 inline dgbmatrix& dgbmatrix::operator*=(const double& d)
4 {CPPL_VERBOSE_REPORT;
5  CPPL_INT size =(kl+ku+1)*n;
6  CPPL_INT inc =1;
7  dscal_(&size, &d, array, &inc);
8  return *this;
9 }
10 
11 //=============================================================================
12 /*! dgbmatrix/=double operator */
13 inline dgbmatrix& dgbmatrix::operator/=(const double& d)
14 {CPPL_VERBOSE_REPORT;
15  CPPL_INT size =(kl+ku+1)*n;
16  double dinv =1./d;
17  CPPL_INT inc =1;
18  dscal_(&size, &dinv, array, &inc);
19  return *this;
20 }
21 
22 ///////////////////////////////////////////////////////////////////////////////
23 ///////////////////////////////////////////////////////////////////////////////
24 ///////////////////////////////////////////////////////////////////////////////
25 
26 //=============================================================================
27 /*! dgbmatrix*double operator */
28 inline _dgbmatrix operator*(const dgbmatrix& mat, const double& d)
29 {CPPL_VERBOSE_REPORT;
30  dgbmatrix newmat(mat.m, mat.n, mat.kl, mat.ku);
31 
32  const CPPL_INT size =(newmat.kl+newmat.ku+1)*newmat.n;
33  for(CPPL_INT i=0; i<size; i++){
34  newmat.array[i] =mat.array[i]*d;
35  }
36 
37  return _(newmat);
38 }
39 
40 //=============================================================================
41 /*! dgbmatrix/double operator */
42 inline _dgbmatrix operator/(const dgbmatrix& mat, const double& d)
43 {CPPL_VERBOSE_REPORT;
44  dgbmatrix newmat(mat.m, mat.n, mat.kl, mat.ku);
45 
46  const CPPL_INT size =(newmat.kl+newmat.ku+1)*newmat.n;
47  for(CPPL_INT i=0; i<size; i++){
48  newmat.array[i] =mat.array[i]/d;
49  }
50 
51  return _(newmat);
52 }
CPPL_INT m
matrix row size
Definition: dgbmatrix.hpp:9
_dgematrix i(const _dgbmatrix &mat)
dgbmatrix & operator/=(const double &)
CPPL_INT kl
lower band width
Definition: dgbmatrix.hpp:11
CPPL_INT ku
upper band width
Definition: dgbmatrix.hpp:12
double * array
1D array to store matrix data
Definition: dgbmatrix.hpp:13
Real Double-precision General Band Matrix Class.
Definition: dgbmatrix.hpp:3
dgbmatrix & operator*=(const dgbmatrix &)
(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class
Definition: _dgbmatrix.hpp:3
CPPL_INT n
matrix column size
Definition: dgbmatrix.hpp:10
_dgbmatrix operator*(const dgbmatrix &mat, const double &d)
_dcovector _(dcovector &vec)
_dgbmatrix operator/(const dgbmatrix &mat, const double &d)