CPPLapack
 All Classes Files Functions Variables Friends Pages
Public Member Functions | Public Attributes | Friends | List of all members
_zcovector Class Reference

(DO NOT USE) Smart-temporary Complex Double-precision Column Vector Class More...

#include <_zcovector.hpp>

Public Member Functions

 _zcovector ()
 
 _zcovector (const _zcovector &)
 
 ~_zcovector ()
 
comple & operator() (const CPPL_INT &) const
 
void write (const char *) const
 
void nullify () const
 
void destroy () const
 

Public Attributes

CPPL_INT l
 vector size More...
 
comple * array
 1D array to store vector data More...
 

Friends

std::ostream & operator<< (std::ostream &, const _zcovector &)
 
_zrovector t (const _zcovector &)
 
_zcovector conj (const _zcovector &)
 
_zrovector conjt (const _zcovector &)
 
double nrm2 (const _zcovector &)
 
CPPL_INT idamax (const _zcovector &)
 
comple damax (const _zcovector &)
 
const _zcovectoroperator+ (const _zcovector &)
 
_zcovector operator- (const _zcovector &)
 
_zcovector operator+ (const _zcovector &, const zcovector &)
 
_zcovector operator+ (const _zcovector &, const _zcovector &)
 
_zcovector operator- (const _zcovector &, const zcovector &)
 
_zcovector operator- (const _zcovector &, const _zcovector &)
 
_zgematrix operator* (const _zcovector &, const zrovector &)
 
_zgematrix operator* (const _zcovector &, const _zrovector &)
 
_zcovector operator* (const _zcovector &, const double &)
 
_zcovector operator* (const _zcovector &, const comple &)
 
_zcovector operator/ (const _zcovector &, const double &)
 
_zcovector operator/ (const _zcovector &, const comple &)
 
comple operator% (const _zcovector &, const zcovector &)
 
comple operator% (const _zcovector &, const _zcovector &)
 
_zcovector operator* (const double &, const _zcovector &)
 
_zcovector operator* (const comple &, const _zcovector &)
 

Detailed Description

(DO NOT USE) Smart-temporary Complex Double-precision Column Vector Class

Definition at line 3 of file _zcovector.hpp.

Constructor & Destructor Documentation

_zcovector::_zcovector ( )
inline

_zcovector constructor

Definition at line 3 of file _zcovector-constructor.hpp.

References array, and l.

4 {CPPL_VERBOSE_REPORT;
5  l =0;
6  array =NULL;
7 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector::_zcovector ( const _zcovector vec)
inline

_zcovector copy constructor

Definition at line 11 of file _zcovector-constructor.hpp.

References array, l, and nullify().

12 {CPPL_VERBOSE_REPORT;
13  l =vec.l;
14  array =vec.array;
15 
16  vec.nullify();
17 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
void nullify() const
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector::~_zcovector ( )
inline

_zcovector destructor

Definition at line 25 of file _zcovector-constructor.hpp.

References array.

26 {CPPL_VERBOSE_REPORT;
27  delete [] array;
28 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10

Member Function Documentation

comple & _zcovector::operator() ( const CPPL_INT &  i) const
inline

operator() for const object

Definition at line 3 of file _zcovector-io.hpp.

References array, i(), and l.

Referenced by write().

4 {CPPL_VERBOSE_REPORT;
5 #ifdef CPPL_DEBUG
6  if( i<0 || l<=i ){
7  ERROR_REPORT;
8  std::cerr << "The required component is out of the vector size." << std::endl
9  << "Your input is (" << i << "), whereas the vector size is (" << l << ")." << std::endl;
10  exit(1);
11  }
12 #endif//CPPL_DEBUG
13 
14  return array[i];
15 }
_dgematrix i(const _dgbmatrix &mat)
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
void _zcovector::write ( const char *  filename) const
inline

Definition at line 37 of file _zcovector-io.hpp.

References destroy(), i(), l, and operator()().

38 {CPPL_VERBOSE_REPORT;
39  std::ofstream ofs(filename, std::ios::trunc);
40  ofs.setf(std::cout.flags());
41  ofs.precision(std::cout.precision());
42  ofs.width(std::cout.width());
43  ofs.fill(std::cout.fill());
44 
45  ofs << "#zcovector" << " " << l << std::endl;
46  for(CPPL_INT i=0; i<l; i++){
47  ofs << operator()(i) << std::endl;
48  }
49 
50  ofs.close();
51  destroy();
52 }
_dgematrix i(const _dgbmatrix &mat)
void destroy() const
comple & operator()(const CPPL_INT &) const
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
void _zcovector::nullify ( ) const
inline

nullify all the vector data

Definition at line 3 of file _zcovector-misc.hpp.

References array, and l.

Referenced by _zcovector(), zcovector::shallow_copy(), and zcovector::zcovector().

4 {CPPL_VERBOSE_REPORT;
5  l=0;
6  array=NULL;
7 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
void _zcovector::destroy ( ) const
inline

destroy all the vector data

Definition at line 11 of file _zcovector-misc.hpp.

References array.

Referenced by conjt(), damax(), idamax(), nrm2(), operator%(), operator*(), operator+(), zcovector::operator+=(), operator-(), zcovector::operator-=(), operator<<(), and write().

12 {CPPL_VERBOSE_REPORT;
13  delete [] array;
14  array=NULL;
15 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const _zcovector vec 
)
friend

Definition at line 22 of file _zcovector-io.hpp.

23 {CPPL_VERBOSE_REPORT;
24  for(CPPL_INT i=0; i<vec.l; i++){
25  s << " " << vec.array[i] << std::endl;
26  }
27 
28  vec.destroy();
29  return s;
30 }
_dgematrix i(const _dgbmatrix &mat)
void destroy() const
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zrovector t ( const _zcovector covec)
friend

return a transposed row vector

Definition at line 3 of file _zcovector-calc.hpp.

4 {CPPL_VERBOSE_REPORT;
5  _zrovector rovec;
6  rovec.l =covec.l;
7  delete [] rovec.array;
8  rovec.array =covec.array;
9 
10  return rovec;
11 }
CPPL_INT l
vector size
Definition: _zrovector.hpp:9
(DO NOT USE) Smart-temporary Complex Double-precision Row Vector Class
Definition: _zrovector.hpp:3
comple * array
1D array to store vector data
Definition: _zrovector.hpp:10
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector conj ( const _zcovector vec)
friend

return its conjugated vector

Definition at line 15 of file _zcovector-calc.hpp.

16 {CPPL_VERBOSE_REPORT;
17  for(CPPL_INT i=0; i<vec.l; i++){
18  vec(i) =std::conj(vec(i));
19  }
20  return vec;
21 }
_dgematrix i(const _dgbmatrix &mat)
_zcovector conj(const _zcovector &vec)
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zrovector conjt ( const _zcovector covec)
friend

return a conjugate transposed row vector

Definition at line 25 of file _zcovector-calc.hpp.

26 {CPPL_VERBOSE_REPORT;
27  zrovector rovec(covec.l);
28 
29  for(CPPL_INT i=0; i<covec.l; i++){
30  rovec(i) =std::conj(covec(i));
31  }
32 
33  covec.destroy();
34  return _(rovec);
35 }
_dgematrix i(const _dgbmatrix &mat)
_zcovector conj(const _zcovector &vec)
void destroy() const
Complex Double-precision Row Vector Class.
Definition: zrovector.hpp:3
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_dcovector _(dcovector &vec)
double nrm2 ( const _zcovector vec)
friend

return its Euclidean norm

Definition at line 43 of file _zcovector-calc.hpp.

44 {CPPL_VERBOSE_REPORT;
45  CPPL_INT inc =1;
46  double val =dznrm2_(&vec.l, vec.array, &inc);
47  vec.destroy();
48  return val;
49 }
void destroy() const
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
CPPL_INT idamax ( const _zcovector vec)
friend

return the index of element having the largest absolute value in 0-based numbering system

Definition at line 54 of file _zcovector-calc.hpp.

55 {CPPL_VERBOSE_REPORT;
56  CPPL_INT inc =1;
57  CPPL_INT i =izamax_(&vec.l, vec.array, &inc) -1;
58  vec.destroy();
59  return i;
60 }
_dgematrix i(const _dgbmatrix &mat)
void destroy() const
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
comple damax ( const _zcovector vec)
friend

return its largest absolute value

Definition at line 64 of file _zcovector-calc.hpp.

65 {CPPL_VERBOSE_REPORT;
66  CPPL_INT inc =1;
67  comple val =vec.array[izamax_(&vec.l, vec.array, &inc) -1];
68  vec.destroy();
69  return val;
70 }
void destroy() const
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
const _zcovector& operator+ ( const _zcovector vec)
friend

+_zcovector operator

Definition at line 3 of file _zcovector-unary.hpp.

4 {CPPL_VERBOSE_REPORT;
5  return vec;
6 }
_zcovector operator- ( const _zcovector vec)
friend

-_zcovector operator

Definition at line 10 of file _zcovector-unary.hpp.

11 {CPPL_VERBOSE_REPORT;
12  for(CPPL_INT i=0; i<vec.l; i++){ vec.array[i]=-vec.array[i]; }
13  return vec;
14 }
_dgematrix i(const _dgbmatrix &mat)
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator+ ( const _zcovector vecA,
const zcovector vecB 
)
friend

_zcovector+zcovector operator

Definition at line 3 of file _zcovector-zcovector.hpp.

4 {CPPL_VERBOSE_REPORT;
5 #ifdef CPPL_DEBUG
6  if(vecA.l!=vecB.l){
7  ERROR_REPORT;
8  std::cerr << "These two vectors can not make a sumation." << std::endl
9  << "Your input was (" << vecA.l << ") + (" << vecB.l << ")." << std::endl;
10  exit(1);
11  }
12 
13 #endif//CPPL_DEBUG
14 
15  for(CPPL_INT i=0; i<vecA.l; i++){
16  vecA.array[i] += vecB.array[i];
17  }
18 
19  return vecA;
20 }
comple * array
1D array to store vector data
Definition: zcovector.hpp:10
CPPL_INT l
vector size
Definition: zcovector.hpp:9
_dgematrix i(const _dgbmatrix &mat)
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator+ ( const _zcovector vecA,
const _zcovector vecB 
)
friend

_zcovector+_zcovector operator

Definition at line 3 of file _zcovector-_zcovector.hpp.

4 {CPPL_VERBOSE_REPORT;
5 #ifdef CPPL_DEBUG
6  if(vecA.l!=vecB.l){
7  ERROR_REPORT;
8  std::cerr << "These two vectors can not make a sumation." << std::endl
9  << "Your input was (" << vecA.l << ") + (" << vecB.l << ")." << std::endl;
10  exit(1);
11  }
12 #endif//CPPL_DEBUG
13 
14  for(CPPL_INT i=0; i<vecA.l; i++){
15  vecA.array[i] += vecB.array[i];
16  }
17 
18  vecB.destroy();
19  return vecA;
20 }
_dgematrix i(const _dgbmatrix &mat)
void destroy() const
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator- ( const _zcovector vecA,
const zcovector vecB 
)
friend

zcovector-zcovector operator

Definition at line 24 of file _zcovector-zcovector.hpp.

25 {CPPL_VERBOSE_REPORT;
26 #ifdef CPPL_DEBUG
27  if(vecA.l!=vecB.l){
28  ERROR_REPORT;
29  std::cerr << "These two vectors can not make a subtraction." << std::endl
30  << "Your input was (" << vecA.l << ") - (" << vecB.l << ")." << std::endl;
31  exit(1);
32  }
33 #endif//CPPL_DEBUG
34 
35  for(CPPL_INT i=0; i<vecA.l; i++){
36  vecA.array[i] -= vecB.array[i];
37  }
38 
39  return vecA;
40 }
comple * array
1D array to store vector data
Definition: zcovector.hpp:10
CPPL_INT l
vector size
Definition: zcovector.hpp:9
_dgematrix i(const _dgbmatrix &mat)
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator- ( const _zcovector vecA,
const _zcovector vecB 
)
friend

_zcovector-_zcovector operator

Definition at line 24 of file _zcovector-_zcovector.hpp.

25 {CPPL_VERBOSE_REPORT;
26 #ifdef CPPL_DEBUG
27  if(vecA.l!=vecB.l){
28  ERROR_REPORT;
29  std::cerr << "These two vectors can not make a subtraction." << std::endl
30  << "Your input was (" << vecA.l << ") - (" << vecB.l << ")." << std::endl;
31  exit(1);
32  }
33 #endif//CPPL_DEBUG
34 
35  for(CPPL_INT i=0; i<vecA.l; i++){
36  vecA.array[i] -= vecB.array[i];
37  }
38 
39  vecB.destroy();
40  return vecA;
41 }
_dgematrix i(const _dgbmatrix &mat)
void destroy() const
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zgematrix operator* ( const _zcovector covec,
const zrovector rovec 
)
friend

_zcovector*zrovector operator

Definition at line 3 of file _zcovector-zrovector.hpp.

4 {CPPL_VERBOSE_REPORT;
5  zgematrix newmat(covec.l, rovec.l);
6  for(CPPL_INT i=0; i<newmat.m; i++){
7  for(CPPL_INT j=0; j<newmat.n; j++){
8  newmat(i,j) =covec(i)*rovec(j);
9  }
10  }
11 
12  covec.destroy();
13  return _(newmat);
14 }
CPPL_INT l
vector size
Definition: zrovector.hpp:9
_dgematrix i(const _dgbmatrix &mat)
void destroy() const
Complex Double-precision General Dence Matrix Class.
Definition: zgematrix.hpp:3
CPPL_INT m
matrix row size
Definition: _dgematrix.hpp:9
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_dcovector _(dcovector &vec)
_zgematrix operator* ( const _zcovector covec,
const _zrovector rovec 
)
friend

_zcovector*_zrovector operator

Definition at line 3 of file _zcovector-_zrovector.hpp.

4 {CPPL_VERBOSE_REPORT;
5  zgematrix newmat(covec.l, rovec.l);
6  for(CPPL_INT i=0; i<newmat.m; i++){
7  for(CPPL_INT j=0; j<newmat.n; j++){
8  newmat(i,j) =covec(i)*rovec(j);
9  }
10  }
11 
12  covec.destroy();
13  rovec.destroy();
14  return _(newmat);
15 }
void destroy() const
_dgematrix i(const _dgbmatrix &mat)
CPPL_INT l
vector size
Definition: _zrovector.hpp:9
void destroy() const
Complex Double-precision General Dence Matrix Class.
Definition: zgematrix.hpp:3
CPPL_INT m
matrix row size
Definition: _dgematrix.hpp:9
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_dcovector _(dcovector &vec)
_zcovector operator* ( const _zcovector vec,
const double &  d 
)
friend

_zcovector*double operator

Definition at line 3 of file _zcovector-double.hpp.

4 {CPPL_VERBOSE_REPORT;
5  CPPL_INT inc =1;
6  zdscal_(&vec.l, &d, vec.array, &inc);
7  return vec;
8 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator* ( const _zcovector vec,
const comple &  d 
)
friend

_zcovector*comple operator

Definition at line 3 of file _zcovector-complex.hpp.

4 {CPPL_VERBOSE_REPORT;
5  CPPL_INT inc =1;
6  zscal_(&vec.l, &d, vec.array, &inc);
7  return vec;
8 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator/ ( const _zcovector vec,
const double &  d 
)
friend

_zcovector/double operator

Definition at line 12 of file _zcovector-double.hpp.

13 {CPPL_VERBOSE_REPORT;
14  double dinv =1./d;
15  CPPL_INT inc =1;
16  zdscal_(&vec.l, &dinv, vec.array, &inc);
17  return vec;
18 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator/ ( const _zcovector vec,
const comple &  d 
)
friend

_zcovector/comple operator

Definition at line 12 of file _zcovector-complex.hpp.

13 {CPPL_VERBOSE_REPORT;
14  comple dinv =1./d;
15  CPPL_INT inc =1;
16  zscal_(&vec.l, &dinv, vec.array, &inc);
17  return vec;
18 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
comple operator% ( const _zcovector vecA,
const zcovector vecB 
)
friend

zcovector^T*zcovector operator (inner product)

Definition at line 44 of file _zcovector-zcovector.hpp.

45 {CPPL_VERBOSE_REPORT;
46 #ifdef CPPL_DEBUG
47  if(vecA.l!=vecB.l){
48  ERROR_REPORT;
49  std::cerr << "These two vectors can not make a dot product." << std::endl
50  << "Your input was (" << vecA.l << ") % (" << vecB.l << ")." << std::endl;
51  exit(1);
52  }
53 #endif//CPPL_DEBUG
54 
55  CPPL_INT inc =1;
56  comple val =zdotu_( &vecA.l, vecA.array, &inc, vecB.array, &inc );
57 
58  vecA.destroy();
59  return val;
60 }
comple * array
1D array to store vector data
Definition: zcovector.hpp:10
CPPL_INT l
vector size
Definition: zcovector.hpp:9
void destroy() const
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
comple operator% ( const _zcovector vecA,
const _zcovector vecB 
)
friend

_zcovector^T*_zcovector operator (inner product)

Definition at line 45 of file _zcovector-_zcovector.hpp.

46 {CPPL_VERBOSE_REPORT;
47 #ifdef CPPL_DEBUG
48  if(vecA.l!=vecB.l){
49  ERROR_REPORT;
50  std::cerr << "These two vectors can not make a dot product." << std::endl
51  << "Your input was (" << vecA.l << ") % (" << vecB.l << ")." << std::endl;
52  exit(1);
53  }
54 #endif//CPPL_DEBUG
55 
56  CPPL_INT inc =1;
57  comple val =zdotu_( &vecA.l, vecA.array, &inc, vecB.array, &inc );
58 
59  vecA.destroy();
60  vecB.destroy();
61  return val;
62 }
void destroy() const
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator* ( const double &  d,
const _zcovector vec 
)
friend

double*_zcovector operator

Definition at line 3 of file double-_zcovector.hpp.

4 {CPPL_VERBOSE_REPORT;
5  CPPL_INT inc =1;
6  zdscal_(&vec.l, &d, vec.array, &inc);
7  return vec;
8 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9
_zcovector operator* ( const comple &  d,
const _zcovector vec 
)
friend

comple*_zcovector operator

Definition at line 3 of file complex-_zcovector.hpp.

4 {CPPL_VERBOSE_REPORT;
5  CPPL_INT inc =1;
6  zscal_(&vec.l, &d, vec.array, &inc);
7  return vec;
8 }
comple * array
1D array to store vector data
Definition: _zcovector.hpp:10
CPPL_INT l
vector size
Definition: _zcovector.hpp:9

Member Data Documentation

CPPL_INT _zcovector::l
mutable
comple* _zcovector::array
mutable

The documentation for this class was generated from the following files: