CPPLapack
 All Classes Files Functions Variables Friends
_dgbmatrix.hpp
Go to the documentation of this file.
00001 //=============================================================================
00002 //! (DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class
00003 class _dgbmatrix
00004 {
00005 public:
00006   ///////////////////////////////////////////////
00007   /////////////////// objects ///////////////////
00008   ///////////////////////////////////////////////
00009   mutable long m; //!< matrix row size
00010   mutable long n; //!< matrix column size
00011   mutable long kl; //!< lower band width 
00012   mutable long ku; //!< upper band width 
00013   mutable double* array; //!< 1D array to store matrix data
00014   mutable double** darray; //!< array of pointers of column head addresses
00015   
00016   ///////////////////////////////////////////////
00017   ///////////////// constructors ////////////////
00018   ///////////////////////////////////////////////
00019   inline _dgbmatrix();
00020   inline _dgbmatrix(const _dgbmatrix&);
00021   inline ~_dgbmatrix(); //destructor
00022   
00023   ///////////////////////////////////////////////
00024   ////////////////// functions //////////////////
00025   ///////////////////////////////////////////////
00026   //////// cast ////////
00027   inline _zgbmatrix to_zgbmatrix() const;
00028   inline _dgematrix to_dgematrix() const;
00029   
00030   //////// io ////////
00031   inline double& operator()(const long&, const long&) const;
00032   inline friend std::ostream& operator<<(std::ostream&, const _dgbmatrix&);
00033   inline void write(const char*) const;
00034   
00035   //////// misc ////////
00036   inline void nullify() const;
00037   inline void destroy() const;
00038   
00039   //////// calc ////////
00040   inline friend _dgbmatrix t(const _dgbmatrix&);
00041   inline friend _dgematrix i(const _dgbmatrix&);
00042   
00043   ///////////////////////////////////////////////
00044   ///////////// numerical operators /////////////
00045   ///////////////////////////////////////////////
00046   //////// unary ////////
00047   inline friend const _dgbmatrix& operator+(const _dgbmatrix&);
00048   inline friend _dgbmatrix operator-(const _dgbmatrix&);
00049   
00050   //////// + ////////
00051   inline friend _dgematrix operator+(const _dgbmatrix&, const  dgematrix&);
00052   inline friend _dgematrix operator+(const _dgbmatrix&, const _dgematrix&);
00053   inline friend _dgematrix operator+(const _dgbmatrix&, const  dsymatrix&);
00054   inline friend _dgematrix operator+(const _dgbmatrix&, const _dsymatrix&);
00055   inline friend _dgbmatrix operator+(const _dgbmatrix&, const  dgbmatrix&);
00056   inline friend _dgbmatrix operator+(const _dgbmatrix&, const _dgbmatrix&);
00057   inline friend _dgematrix operator+(const _dgbmatrix&, const  dgsmatrix&);
00058   inline friend _dgematrix operator+(const _dgbmatrix&, const _dgsmatrix&);
00059   inline friend _dgematrix operator+(const _dgbmatrix&, const  dssmatrix&);
00060   inline friend _dgematrix operator+(const _dgbmatrix&, const _dssmatrix&);
00061   
00062   //////// - ////////
00063   inline friend _dgematrix operator-(const _dgbmatrix&, const  dgematrix&);
00064   inline friend _dgematrix operator-(const _dgbmatrix&, const _dgematrix&);
00065   inline friend _dgematrix operator-(const _dgbmatrix&, const  dsymatrix&);
00066   inline friend _dgematrix operator-(const _dgbmatrix&, const _dsymatrix&);
00067   inline friend _dgbmatrix operator-(const _dgbmatrix&, const  dgbmatrix&);
00068   inline friend _dgbmatrix operator-(const _dgbmatrix&, const _dgbmatrix&);
00069   inline friend _dgematrix operator-(const _dgbmatrix&, const  dgsmatrix&);
00070   inline friend _dgematrix operator-(const _dgbmatrix&, const _dgsmatrix&);
00071   inline friend _dgematrix operator-(const _dgbmatrix&, const  dssmatrix&);
00072   inline friend _dgematrix operator-(const _dgbmatrix&, const _dssmatrix&);
00073   
00074   //////// * ////////
00075   inline friend _dcovector operator*(const _dgbmatrix&, const  dcovector&);
00076   inline friend _dcovector operator*(const _dgbmatrix&, const _dcovector&);
00077   inline friend _dgematrix operator*(const _dgbmatrix&, const  dgematrix&);
00078   inline friend _dgematrix operator*(const _dgbmatrix&, const _dgematrix&);
00079   inline friend _dgematrix operator*(const _dgbmatrix&, const  dsymatrix&);
00080   inline friend _dgematrix operator*(const _dgbmatrix&, const _dsymatrix&);
00081   inline friend _dgbmatrix operator*(const _dgbmatrix&, const  dgbmatrix&);
00082   inline friend _dgbmatrix operator*(const _dgbmatrix&, const _dgbmatrix&);
00083   inline friend _dgematrix operator*(const _dgbmatrix&, const  dgsmatrix&);
00084   inline friend _dgematrix operator*(const _dgbmatrix&, const _dgsmatrix&);
00085   inline friend _dgematrix operator*(const _dgbmatrix&, const  dssmatrix&);
00086   inline friend _dgematrix operator*(const _dgbmatrix&, const _dssmatrix&);
00087   inline friend _dgbmatrix operator*(const _dgbmatrix&, const     double&);
00088   
00089   //////// / ////////
00090   inline friend _dgbmatrix operator/(const _dgbmatrix&, const     double&);
00091   
00092   //////// double ////////
00093   inline friend _dgbmatrix operator*(const     double&, const _dgbmatrix&);
00094 };
 All Classes Files Functions Variables Friends