20 const CPPL_INT size =(
kl+
ku+1)*
n;
21 for(CPPL_INT
i=0;
i<size;
i++){
34 std::cerr <<
"Only square matrix can be a identity matrix." << std::endl
35 <<
"The matrix size was " <<
m <<
"x" <<
n <<
"." << std::endl;
40 const CPPL_INT size =(
kl+
ku+1)*
n;
41 for(CPPL_INT
i=0;
i<size;
i++){
44 for(CPPL_INT
i=0;
i<
m;
i++){
55 const CPPL_INT size =(
kl+
ku+1)*
n;
56 for(CPPL_INT
i=0;
i<size;
i++){
73 for(
int i=0;
i<
n;
i++){
77 CPPL_INT size =(mat.
kl+mat.
ku+1)*mat.
n;
102 const CPPL_INT& _kl,
const CPPL_INT& _ku)
103 {CPPL_VERBOSE_REPORT;
105 if( _m<0 || _n<0 || _kl<0 || _ku<0 || _m<_kl || _n<_ku ){
107 std::cerr <<
"It is impossible to make a matrix you ordered. " << std::endl
108 <<
"Your input was (" << _m <<
"," << _n <<
","<< _ku <<
"," << _kl <<
")." << std::endl;
120 darray =
new comple*[
n];
121 for(
int i=0;
i<
n;
i++){
133 {CPPL_VERBOSE_REPORT;
137 std::cerr <<
"Input row number must be between 0 and " << m <<
"." << std::endl
138 <<
"Your input was " << _m <<
"." << std::endl;
145 const CPPL_INT jmax =std::min(
n,_m+
ku+1);
146 for(CPPL_INT j=std::max(CPPL_INT(0),_m-
kl); j<jmax; j++){
156 {CPPL_VERBOSE_REPORT;
160 std::cerr <<
"Input row number must be between 0 and " << n <<
"." << std::endl
161 <<
"Your input was " << _n <<
"." << std::endl;
168 const CPPL_INT imax =std::min(
m,_n+
kl+1);
169 for(CPPL_INT
i=std::max(CPPL_INT(0),_n-
ku);
i<imax;
i++){
183 {CPPL_VERBOSE_REPORT;
184 CPPL_INT A_m =A.
m, A_n =A.
n, A_kl =A.
kl, A_ku =A.
ku;
185 comple* A_array =A.
array;
186 comple** A_darray =A.
darray;
195 {CPPL_VERBOSE_REPORT;
CPPL_INT ku
upper band width
comple & operator()(const CPPL_INT &, const CPPL_INT &)
friend _zgematrix i(const zgbmatrix &)
CPPL_INT kl
lower band width
_zrovector row(const CPPL_INT &) const
comple ** darray
array of pointers of column head addresses
void copy(const zgbmatrix &)
_zgbmatrix _(zgbmatrix &mat)
CPPL_INT n
matrix column size
CPPL_INT ku
upper band width
void resize(const CPPL_INT &, const CPPL_INT &, const CPPL_INT &, const CPPL_INT &)
Complex Double-precision Row Vector Class.
(DO NOT USE) Smart-temporary Complex Double-precision Row Vector Class
CPPL_INT m
matrix row size
Complex Double-precision General Band Matrix Class.
(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class
void swap(zgbmatrix &A, zgbmatrix &B)
CPPL_INT kl
lower band width
CPPL_INT m
matrix row size
comple * array
1D array to store matrix data
comple ** darray
array of pointers of column head addresses
Complex Double-precision Column Vector Class.
(DO NOT USE) Smart-temporary Complex Double-precision Column Vector Class
CPPL_INT n
matrix column size
friend _zgbmatrix _(zgbmatrix &)
_zcovector col(const CPPL_INT &) const
comple * array
1D array to store matrix data
void shallow_copy(const _zgbmatrix &)