CPPLapack
 All Classes Files Functions Variables Friends Pages
_dssmatrix-cast.hpp
Go to the documentation of this file.
1 //=============================================================================
2 /*! cast to _zhsmatrix */
4 {CPPL_VERBOSE_REPORT;
5  zhsmatrix newmat(n,CPPL_INT(data.size()));
6 
7  const std::vector<dcomponent>::const_iterator data_end =data.end();
8  for(std::vector<dcomponent>::const_iterator it=data.begin(); it!=data_end; it++){
9  newmat.put(it->i, it->j, comple(it->v,0.0));
10  }
11 
12  destroy();
13  return _(newmat);
14 }
15 
16 ///////////////////////////////////////////////////////////////////////////////
17 ///////////////////////////////////////////////////////////////////////////////
18 ///////////////////////////////////////////////////////////////////////////////
19 
20 //=============================================================================
21 /*! convert to _dgematrix */
23 {CPPL_VERBOSE_REPORT;
24  dgematrix newmat(m,n);
25  newmat.zero();
26 
27  const std::vector<dcomponent>::const_iterator data_end =data.end();
28  for(std::vector<dcomponent>::const_iterator it=data.begin(); it!=data_end; it++){
29  newmat(it->i, it->j) =it->v;
30  newmat(it->j, it->i) =it->v;
31  }
32 
33  destroy();
34  return _(newmat);
35 }
36 
37 //=============================================================================
38 /*! convert to _dsymatrix */
40 {CPPL_VERBOSE_REPORT;
41  dsymatrix newmat(n);
42  newmat.zero();
43 
44  const std::vector<dcomponent>::const_iterator data_end =data.end();
45  for(std::vector<dcomponent>::const_iterator it=data.begin(); it!=data_end; it++){
46  newmat(it->i, it->j) =it->v;
47  }
48 
49  destroy();
50  return _(newmat);
51 }
52 
53 //=============================================================================
54 /*! convert to _dgsmatrix */
56 {CPPL_VERBOSE_REPORT;
57  dgsmatrix newmat(m,n,CPPL_INT(data.size()*2));
58  newmat.zero();
59 
60  const std::vector<dcomponent>::const_iterator data_end =data.end();
61  for(std::vector<dcomponent>::const_iterator it=data.begin(); it!=data_end; it++){
62  newmat.put(it->i, it->j, it->v);
63  if(it->i!=it->j){
64  newmat.put(it->j, it->i, it->v);
65  }
66  }
67 
68  destroy();
69  return _(newmat);
70 }
Real Double-precision General Sparse Matrix Class.
Definition: dgsmatrix.hpp:3
std::vector< dcomponent > data
matrix data
Definition: _dssmatrix.hpp:12
CPPL_INT const & m
matrix row size
Definition: _dssmatrix.hpp:10
zhsmatrix & put(const CPPL_INT &, const CPPL_INT &, const comple &)
dsymatrix & zero()
dgematrix & zero()
_dgsmatrix to_dgsmatrix() const
_dgematrix to_dgematrix() const
Real Double-precision General Dence Matrix Class.
Definition: dgematrix.hpp:3
Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].
Definition: dsymatrix.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class
Definition: _dgsmatrix.hpp:3
_dsymatrix to_dsymatrix() const
(DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class
Definition: _dgematrix.hpp:3
dgsmatrix & zero()
CPPL_INT n
matrix column size
Definition: _dssmatrix.hpp:11
Complex Double-precision Hermitian Sparse Matrix Class.
Definition: zhsmatrix.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class
Definition: _dsymatrix.hpp:3
_zhsmatrix to_zhsmatrix() const
dgsmatrix & put(const CPPL_INT &, const CPPL_INT &, const double &)
void destroy() const
_dcovector _(dcovector &vec)
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Sparse Matrix Class ...
Definition: _zhsmatrix.hpp:3