00001
00002
00003 class dgbmatrix
00004 {
00005 public:
00006
00007
00008
00009 long m;
00010 long n;
00011 long kl;
00012 long ku;
00013 double* array;
00014 double** darray;
00015
00016
00017
00018
00019 inline dgbmatrix();
00020 inline dgbmatrix(const dgbmatrix&);
00021 inline dgbmatrix(const _dgbmatrix&);
00022 inline dgbmatrix(const long&, const long&, const long&, const long&);
00023 inline dgbmatrix(const char *);
00024 inline ~dgbmatrix();
00025
00026
00027
00028
00029
00030 inline _zgbmatrix to_zgbmatrix() const;
00031 inline _dgematrix to_dgematrix() const;
00032
00033
00034 inline double& operator()(const long&, const long&);
00035 inline double operator()(const long&, const long&) const;
00036 inline dgbmatrix& set(const long&, const long&, const double&);
00037 inline friend std::ostream& operator<<(std::ostream&, const dgbmatrix&);
00038 inline void write(const char*) const;
00039 inline void read(const char*);
00040
00041
00042 inline void clear();
00043 inline dgbmatrix& zero();
00044 inline dgbmatrix& identity();
00045 inline void chsign();
00046 inline void copy(const dgbmatrix&);
00047 inline void shallow_copy(const _dgbmatrix&);
00048 inline dgbmatrix& resize(const long&, const long&, const long&, const long&);
00049 inline _drovector row(const long&) const;
00050 inline _dcovector col(const long&) const;
00051 inline friend void swap(dgbmatrix&, dgbmatrix&);
00052 inline friend _dgbmatrix _(dgbmatrix&);
00053
00054
00055 inline friend _dgbmatrix t(const dgbmatrix&);
00056 inline friend _dgematrix i(const dgbmatrix&);
00057
00058
00059 inline long dgbsv(dgematrix&);
00060 inline long dgbsv(dcovector&);
00061
00062
00063
00064
00065
00066 inline dgbmatrix& operator=(const dgbmatrix&);
00067 inline dgbmatrix& operator=(const _dgbmatrix&);
00068
00069
00070 inline dgbmatrix& operator+=(const dgbmatrix&);
00071 inline dgbmatrix& operator+=(const _dgbmatrix&);
00072
00073
00074 inline dgbmatrix& operator-=(const dgbmatrix&);
00075 inline dgbmatrix& operator-=(const _dgbmatrix&);
00076
00077
00078 inline dgbmatrix& operator*=(const dgbmatrix&);
00079 inline dgbmatrix& operator*=(const _dgbmatrix&);
00080 inline dgbmatrix& operator*=(const double&);
00081
00082
00083 inline dgbmatrix& operator/=(const double&);
00084
00085
00086 inline friend const dgbmatrix& operator+(const dgbmatrix&);
00087 inline friend _dgbmatrix operator-(const dgbmatrix&);
00088
00089
00090 inline friend _dgematrix operator+(const dgbmatrix&, const dgematrix&);
00091 inline friend _dgematrix operator+(const dgbmatrix&, const _dgematrix&);
00092 inline friend _dgematrix operator+(const dgbmatrix&, const dsymatrix&);
00093 inline friend _dgematrix operator+(const dgbmatrix&, const _dsymatrix&);
00094 inline friend _dgbmatrix operator+(const dgbmatrix&, const dgbmatrix&);
00095 inline friend _dgbmatrix operator+(const dgbmatrix&, const _dgbmatrix&);
00096 inline friend _dgematrix operator+(const dgbmatrix&, const dgsmatrix&);
00097 inline friend _dgematrix operator+(const dgbmatrix&, const _dgsmatrix&);
00098 inline friend _dgematrix operator+(const dgbmatrix&, const dssmatrix&);
00099 inline friend _dgematrix operator+(const dgbmatrix&, const _dssmatrix&);
00100
00101
00102 inline friend _dgematrix operator-(const dgbmatrix&, const dgematrix&);
00103 inline friend _dgematrix operator-(const dgbmatrix&, const _dgematrix&);
00104 inline friend _dgematrix operator-(const dgbmatrix&, const dsymatrix&);
00105 inline friend _dgematrix operator-(const dgbmatrix&, const _dsymatrix&);
00106 inline friend _dgbmatrix operator-(const dgbmatrix&, const dgbmatrix&);
00107 inline friend _dgbmatrix operator-(const dgbmatrix&, const _dgbmatrix&);
00108 inline friend _dgematrix operator-(const dgbmatrix&, const dgsmatrix&);
00109 inline friend _dgematrix operator-(const dgbmatrix&, const _dgsmatrix&);
00110 inline friend _dgematrix operator-(const dgbmatrix&, const dssmatrix&);
00111 inline friend _dgematrix operator-(const dgbmatrix&, const _dssmatrix&);
00112
00113
00114 inline friend _dcovector operator*(const dgbmatrix&, const dcovector&);
00115 inline friend _dcovector operator*(const dgbmatrix&, const _dcovector&);
00116 inline friend _dgematrix operator*(const dgbmatrix&, const dgematrix&);
00117 inline friend _dgematrix operator*(const dgbmatrix&, const _dgematrix&);
00118 inline friend _dgematrix operator*(const dgbmatrix&, const dsymatrix&);
00119 inline friend _dgematrix operator*(const dgbmatrix&, const _dsymatrix&);
00120 inline friend _dgbmatrix operator*(const dgbmatrix&, const dgbmatrix&);
00121 inline friend _dgbmatrix operator*(const dgbmatrix&, const _dgbmatrix&);
00122 inline friend _dgematrix operator*(const dgbmatrix&, const dgsmatrix&);
00123 inline friend _dgematrix operator*(const dgbmatrix&, const _dgsmatrix&);
00124 inline friend _dgematrix operator*(const dgbmatrix&, const dssmatrix&);
00125 inline friend _dgematrix operator*(const dgbmatrix&, const _dssmatrix&);
00126 inline friend _dgbmatrix operator*(const dgbmatrix&, const double&);
00127
00128
00129 inline friend _dgbmatrix operator/(const dgbmatrix&, const double&);
00130
00131
00132 inline friend _dgbmatrix operator*(const double&, const dgbmatrix&);
00133 };