Real Double-precision Symmetric Sparse Matrix Class. More...
#include <dssmatrix.hpp>
Public Member Functions | |
dssmatrix () | |
dssmatrix (const dssmatrix &) | |
dssmatrix (const _dssmatrix &) | |
dssmatrix (const CPPL_INT &, const CPPL_INT=0) | |
dssmatrix (const char *) | |
~dssmatrix () | |
_zhsmatrix | to_zhsmatrix () const |
_dgematrix | to_dgematrix () const |
_dsymatrix | to_dsymatrix () const |
_dgsmatrix | to_dgsmatrix () const |
double | operator() (const CPPL_INT &, const CPPL_INT &) const |
double & | operator() (const CPPL_INT &, const CPPL_INT &) |
dssmatrix & | put (const CPPL_INT &, const CPPL_INT &, const double &) |
dssmatrix & | del (const CPPL_INT, const CPPL_INT) |
dssmatrix & | del (const CPPL_INT) |
void | write (const char *) const |
void | read (const char *) |
void | clear () |
dssmatrix & | zero () |
dssmatrix & | identity () |
void | chsign () |
void | copy (const dssmatrix &) |
void | shallow_copy (const _dssmatrix &) |
dssmatrix & | resize (const CPPL_INT &, const CPPL_INT=0, const CPPL_INT=0) |
void | stretch (const CPPL_INT &) |
bool | isListed (const CPPL_INT &, const CPPL_INT &) const |
CPPL_INT | number (const CPPL_INT &, const CPPL_INT &) const |
_drovector | row (const CPPL_INT &) const |
_dcovector | col (const CPPL_INT &) const |
void | diet (const double=DBL_MIN) |
CPPL_INT | diag_front () |
void | reorder (const bool=0) |
void | rebuild () |
void | checkup () |
CPPL_INT | pardiso_definite (dcovector &) const |
CPPL_INT | pardiso_indefinite (dcovector &) const |
dssmatrix & | operator= (const dssmatrix &) |
dssmatrix & | operator= (const _dssmatrix &) |
dssmatrix & | operator+= (const dssmatrix &) |
dssmatrix & | operator+= (const _dssmatrix &) |
dssmatrix & | operator-= (const dssmatrix &) |
dssmatrix & | operator-= (const _dssmatrix &) |
dssmatrix & | operator*= (const double &) |
dssmatrix & | operator/= (const double &) |
Public Attributes | |
CPPL_INT const & | 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 > > | line |
vector of vector to store the entry information of component for each row and column More... | |
Real Double-precision Symmetric Sparse Matrix Class.
Definition at line 3 of file dssmatrix.hpp.
|
inline |
dssmatrix constructor without arguments
Definition at line 3 of file dssmatrix-constructor.hpp.
|
inline |
dssmatrix copy constructor
Definition at line 18 of file dssmatrix-constructor.hpp.
References copy(), data, and line.
|
inline |
dssmatrix constructor to cast _dssmatrix
Definition at line 28 of file dssmatrix-constructor.hpp.
References data, _dssmatrix::data, line, _dssmatrix::line, n, _dssmatrix::n, and _dssmatrix::nullify().
|
inline |
dssmatrix constructor with size specification
Definition at line 47 of file dssmatrix-constructor.hpp.
|
inline |
dssmatrix constructor with filename
Definition at line 68 of file dssmatrix-constructor.hpp.
References data, line, and read().
|
inline |
dssmatrix destructor
Definition at line 84 of file dssmatrix-constructor.hpp.
|
inline |
cast to _zhsmatrix
Definition at line 3 of file dssmatrix-cast.hpp.
References _, data, n, and zhsmatrix::put().
|
inline |
convert to _dgematrix
Definition at line 21 of file dssmatrix-cast.hpp.
References _, data, m, n, and dgematrix::zero().
|
inline |
convert to _dsymatrix
Definition at line 37 of file dssmatrix-cast.hpp.
References _, data, n, and dsymatrix::zero().
|
inline |
convert to _dgsmatrix
Definition at line 52 of file dssmatrix-cast.hpp.
References _, data, m, n, and dgsmatrix::zero().
|
inline |
operator() for const object
Definition at line 3 of file dssmatrix-io.hpp.
|
inline |
operator() for const object
Definition at line 30 of file dssmatrix-io.hpp.
|
inline |
put value with volume cheack without isListed check
Definition at line 66 of file dssmatrix-io.hpp.
References data, isListed(), line, and n.
Referenced by identity(), and read().
|
inline |
delete the entry of a component
Definition at line 100 of file dssmatrix-io.hpp.
Referenced by diet(), and stretch().
|
inline |
delete the entry of an element
Definition at line 159 of file dssmatrix-io.hpp.
References data, i(), and line.
|
inline |
Definition at line 262 of file dssmatrix-io.hpp.
|
inline |
Definition at line 281 of file dssmatrix-io.hpp.
References data, i(), n, put(), and resize().
Referenced by dssmatrix().
|
inline |
clear all the matrix data and set the sizes 0
Definition at line 3 of file dssmatrix-misc.hpp.
|
inline |
change the matrix into a zero matrix
Definition at line 12 of file dssmatrix-misc.hpp.
References data, i(), line, and n.
Referenced by identity().
|
inline |
change the matrix into an identity matrix
Definition at line 21 of file dssmatrix-misc.hpp.
References i(), n, put(), and zero().
|
inline |
|
inline |
make a deep copy of the matrix
Definition at line 42 of file dssmatrix-misc.hpp.
Referenced by dssmatrix(), and operator=().
|
inline |
make a shallow copy of the matrix
This function is not designed to be used in project codes.
Definition at line 52 of file dssmatrix-misc.hpp.
References data, _dssmatrix::data, line, _dssmatrix::line, n, _dssmatrix::n, and _dssmatrix::nullify().
Referenced by operator=().
|
inline |
resize the matrix
Definition at line 66 of file dssmatrix-misc.hpp.
References data, i(), line, and n.
Referenced by read().
|
inline |
stretch the matrix size
Definition at line 91 of file dssmatrix-misc.hpp.
References data, del(), i(), line, and n.
|
inline |
check if the component is listed
Definition at line 129 of file dssmatrix-misc.hpp.
Referenced by put().
|
inline |
return the element number of the component
Definition at line 152 of file dssmatrix-misc.hpp.
Referenced by operator<<().
|
inline |
get row of the matrix
Definition at line 179 of file dssmatrix-misc.hpp.
References _, data, i(), line, m, n, and drovector::zero().
|
inline |
get column of the matrix
Definition at line 207 of file dssmatrix-misc.hpp.
References _, data, i(), line, m, n, and dcovector::zero().
|
inline |
|
inline |
|
inline |
reorder components so that all diagonal componets are placed in front
reorder components
Definition at line 295 of file dssmatrix-misc.hpp.
References data, dcomponent::ilt(), dcomponent::jlt(), and rebuild().
|
inline |
rebuild line
Definition at line 310 of file dssmatrix-misc.hpp.
References data, i(), line, and n.
Referenced by reorder().
|
inline |
health checkup
Definition at line 333 of file dssmatrix-misc.hpp.
References data, i(), line, and n.
|
inline |
solve A*x=b for real and symmetric positive definite 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 dssmatrix-pardiso.hpp.
References dcovector::array, data, i(), dcovector::l, line, m, n, and swap.
|
inline |
solve A*x=b for real and symmetric indefinite matrix using Intel PARDISO.
The argument is dcovector b. b is overwritten and become the solution x. A is not overwritten.
Definition at line 101 of file dssmatrix-pardiso.hpp.
References dcovector::array, data, i(), dcovector::l, line, m, n, and swap.
|
inline |
dssmatrix=_dssmatrix operator
Definition at line 3 of file dssmatrix-_dssmatrix.hpp.
References shallow_copy().
|
inline |
dssmatrix+=_dssmatrix operator
Definition at line 15 of file dssmatrix-_dssmatrix.hpp.
References _dssmatrix::data, _dssmatrix::destroy(), n, and _dssmatrix::n.
|
inline |
dssmatrix-=_dssmatrix operator
Definition at line 37 of file dssmatrix-_dssmatrix.hpp.
References _dssmatrix::data, _dssmatrix::destroy(), n, and _dssmatrix::n.
|
inline |
|
inline |
|
friend |
Definition at line 228 of file dssmatrix-io.hpp.
swap two matrices
Definition at line 390 of file dssmatrix-misc.hpp.
Referenced by pardiso_definite(), and pardiso_indefinite().
|
friend |
convert user object to smart-temporary object
Definition at line 399 of file dssmatrix-misc.hpp.
Referenced by col(), row(), to_dgematrix(), to_dgsmatrix(), to_dsymatrix(), and to_zhsmatrix().
|
friend |
|
friend |
search the index of element having the largest absolute value in 0-based numbering system
Definition at line 21 of file dssmatrix-calc.hpp.
|
friend |
+dssmatrix operator
Definition at line 3 of file dssmatrix-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 |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
CPPL_INT const& dssmatrix::m |
matrix row size
Definition at line 9 of file dssmatrix.hpp.
Referenced by col(), operator*(), pardiso_definite(), pardiso_indefinite(), row(), to_dgematrix(), and to_dgsmatrix().
CPPL_INT dssmatrix::n |
matrix column size
Definition at line 10 of file dssmatrix.hpp.
Referenced by _(), checkup(), clear(), col(), copy(), del(), dssmatrix(), identity(), isListed(), number(), operator()(), operator*(), operator+(), operator+=(), operator-(), operator-=(), operator<<(), pardiso_definite(), pardiso_indefinite(), put(), read(), rebuild(), resize(), row(), shallow_copy(), stretch(), swap(), to_dgematrix(), to_dgsmatrix(), to_dsymatrix(), to_zhsmatrix(), write(), and zero().
std::vector<dcomponent> dssmatrix::data |
matrix data
Definition at line 11 of file dssmatrix.hpp.
Referenced by _(), checkup(), chsign(), clear(), col(), copy(), damax(), del(), diet(), dssmatrix(), idamax(), isListed(), number(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), pardiso_definite(), pardiso_indefinite(), put(), read(), rebuild(), reorder(), resize(), row(), shallow_copy(), stretch(), swap(), to_dgematrix(), to_dgsmatrix(), to_dsymatrix(), to_zhsmatrix(), write(), zero(), and ~dssmatrix().
std::vector< std::vector<CPPL_INT> > dssmatrix::line |
vector of vector to store the entry information of component for each row and column
Definition at line 12 of file dssmatrix.hpp.
Referenced by _(), checkup(), clear(), col(), copy(), del(), dssmatrix(), isListed(), number(), operator()(), pardiso_definite(), pardiso_indefinite(), put(), rebuild(), resize(), row(), shallow_copy(), stretch(), swap(), zero(), and ~dssmatrix().