Real Double-precision General Sparse Matrix Class. More...
#include <dgsmatrix.hpp>
Public Member Functions | |
dgsmatrix () | |
dgsmatrix (const dgsmatrix &) | |
dgsmatrix (const _dgsmatrix &) | |
dgsmatrix (const CPPL_INT &, const CPPL_INT &, const CPPL_INT=0) | |
dgsmatrix (const char *) | |
~dgsmatrix () | |
_zgsmatrix | to_zgsmatrix () const |
_dgematrix | to_dgematrix () const |
dgrmatrix | to_dgrmatrix () const |
double | operator() (const CPPL_INT &, const CPPL_INT &) const |
double & | operator() (const CPPL_INT &, const CPPL_INT &) |
dgsmatrix & | put (const CPPL_INT &, const CPPL_INT &, const double &) |
dgsmatrix & | del (const CPPL_INT, const CPPL_INT) |
dgsmatrix & | del (const CPPL_INT) |
void | write (const char *) const |
void | read (const char *) |
void | clear () |
dgsmatrix & | zero () |
dgsmatrix & | identity () |
void | chsign () |
void | copy (const dgsmatrix &) |
void | shallow_copy (const _dgsmatrix &) |
dgsmatrix & | resize (const CPPL_INT &, const CPPL_INT &, const CPPL_INT=0, const CPPL_INT=0) |
void | stretch (const CPPL_INT &, const CPPL_INT &) |
bool | isListed (const CPPL_INT &, const CPPL_INT &) const |
CPPL_INT | number (const CPPL_INT &, const CPPL_INT &) |
void | diet (const double=DBL_MIN) |
void | checkup () |
_drovector | row (const CPPL_INT &) const |
_dcovector | col (const CPPL_INT &) const |
CPPL_INT | pardiso (dcovector &) const |
dgsmatrix & | operator= (const dgsmatrix &) |
dgsmatrix & | operator= (const _dgsmatrix &) |
dgsmatrix & | operator+= (const dgsmatrix &) |
dgsmatrix & | operator+= (const _dgsmatrix &) |
dgsmatrix & | operator-= (const dgsmatrix &) |
dgsmatrix & | operator-= (const _dgsmatrix &) |
dgsmatrix & | operator*= (const dgsmatrix &) |
dgsmatrix & | operator*= (const _dgsmatrix &) |
dgsmatrix & | operator*= (const double &) |
dgsmatrix & | operator/= (const double &) |
Public Attributes | |
CPPL_INT | m |
matrix row size More... | |
CPPL_INT | n |
matrix column size More... | |
std::vector< dcomponent > | data |
matrix data More... | |
std::vector< std::vector < CPPL_INT > > | rows |
array of vector to store the entry information of component for each row More... | |
std::vector< std::vector < CPPL_INT > > | cols |
array of vector to store the entry information of component for each column More... | |
Real Double-precision General Sparse Matrix Class.
Definition at line 3 of file dgsmatrix.hpp.
|
inline |
dgsmatrix constructor without arguments
Definition at line 3 of file dgsmatrix-constructor.hpp.
References cols, data, m, n, and rows.
|
inline |
dgsmatrix copy constructor
Definition at line 19 of file dgsmatrix-constructor.hpp.
References cols, copy(), data, m, n, and rows.
|
inline |
dgsmatrix constructor to cast _dgsmatrix
Definition at line 31 of file dgsmatrix-constructor.hpp.
References cols, _dgsmatrix::cols, _dgsmatrix::data, data, m, _dgsmatrix::m, _dgsmatrix::n, n, _dgsmatrix::nullify(), rows, and _dgsmatrix::rows.
|
inline |
dgsmatrix constructor with size specification
Definition at line 52 of file dgsmatrix-constructor.hpp.
References cols, data, m, n, and rows.
|
inline |
dgsmatrix constructor with filename
Definition at line 74 of file dgsmatrix-constructor.hpp.
References cols, data, read(), and rows.
|
inline |
dgsmatrix destructor
Definition at line 90 of file dgsmatrix-constructor.hpp.
References cols, data, and rows.
|
inline |
cast to _zgsmatrix
Definition at line 3 of file dgsmatrix-cast.hpp.
References _, data, m, n, and zgsmatrix::put().
|
inline |
convert to _dgematrix
Definition at line 21 of file dgsmatrix-cast.hpp.
References _, data, m, n, and dgematrix::zero().
Referenced by operator+(), and operator-().
|
inline |
convert to dgrmatrix
Definition at line 40 of file dgsmatrix-cast.hpp.
References dgrmatrix::a, data, i(), dgrmatrix::ia, dgrmatrix::ja, dgrmatrix::m, m, dgrmatrix::n, n, and rows.
|
inline |
operator() for const object
Definition at line 3 of file dgsmatrix-io.hpp.
References data, i(), m, n, and rows.
|
inline |
operator() for const object
Definition at line 26 of file dgsmatrix-io.hpp.
References cols, data, i(), m, n, and rows.
|
inline |
put value with volume cheack without isListed check
Definition at line 56 of file dgsmatrix-io.hpp.
References cols, data, i(), m, n, and rows.
Referenced by identity(), read(), and _dssmatrix::to_dgsmatrix().
|
inline |
delete the entry of a component
Definition at line 90 of file dgsmatrix-io.hpp.
References cols, data, i(), m, n, and rows.
Referenced by diet(), and stretch().
|
inline |
delete the entry of an element
Definition at line 143 of file dgsmatrix-io.hpp.
References cols, data, i(), and rows.
|
inline |
Definition at line 216 of file dgsmatrix-io.hpp.
|
inline |
Definition at line 235 of file dgsmatrix-io.hpp.
References data, i(), m, n, put(), and resize().
Referenced by dgsmatrix().
|
inline |
clear all the matrix data and set the sizes 0
Definition at line 3 of file dgsmatrix-misc.hpp.
References cols, data, m, n, and rows.
|
inline |
change the matrix into a zero matrix
Definition at line 14 of file dgsmatrix-misc.hpp.
References cols, data, i(), m, n, and rows.
Referenced by identity(), operator*=(), _dssmatrix::to_dgsmatrix(), and dssmatrix::to_dgsmatrix().
|
inline |
change the matrix into an identity matrix
Definition at line 24 of file dgsmatrix-misc.hpp.
References i(), m, n, put(), and zero().
|
inline |
change sign(+/-) of the matrix
Definition at line 44 of file dgsmatrix-misc.hpp.
References data.
Referenced by operator-().
|
inline |
make a deep copy of the matrix
Definition at line 54 of file dgsmatrix-misc.hpp.
References cols, data, m, n, and rows.
Referenced by dgsmatrix(), and operator=().
|
inline |
make a shallow copy of the matrix
This function is not designed to be used in project codes.
Definition at line 66 of file dgsmatrix-misc.hpp.
References cols, _dgsmatrix::cols, _dgsmatrix::data, data, m, _dgsmatrix::m, _dgsmatrix::n, n, _dgsmatrix::nullify(), rows, and _dgsmatrix::rows.
Referenced by operator=().
|
inline |
resize the matrix
Definition at line 83 of file dgsmatrix-misc.hpp.
References cols, data, i(), m, n, and rows.
Referenced by read().
|
inline |
stretch the matrix size
Definition at line 114 of file dgsmatrix-misc.hpp.
References cols, data, del(), i(), m, n, and rows.
|
inline |
check if the component is listed
Definition at line 172 of file dgsmatrix-misc.hpp.
References data, i(), m, n, and rows.
|
inline |
return the element number of the component
Definition at line 193 of file dgsmatrix-misc.hpp.
References data, i(), m, n, and rows.
|
inline |
|
inline |
health checkup
Definition at line 279 of file dgsmatrix-misc.hpp.
References cols, data, i(), m, n, and rows.
|
inline |
get row of the matrix
Definition at line 217 of file dgsmatrix-misc.hpp.
References _, data, m, n, rows, and drovector::zero().
|
inline |
get column of the matrix
Definition at line 241 of file dgsmatrix-misc.hpp.
References _, cols, data, i(), m, n, and dcovector::zero().
|
inline |
solve A*x=b for real and unsymmetric matrix using Intel PARDISO.
The argument is dcovector b. b is overwritten and become the solution x. A is not overwritten.
Definition at line 7 of file dgsmatrix-pardiso.hpp.
References dcovector::array, data, i(), dcovector::l, m, n, rows, and swap.
|
inline |
dgsmatrix=_dgsmatrix operator
Definition at line 3 of file dgsmatrix-_dgsmatrix.hpp.
References shallow_copy().
|
inline |
dgsmatrix+=_dgsmatrix operator
Definition at line 15 of file dgsmatrix-_dgsmatrix.hpp.
References _dgsmatrix::data, _dgsmatrix::destroy(), _dgsmatrix::m, m, n, and _dgsmatrix::n.
|
inline |
dgsmatrix-=_dgsmatrix operator
Definition at line 37 of file dgsmatrix-_dgsmatrix.hpp.
References _dgsmatrix::data, _dgsmatrix::destroy(), _dgsmatrix::m, m, n, and _dgsmatrix::n.
dgsmatrix*=dgsmatrix operator
Definition at line 58 of file dgsmatrix-dgsmatrix.hpp.
References data, m, n, rows, swap, and zero().
|
inline |
dgsmatrix*=_dgsmatrix operator
Definition at line 59 of file dgsmatrix-_dgsmatrix.hpp.
References data, _dgsmatrix::data, _dgsmatrix::destroy(), _dgsmatrix::m, m, n, _dgsmatrix::n, _dgsmatrix::rows, and swap.
|
inline |
|
inline |
|
friend |
Definition at line 193 of file dgsmatrix-io.hpp.
swap two matrices
Definition at line 348 of file dgsmatrix-misc.hpp.
Referenced by operator*=(), and pardiso().
|
friend |
convert user object to smart-temporary object
Definition at line 359 of file dgsmatrix-misc.hpp.
Referenced by col(), row(), to_dgematrix(), and to_zgsmatrix().
|
friend |
return transposed dgsmatrix
Definition at line 3 of file dgsmatrix-calc.hpp.
|
friend |
search the index of element having the largest absolute value in 0-based numbering system
Definition at line 23 of file dgsmatrix-calc.hpp.
|
friend |
+dgsmatrix operator
Definition at line 3 of file dgsmatrix-unary.hpp.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
dgsmatrix*dgsmatrix operator
Definition at line 137 of file dgsmatrix-dgsmatrix.hpp.
|
friend |
dgsmatrix*_dgsmatrix operator
Definition at line 139 of file dgsmatrix-_dgsmatrix.hpp.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
CPPL_INT dgsmatrix::m |
matrix row size
Definition at line 9 of file dgsmatrix.hpp.
Referenced by _(), checkup(), clear(), col(), copy(), del(), dgsmatrix(), identity(), isListed(), number(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator<<(), pardiso(), put(), read(), resize(), row(), shallow_copy(), stretch(), swap(), t(), to_dgematrix(), to_dgrmatrix(), to_zgsmatrix(), write(), and zero().
CPPL_INT dgsmatrix::n |
matrix column size
Definition at line 10 of file dgsmatrix.hpp.
Referenced by _(), checkup(), clear(), col(), copy(), del(), dgsmatrix(), identity(), isListed(), number(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator<<(), pardiso(), put(), read(), resize(), row(), shallow_copy(), stretch(), swap(), t(), to_dgematrix(), to_dgrmatrix(), to_zgsmatrix(), write(), and zero().
std::vector<dcomponent> dgsmatrix::data |
matrix data
Definition at line 11 of file dgsmatrix.hpp.
Referenced by _(), checkup(), chsign(), clear(), col(), copy(), damax(), del(), dgsmatrix(), diet(), idamax(), isListed(), number(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), pardiso(), put(), read(), resize(), row(), shallow_copy(), stretch(), swap(), t(), to_dgematrix(), to_dgrmatrix(), to_zgsmatrix(), write(), zero(), and ~dgsmatrix().
std::vector< std::vector<CPPL_INT> > dgsmatrix::rows |
array of vector to store the entry information of component for each row
Definition at line 12 of file dgsmatrix.hpp.
Referenced by _(), checkup(), clear(), copy(), del(), dgsmatrix(), isListed(), number(), operator()(), operator*(), operator*=(), operator<<(), pardiso(), put(), resize(), row(), shallow_copy(), stretch(), swap(), t(), to_dgrmatrix(), zero(), and ~dgsmatrix().
std::vector< std::vector<CPPL_INT> > dgsmatrix::cols |
array of vector to store the entry information of component for each column
Definition at line 13 of file dgsmatrix.hpp.
Referenced by _(), checkup(), clear(), col(), copy(), del(), dgsmatrix(), operator()(), put(), resize(), shallow_copy(), stretch(), swap(), t(), zero(), and ~dgsmatrix().