4 : m(M), n(N), array(
Array), darray(Darray)
7 std::cerr <<
"# [MARK] zgematrix::zgematrix()"
18 std::cerr <<
"# [NOTE] zgematrix::zgematrix() "
19 <<
"A new 0x0 matrix at " <<
Array
20 <<
" has been made." << std::endl;
27 : m(M), n(N), array(
Array), darray(Darray)
30 std::cerr <<
"# [MARK] zgematrix::zgematrix(const zgematrix&)"
37 Array =
new std::complex<double>[M*N];
38 Darray =
new std::complex<double>*[N];
39 for(
int i=0;
i<N;
i++){ Darray[
i] =&
Array[
i*M]; }
42 zcopy_(M*N, mat.Array, 1,
Array, 1);
45 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const zgematrix&) "
46 <<
"A new matrix at " <<
Array <<
" has been made." << std::endl;
53 : m(M), n(N), array(
Array), darray(Darray)
56 std::cerr <<
"# [MARK] zgematrix::zgematrix(const _zgematrix&)"
66 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const _zgematrix&) "
67 <<
"A new matrix pointing at " <<
Array <<
" has been made."
75 : m(M), n(N), array(
Array), darray(Darray)
78 std::cerr <<
"# [MARK] zgematrix::zgematrix(const zgbmatrix&)"
85 Array =
new std::complex<double>[M*N];
86 Darray =
new std::complex<double>*[N];
87 for(
int i=0;
i<N;
i++){ Darray[
i] =&
Array[
i*M]; }
91 for(
long i=0;
i<mat.M;
i++){
92 for(
long j=max(0,
i-mat.KL); j<min(N,
i+mat.KU+1); j++){
97 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const zgbmatrix&) "
98 <<
"A new matrix at " <<
Array <<
" has been made." << std::endl;
105 : m(M), n(N), array(
Array), darray(Darray)
108 std::cerr <<
"# [MARK] zgematrix::zgematrix(const _zgbmatrix&)"
115 Array =
new std::complex<double>[M*N];
116 Darray =
new std::complex<double>*[N];
117 for(
int i=0;
i<N;
i++){ Darray[
i] =&
Array[
i*M]; }
121 for(
long i=0;
i<mat.
M;
i++){
122 for(
long j=max(0,
i-mat.
KL); j<min(N,
i+mat.
KU+1); j++){
130 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const zgbmatrix&) "
131 <<
"A new matrix at " <<
Array <<
" has been made." << std::endl;
138 : m(M), n(N), array(
Array), darray(Darray)
141 std::cerr <<
"# [MARK] zgematrix::zgematrix(const zhematrix&)"
148 Array =
new std::complex<double>[N*N];
149 Darray =
new std::complex<double>*[N];
150 for(
int i=0;
i<N;
i++){ Darray[
i] =&
Array[
i*M]; }
154 for(
long i=0;
i<mat.N;
i++){
155 for(
long j=0; j<mat.N; j++ ){
160 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const zhematrix&) "
161 <<
"A new matrix at " <<
Array <<
" has been made." << std::endl;
168 : m(M), n(N), array(
Array), darray(Darray)
171 std::cerr <<
"# [MARK] zgematrix::zgematrix(const _zhematrix&)"
184 for(
long i=0;
i<mat.
N;
i++){
for(
long j=0; j<
i; j++){
189 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const _zhematrix&) "
190 <<
"A matrix at " <<
Array <<
" has been transformed into "
191 <<
"zgematrix." << std::endl;
198 : m(M), n(N), array(
Array), darray(Darray)
201 std::cerr <<
"# [MARK] zgematrix::zgematrix(const zssmatrix&)"
208 Array =
new std::complex<double>[M*N];
209 Darray =
new std::complex<double>*[N];
210 for(
int i=0; i<N; i++){ Darray[
i] =&
Array[i*M]; }
214 for(
long c=0; c<mat.VOL; c++) {
215 operator()(mat.Indx[c],mat.Jndx[c]) =mat.Array[c];
219 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const zssmatrix&) "
220 <<
"A new matrix at " <<
Array <<
" has been made." << std::endl;
227 : m(M), n(N), array(
Array), darray(Darray)
230 std::cerr <<
"# [MARK] zgematrix::zgematrix(const _zssmatrix&)"
237 Array =
new std::complex<double>[M*N];
238 Darray =
new std::complex<double>*[N];
239 for(
int i=0; i<N; i++){ Darray[
i] =&
Array[i*M]; }
243 for(
long c=0; c<mat.
VOL; c++){
250 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const _zssmatrix&) "
251 <<
"A new matrix at " <<
Array <<
" has been made." << std::endl;
258 : m(M), n(N), array(
Array), darray(Darray)
261 std::cerr <<
"# [MARK] zgematrix::zgematrix(const long&, const long&)"
267 std::cerr <<
"[ERROR] zgematrix::zgematrix(const long, const long)"
269 <<
"Matrix sizes must be positive integers. " << std::endl
270 <<
"Your input was (" << _m <<
"," << _n <<
")." << std::endl;
278 Array =
new std::complex<double>[M*N];
279 Darray =
new std::complex<double>*[N];
280 for(
int i=0; i<N; i++){ Darray[
i] =&
Array[i*M]; }
283 std::cerr <<
"# [NOTE] zgematrix(long,long) "
284 <<
"A new matrix at " <<
Array <<
" has been made." << std::endl;
291 : m(M), n(N), array(
Array), darray(Darray)
294 std::cerr <<
"# [MARK] zgematrix::zgematrix(const char*)"
305 std::cerr <<
"# [NOTE] zgematrix::zgematrix(const char*) "
306 <<
"A new matrix at " <<
Array <<
" has been made." << std::endl;
319 std::cerr <<
"# [MARK] zgematrix::~zgematrix()"
324 std::cerr <<
"# [NOTE] zgematrix::~zgematrix() "
325 <<
"A matrix at " <<
Array <<
" is going to be deleted." << std::endl;
std::complex< double > ** Darray
array of pointers of column head addresses
Definition: _zhematrix.hpp:9
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class
Definition: _zhematrix.hpp:3
long M
matrix row size
Definition: _zssmatrix.hpp:7
long VOL
the number of non-zero components
Definition: _zssmatrix.hpp:10
(DO NOT USE) Smart-temporary Complex Double-precision Sparse Matrix Class
Definition: _zssmatrix.hpp:3
long N
matrix column size
Definition: _zgematrix.hpp:8
long N
matrix column size
Definition: _zgbmatrix.hpp:8
void destroy() const
Definition: _zgbmatrix-misc.hpp:3
friend _zgematrix i(const zgematrix &)
Definition: zgematrix-calc.hpp:21
~zgematrix()
Definition: zgematrix-constructor.hpp:316
Complex Double-precision General Dence Matrix Class.
Definition: zgematrix.hpp:3
long KU
upper band width
Definition: _zgbmatrix.hpp:10
(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
Definition: _zgematrix.hpp:3
zgematrix()
Definition: zgematrix-constructor.hpp:3
void zero()
Definition: zgematrix-misc.hpp:26
std::complex< double > * Array
1D array to store non-zero matrix data
Definition: _zssmatrix.hpp:11
Complex Double-precision General Band Matrix Class.
Definition: zgbmatrix.hpp:3
std::complex< double > * Array
1D Array to store matrix data
Definition: _zgematrix.hpp:9
std::complex< double > * Array
1D Array to store matrix data
Definition: _zhematrix.hpp:8
std::complex< double > & operator()(const long &, const long &)
Definition: zgematrix-io.hpp:3
void destroy() const
Definition: _zssmatrix-misc.hpp:3
long M
matrix row size
Definition: _zgbmatrix.hpp:7
std::complex< double > ** Darray
array of pointers of column head addresses
Definition: _zgematrix.hpp:10
(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class
Definition: _zgbmatrix.hpp:3
long M
matrix row size
Definition: _zgematrix.hpp:7
Complex Double-precision Hermitian Matrix Class [L-type (UPLO=L) Strage].
Definition: zhematrix.hpp:4
long N
matrix column or row size
Definition: _zhematrix.hpp:7
long N
matrix column size
Definition: _zssmatrix.hpp:8
long * Jndx
1D array to store the j-index of non-zero matrix components
Definition: _zssmatrix.hpp:13
Complex Double-precision Sparse Matrix Class.
Definition: zssmatrix.hpp:3
long KL
lower band width
Definition: _zgbmatrix.hpp:9
long * Indx
1D array to store the i-index of non-zero matrix components
Definition: _zssmatrix.hpp:12
std::complex< double > * Array
1D Array to store vector data
Definition: _zrovector.hpp:8