CPPLapack
|
Complex Double-precision Column Vector Class. More...
#include <zcovector.hpp>
Public Member Functions | |
zcovector () | |
zcovector (const zcovector &) | |
zcovector (const _zcovector &) | |
zcovector (const long &) | |
zcovector (const char *) | |
~zcovector () | |
comple & | operator() (const long &) |
comple | operator() (const long &) const |
zcovector & | set (const long &, const comple &) |
void | write (const char *) const |
void | read (const char *) |
void | clear () |
zcovector & | zero () |
void | chsign () |
void | copy (const zcovector &) |
void | shallow_copy (const _zcovector &) |
void | alias (const zcovector &) |
void | unalias () |
void | resize (const long &) |
zcovector & | operator= (const zcovector &) |
zcovector & | operator= (const _zcovector &) |
zcovector & | operator+= (const zcovector &) |
zcovector & | operator+= (const _zcovector &) |
zcovector & | operator-= (const zcovector &) |
zcovector & | operator-= (const _zcovector &) |
zcovector & | operator*= (const double &) |
zcovector & | operator*= (const comple &) |
zcovector & | operator/= (const double &) |
zcovector & | operator/= (const comple &) |
Public Attributes | |
long | l |
vector size | |
comple * | array |
1D array to store vector data | |
Friends | |
std::ostream & | operator<< (std::ostream &, const zcovector &) |
_zrovector | t (const zcovector &) |
_zcovector | conj (const zcovector &) |
_zrovector | conjt (const zcovector &) |
double | nrm2 (const zcovector &) |
long | idamax (const zcovector &) |
comple | damax (const zcovector &) |
void | swap (zcovector &, zcovector &) |
_zcovector | _ (zcovector &) |
const zcovector & | operator+ (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 &) |
Complex Double-precision Column Vector Class.
Definition at line 3 of file zcovector.hpp.
zcovector::zcovector | ( | ) | [inline] |
zcovector::zcovector | ( | const zcovector & | vec | ) | [inline] |
zcovector::zcovector | ( | const _zcovector & | vec | ) | [inline] |
zcovector constructor to cast _zcovector
Definition at line 24 of file zcovector-constructor.hpp.
References array, _zcovector::array, _zcovector::l, l, and _zcovector::nullify().
zcovector::zcovector | ( | const long & | _l | ) | [inline] |
zcovector constructor with size specification
Definition at line 35 of file zcovector-constructor.hpp.
zcovector::zcovector | ( | const char * | filename | ) | [inline] |
zcovector::~zcovector | ( | ) | [inline] |
zcovector destructor
Definition at line 67 of file zcovector-constructor.hpp.
References array.
{VERBOSE_REPORT; //////// delete array //////// delete [] array; }
comple & zcovector::operator() | ( | const long & | i | ) | [inline] |
operator() for non-const object
Definition at line 3 of file zcovector-io.hpp.
comple zcovector::operator() | ( | const long & | i | ) | const [inline] |
operator() for const object
Definition at line 19 of file zcovector-io.hpp.
zcovector & zcovector::set | ( | const long & | i, |
const comple & | v | ||
) | [inline] |
set value for const object
Definition at line 39 of file zcovector-io.hpp.
void zcovector::write | ( | const char * | filename | ) | const [inline] |
Definition at line 73 of file zcovector-io.hpp.
References i(), l, and operator()().
{VERBOSE_REPORT; std::ofstream ofs(filename, std::ios::trunc); ofs.setf(std::cout.flags()); ofs.precision(std::cout.precision()); ofs.width(std::cout.width()); ofs.fill(std::cout.fill()); ofs << "#zcovector" << " " << l << std::endl; for(long i=0; i<l; i++){ ofs << operator()(i) << std::endl; } ofs.close(); }
void zcovector::read | ( | const char * | filename | ) | [inline] |
Definition at line 90 of file zcovector-io.hpp.
References i(), l, operator()(), and resize().
Referenced by zcovector().
{VERBOSE_REPORT; std::ifstream s(filename); if(!s){ ERROR_REPORT; std::cerr << "The file \"" << filename << "\" can not be opened." << std::endl; exit(1); } std::string id; s >> id; if( id != "zcovector" && id != "#zcovector" ){ ERROR_REPORT; std::cerr << "The type name of the file \"" << filename << "\" is not zcovector." << std::endl << "Its type name was " << id << " ." << std::endl; exit(1); } s >> l; resize(l); for(long i=0; i<l; i++){ s >> operator()(i); } if(s.eof()){ ERROR_REPORT; std::cerr << "There is something is wrong with the file \"" << filename << "\"." << std::endl << "Most likely, there is not enough data components, or a linefeed code or space code is missing at the end of the last line." << std::endl; exit(1); } s >> id; if(!s.eof()){ ERROR_REPORT; std::cerr << "There is something is wrong with the file \"" << filename << "\"." << std::endl << "Most likely, there are extra data components." << std::endl; exit(1); } s.close(); }
void zcovector::clear | ( | ) | [inline] |
clear vector
Definition at line 3 of file zcovector-misc.hpp.
Referenced by zgematrix::zgels(), and zgematrix::zgelss().
zcovector & zcovector::zero | ( | ) | [inline] |
void zcovector::chsign | ( | ) | [inline] |
void zcovector::copy | ( | const zcovector & | vec | ) | [inline] |
void zcovector::shallow_copy | ( | const _zcovector & | vec | ) | [inline] |
make a shallow copy of the vector
This function is not desinged to be used in project codes.
Definition at line 38 of file zcovector-misc.hpp.
References array, _zcovector::array, _zcovector::l, l, and _zcovector::nullify().
Referenced by operator=().
void zcovector::alias | ( | const zcovector & | vec | ) | [inline] |
void zcovector::unalias | ( | ) | [inline] |
void zcovector::resize | ( | const long & | _l | ) | [inline] |
resize vector
Definition at line 69 of file zcovector-misc.hpp.
Referenced by dgematrix::dgeev(), and read().
zcovector & zcovector::operator= | ( | const _zcovector & | vec | ) | [inline] |
zcovector=_zcovector operator
Definition at line 3 of file zcovector-_zcovector.hpp.
References shallow_copy().
{VERBOSE_REPORT; shallow_copy(vec); return *this; }
zcovector+=zcovector operator
Definition at line 17 of file zcovector-zcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if( l!=vec.l ){ ERROR_REPORT; std::cerr << "These two vectors can not make a sumation." << std::endl << "Your input was (" << l << ") += (" << vec.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<l; i++){ array[i]+=vec.array[i]; } return *this; }
zcovector & zcovector::operator+= | ( | const _zcovector & | vec | ) | [inline] |
zcovector+=_zcovector operator
Definition at line 15 of file zcovector-_zcovector.hpp.
References array, _zcovector::array, _zcovector::destroy(), i(), l, and _zcovector::l.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if( l!=vec.l ){ ERROR_REPORT; std::cerr << "These two vectors can not make a sumation." << std::endl << "Your input was (" << l << ") += (" << vec.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<l; i++){ array[i]+=vec.array[i]; } vec.destroy(); return *this; }
zcovector operator-=
Definition at line 35 of file zcovector-zcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if( l!=vec.l ){ ERROR_REPORT; std::cerr << "These two vectors can not make a subtraction." << std::endl << "Your input was (" << l << ") -= (" << vec.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<l; i++){ array[i]-=vec.array[i]; } return *this; }
zcovector & zcovector::operator-= | ( | const _zcovector & | vec | ) | [inline] |
zcovector operator-=
Definition at line 34 of file zcovector-_zcovector.hpp.
References array, _zcovector::array, _zcovector::destroy(), i(), l, and _zcovector::l.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if( l!=vec.l ){ ERROR_REPORT; std::cerr << "These two vectors can not make a subtraction." << std::endl << "Your input was (" << l << ") -= (" << vec.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<l; i++){ array[i]-=vec.array[i]; } vec.destroy(); return *this; }
zcovector & zcovector::operator*= | ( | const double & | d | ) | [inline] |
zcovector & zcovector::operator*= | ( | const comple & | d | ) | [inline] |
zcovector & zcovector::operator/= | ( | const double & | d | ) | [inline] |
zcovector & zcovector::operator/= | ( | const comple & | d | ) | [inline] |
std::ostream& operator<< | ( | std::ostream & | s, |
const zcovector & | vec | ||
) | [friend] |
_zrovector t | ( | const zcovector & | covec | ) | [friend] |
_zcovector conj | ( | const zcovector & | vec | ) | [friend] |
_zrovector conjt | ( | const zcovector & | covec | ) | [friend] |
return its Euclidean norm
Definition at line 36 of file zcovector-calc.hpp.
return the index of element having the largest absolute value in 0-based numbering system
Definition at line 44 of file zcovector-calc.hpp.
return its largest absolute value
Definition at line 51 of file zcovector-calc.hpp.
_zcovector _ | ( | zcovector & | vec | ) | [friend] |
convert user object to smart-temporary object
Definition at line 97 of file zcovector-misc.hpp.
+zcovector operator
Definition at line 3 of file zcovector-unary.hpp.
{VERBOSE_REPORT;
return vec;
}
_zcovector operator- | ( | const zcovector & | vec | ) | [friend] |
_zcovector operator+ | ( | const zcovector & | vecA, |
const zcovector & | vecB | ||
) | [friend] |
zcovector+zcovector operator
Definition at line 57 of file zcovector-zcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a sumation." << std::endl << "Your input was (" << vecA.l << ") + (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG zcovector newvec(vecA.l); for(long i=0; i<newvec.l; i++){ newvec.array[i] =vecA.array[i]+vecB.array[i]; } return _(newvec); }
_zcovector operator+ | ( | const zcovector & | vecA, |
const _zcovector & | vecB | ||
) | [friend] |
zcovector+zcovector operator
Definition at line 57 of file zcovector-_zcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a sumation." << std::endl << "Your input was (" << vecA.l << ") + (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<vecA.l; i++){ vecB.array[i]+=vecA.array[i]; } return vecB; }
_zcovector operator- | ( | const zcovector & | vecA, |
const zcovector & | vecB | ||
) | [friend] |
zcovector-zcovector operator
Definition at line 79 of file zcovector-zcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a subtraction." << std::endl << "Your input was (" << vecA.l << ") - (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG zcovector newvec(vecA.l); for(long i=0; i<newvec.l; i++){ newvec.array[i] =vecA.array[i]-vecB.array[i]; } return _(newvec); }
_zcovector operator- | ( | const zcovector & | vecA, |
const _zcovector & | vecB | ||
) | [friend] |
zcovector-zcovector operator
Definition at line 75 of file zcovector-_zcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a subtraction." << std::endl << "Your input was (" << vecA.l << ") - (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<vecA.l; i++){ vecB.array[i] =vecA.array[i]-vecB.array[i]; } return vecB; }
_zgematrix operator* | ( | const zcovector & | covec, |
const zrovector & | rovec | ||
) | [friend] |
_zgematrix operator* | ( | const zcovector & | covec, |
const _zrovector & | rovec | ||
) | [friend] |
_zcovector operator* | ( | const zcovector & | vec, |
const double & | d | ||
) | [friend] |
_zcovector operator* | ( | const zcovector & | vec, |
const comple & | d | ||
) | [friend] |
_zcovector operator/ | ( | const zcovector & | vec, |
const double & | d | ||
) | [friend] |
_zcovector operator/ | ( | const zcovector & | vec, |
const comple & | d | ||
) | [friend] |
zcovector^T*zcovector operator (inner product)
Definition at line 100 of file zcovector-zcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a dot product." << std::endl << "Your input was (" << vecA.l << ") % (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG comple val( zdotu_( vecA.l, vecA.array, 1, vecB.array, 1 ) ); return val; }
comple operator% | ( | const zcovector & | vecA, |
const _zcovector & | vecB | ||
) | [friend] |
zcovector^T*zcovector operator (inner product)
Definition at line 95 of file zcovector-_zcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a dot product." << std::endl << "Your input was (" << vecA.l << ") % (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG comple val( zdotu_( vecA.l, vecA.array, 1, vecB.array, 1 ) ); vecB.destroy(); return val; }
_zcovector operator* | ( | const double & | d, |
const zcovector & | vec | ||
) | [friend] |
_zcovector operator* | ( | const comple & | d, |
const zcovector & | vec | ||
) | [friend] |
long zcovector::l |
vector size
Definition at line 9 of file zcovector.hpp.
Referenced by _(), alias(), chsign(), clear(), conj(), conjt(), copy(), damax(), idamax(), nrm2(), operator%(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), read(), resize(), set(), shallow_copy(), swap(), t(), unalias(), write(), zcovector(), zcovector_small< l >::zcovector_small(), zero(), zgbmatrix::zgbsv(), zgematrix::zgels(), zgematrix::zgelss(), zgematrix::zgesv(), and zhematrix::zhesv().
comple* zcovector::array |
1D array to store vector data
Definition at line 10 of file zcovector.hpp.
Referenced by _(), alias(), chsign(), clear(), copy(), damax(), idamax(), nrm2(), operator%(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), resize(), set(), shallow_copy(), swap(), t(), _dcovector::to_zcovector(), dcovector::to_zcovector(), unalias(), zcovector(), zcovector_small< l >::zcovector_small(), zero(), zgbmatrix::zgbsv(), zgematrix::zgels(), zgematrix::zgelss(), zgematrix::zgesv(), zhematrix::zhesv(), and ~zcovector().