#include <matrix.h>
Inheritance diagram for sc::RefSCMatrix:
Public Member Functions | |
RefSCMatrix () | |
Initializes the matrix pointer to 0. | |
RefSCMatrix (const RefSCMatrix &m) | |
Make this and m refer to the same SCMatrix. | |
RefSCMatrix (SCMatrix *m) | |
Make this refer to m. | |
RefSCMatrix & | operator= (SCMatrix *m) |
Make this refer to m. | |
RefSCMatrix & | operator= (const RefSCMatrix &m) |
Make this and m refer to the same matrix. | |
RefSCMatrix (const RefSCDimension &d1, const RefSCDimension &d2, const Ref< SCMatrixKit > &) | |
Create a vector with dimension d1 by d2. | |
RefSCVector | operator * (const RefSCVector &) const |
Multiply this by a vector and return a vector. | |
RefSCMatrix | operator * (const RefSCMatrix &) const |
Multiply this by a matrix and return a matrix. | |
RefSCMatrix | operator * (const RefSymmSCMatrix &) const |
RefSCMatrix | operator * (const RefDiagSCMatrix &) const |
RefSCMatrix | operator * (double) const |
Multiply this by a scalar and return the result. | |
RefSCMatrix | operator+ (const RefSCMatrix &) const |
Matrix addition. | |
RefSCMatrix | operator- (const RefSCMatrix &) const |
Matrix subtraction. | |
RefSCMatrix | t () const |
Return the transpose of this. | |
RefSCMatrix | i () const |
Return the inverse of this. | |
RefSCMatrix | gi () const |
Return the generalized inverse of this. | |
RefSCMatrix | clone () const |
These call the SCMatrix members of the same name after checking for references to 0. | |
RefSCMatrix | copy () const |
RefSCMatrix | get_subblock (int br, int er, int bc, int ec) |
void | assign_subblock (const RefSCMatrix &, int br, int er, int bc, int ec, int source_br=0, int source_bc=0) |
void | accumulate_subblock (const RefSCMatrix &, int, int, int, int, int source_br=0, int source_bc=0) |
RefSCVector | get_row (int) const |
RefSCVector | get_column (int) const |
void | assign_row (const RefSCVector &, int) const |
void | assign_column (const RefSCVector &, int) const |
void | accumulate_row (const RefSCVector &, int) const |
void | accumulate_column (const RefSCVector &, int) const |
void | accumulate_outer_product (const RefSCVector &, const RefSCVector &) const |
void | accumulate_product (const RefSCMatrix &, const RefSCMatrix &) const |
void | assign (const RefSCMatrix &) const |
void | scale (double) const |
void | randomize () const |
void | assign (double) const |
void | assign (const double *) const |
void | assign (const double **) const |
void | convert (double *) const |
void | convert (double **) const |
void | accumulate (const RefSCMatrix &) const |
void | accumulate (const RefSymmSCMatrix &) const |
void | accumulate (const RefDiagSCMatrix &) const |
void | element_op (const Ref< SCElementOp > &) const |
void | element_op (const Ref< SCElementOp2 > &, const RefSCMatrix &) const |
void | element_op (const Ref< SCElementOp3 > &, const RefSCMatrix &, const RefSCMatrix &) const |
int | nrow () const |
int | ncol () const |
RefSCDimension | rowdim () const |
RefSCDimension | coldim () const |
Ref< SCMatrixKit > | kit () const |
void | set_element (int, int, double) const |
void | accumulate_element (int, int, double) const |
double | get_element (int, int) const |
void | print (std::ostream &) const |
void | print (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const |
double | trace () const |
void | save (StateOut &) |
void | restore (StateIn &) |
Restores the matrix from StateIn object. The matrix must have been initialized already. | |
void | svd (const RefSCMatrix &U, const RefDiagSCMatrix &sigma, const RefSCMatrix &V) |
Compute the singular value decomposition, this = U sigma V.t(). | |
double | solve_lin (const RefSCVector &v) const |
Solves this x = v. | |
double | determ () const |
Returns the determinant of the referenced matrix. | |
SCMatrixdouble | operator() (int i, int j) const |
Assign and examine matrix elements. | |
int | nblock () const |
If this matrix is blocked return the number of blocks. | |
RefSCMatrix | block (int i) const |
If this matrix is blocked return block i. |
sc::RefSCMatrix::RefSCMatrix | ( | ) |
Initializes the matrix pointer to 0.
The reference must be initialized before it is used.
sc::RefSCMatrix::RefSCMatrix | ( | const RefSCDimension & | d1, | |
const RefSCDimension & | d2, | |||
const Ref< SCMatrixKit > & | ||||
) |
Create a vector with dimension d1 by d2.
The data values are undefined.
RefSCMatrix sc::RefSCMatrix::clone | ( | ) | const |
These call the SCMatrix members of the same name after checking for references to 0.
void sc::RefSCMatrix::svd | ( | const RefSCMatrix & | U, | |
const RefDiagSCMatrix & | sigma, | |||
const RefSCMatrix & | V | |||
) |
Compute the singular value decomposition, this = U sigma V.t().
The dimension of sigma is the smallest dimension of this. U, V, and sigma must already have the correct dimensions and are overwritten.
double sc::RefSCMatrix::solve_lin | ( | const RefSCVector & | v | ) | const |
Solves this x = v.
Overwrites v with x.
int sc::RefSCMatrix::nblock | ( | ) | const |
If this matrix is blocked return the number of blocks.
Otherwise return 1.
RefSCMatrix sc::RefSCMatrix::block | ( | int | i | ) | const |
If this matrix is blocked return block i.
Otherwise return this as block 0.