|
MPQC
2.3.1
|
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization. More...
#include <matrix.h>


Public Member Functions | |
| RefSymmSCMatrix () | |
| Initializes the matrix pointer to 0. More... | |
| RefSymmSCMatrix (const RefSymmSCMatrix &m) | |
| Make this and m refer to the same SCMatrix. | |
| RefSymmSCMatrix (SymmSCMatrix *m) | |
| Make this refer to m. | |
| RefSymmSCMatrix & | operator= (SymmSCMatrix *m) |
| Make this refer to m. | |
| RefSymmSCMatrix & | operator= (const RefSymmSCMatrix &m) |
| Make this and m refer to the same matrix. | |
| RefSymmSCMatrix (const RefSCDimension &d, const Ref< SCMatrixKit > &) | |
| Create a vector with dimension d by d. More... | |
| RefSCMatrix | operator* (const RefSCMatrix &) const |
| Multiply this by a matrix and return a matrix. | |
| RefSCMatrix | operator* (const RefSymmSCMatrix &) const |
| RefSCVector | operator* (const RefSCVector &a) const |
| Multiply this by a vector and return a vector. | |
| RefSymmSCMatrix | operator* (double) const |
| RefSymmSCMatrix | operator+ (const RefSymmSCMatrix &) const |
| Matrix addition and subtraction. | |
| RefSymmSCMatrix | operator- (const RefSymmSCMatrix &) const |
| RefSymmSCMatrix | i () const |
| Return the inverse of this. | |
| RefSymmSCMatrix | gi () const |
| Return the generalized inverse of this. | |
| RefSymmSCMatrix | clone () const |
| These call the SCMatrix members of the same name after checking for references to 0. | |
| RefSymmSCMatrix | copy () const |
| void | set_element (int, int, double) const |
| void | accumulate_element (int, int, double) const |
| double | get_element (int, int) const |
| RefSCMatrix | get_subblock (int br, int er, int bc, int ec) |
| RefSymmSCMatrix | get_subblock (int br, int er) |
| void | assign_subblock (const RefSCMatrix &, int br, int er, int bc, int ec) |
| void | assign_subblock (const RefSymmSCMatrix &, int br, int er) |
| void | accumulate_subblock (const RefSCMatrix &, int, int, int, int) |
| void | accumulate_subblock (const RefSymmSCMatrix &, int, int) |
| RefSCVector | get_row (int) |
| void | assign_row (const RefSCVector &, int) |
| void | accumulate_row (const RefSCVector &, int) |
| void | accumulate_symmetric_outer_product (const RefSCVector &) const |
| double | scalar_product (const RefSCVector &) const |
| void | accumulate_symmetric_product (const RefSCMatrix &) const |
| void | accumulate_symmetric_sum (const RefSCMatrix &) const |
| void | accumulate_transform (const RefSCMatrix &a, const RefSymmSCMatrix &b, SCMatrix::Transform=SCMatrix::NormalTransform) const |
| Add a * b * a.t() to this. | |
| void | accumulate_transform (const RefSCMatrix &a, const RefDiagSCMatrix &b, SCMatrix::Transform=SCMatrix::NormalTransform) const |
| void | accumulate_transform (const RefSymmSCMatrix &a, const RefSymmSCMatrix &b) const |
| void | randomize () const |
| void | assign (const RefSymmSCMatrix &) const |
| void | scale (double) 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 RefSymmSCMatrix &) const |
| void | element_op (const Ref< SCElementOp > &) const |
| void | element_op (const Ref< SCElementOp2 > &, const RefSymmSCMatrix &) const |
| void | element_op (const Ref< SCElementOp3 > &, const RefSymmSCMatrix &, const RefSymmSCMatrix &) const |
| double | trace () const |
| int | n () const |
| RefSCDimension | dim () const |
| Ref< SCMatrixKit > | kit () const |
| void | print (std::ostream &) const |
| void | print (const char *title=0, std::ostream &out=ExEnv::out0(), int=10) const |
| void | save (StateOut &) |
| void | restore (StateIn &) |
| Restores the matrix from StateIn object. The matrix must have been initialized already. | |
| double | solve_lin (const RefSCVector &) const |
| Solves this x = v. More... | |
| double | determ () const |
| Returns the determinant of the referenced matrix. | |
| RefDiagSCMatrix | eigvals () const |
| Returns the eigenvalues of the reference matrix. | |
| RefSCMatrix | eigvecs () const |
| Returns the eigenvectors of the reference matrix. | |
| void | diagonalize (const RefDiagSCMatrix &eigvals, const RefSCMatrix &eigvecs) const |
| Sets eigvals to the eigenvalues and eigvecs to the eigenvalues and eigenvectors of the referenced matrix. More... | |
| SymmSCMatrixdouble | operator() (int i, int j) const |
| Assign and examine matrix elements. | |
| int | nblock () const |
| If this matrix is blocked return the number of blocks. More... | |
| RefSymmSCMatrix | block (int i) const |
| If this matrix is blocked return block i. More... | |
Public Member Functions inherited from sc::Ref< SymmSCMatrix > | |
| Ref () | |
| Create a reference to a null object. | |
| Ref (SymmSCMatrix *a) | |
| Create a reference to the object a. | |
| Ref (const Ref< SymmSCMatrix > &a) | |
| Create a reference to the object referred to by a. | |
| Ref (const Ref< A > &a) | |
| Create a reference to the object referred to by a. | |
| ~Ref () | |
| Create a reference to the object a. More... | |
| SymmSCMatrix * | operator-> () const |
| Returns the reference counted object. More... | |
| SymmSCMatrix * | pointer () const |
| Returns a pointer the reference counted object. | |
| RefCount * | parentpointer () const |
| Implements the parentpointer pure virtual in the base class. | |
| operator SymmSCMatrix * () const | |
| SymmSCMatrix & | operator* () const |
| Returns a C++ reference to the reference counted object. More... | |
| int | null () const |
| Return 1 if this is a reference to a null object. More... | |
| int | nonnull () const |
| Return !null(). | |
| int | operator== (const Ref< A > &a) const |
| A variety of ordering and equivalence operators are provided using the Identity class. | |
| int | operator>= (const Ref< A > &a) const |
| int | operator<= (const Ref< A > &a) const |
| int | operator> (const Ref< A > &a) const |
| int | operator< (const Ref< A > &a) const |
| int | operator!= (const Ref< A > &a) const |
| int | compare (const Ref< SymmSCMatrix > &a) const |
| Compare two objects returning -1, 0, or 1. More... | |
| void | clear () |
| Refer to the null object. | |
| Ref< SymmSCMatrix > & | operator= (const Ref< SymmSCMatrix > &c) |
| Assignment to c. | |
| Ref< SymmSCMatrix > & | operator= (const Ref< A > &c) |
| Assignment to c. | |
| Ref< SymmSCMatrix > & | operator= (SymmSCMatrix *cr) |
| Assignment to cr. | |
| Ref< SymmSCMatrix > & | operator<< (const RefBase &a) |
| Assignment to the object that a references using dynamic_cast. | |
| Ref< SymmSCMatrix > & | operator<< (RefCount *a) |
| Assigns to the given base class pointer using dynamic_cast. More... | |
| void | assign_pointer (SymmSCMatrix *cr) |
| Assignment to cr. | |
| void | check_pointer () const |
| Check the validity of the pointer. | |
| void | ref_info (std::ostream &os) const |
| Print information about the reference to os. | |
| void | warn (const char *s) const |
| Print a warning concerning the reference. | |
Public Member Functions inherited from sc::RefBase | |
| void | require_nonnull () const |
| Requires that a nonnull reference is held. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from sc::RefBase | |
| void | warn (const char *msg) const |
| Print a warning message. | |
| void | warn_ref_to_stack () const |
| Called when stack data is referenced. | |
| void | warn_skip_stack_delete () const |
| Called when the deletion of stack data is skipped. | |
| void | warn_bad_ref_count () const |
| Called when the reference count is corrupted. | |
| void | ref_info (RefCount *p, std::ostream &os) const |
| Print information about the reference. | |
| void | ref_info (std::ostream &os) const |
| void | check_pointer () const |
| void | reference (RefCount *) |
| int | dereference (RefCount *) |
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
| sc::RefSymmSCMatrix::RefSymmSCMatrix | ( | ) |
Initializes the matrix pointer to 0.
The reference must be initialized before it is used.
| sc::RefSymmSCMatrix::RefSymmSCMatrix | ( | const RefSCDimension & | d, |
| const Ref< SCMatrixKit > & | |||
| ) |
Create a vector with dimension d by d.
The data values are undefined.
| RefSymmSCMatrix sc::RefSymmSCMatrix::block | ( | int | i | ) | const |
If this matrix is blocked return block i.
Otherwise return this as block 0.
| void sc::RefSymmSCMatrix::diagonalize | ( | const RefDiagSCMatrix & | eigvals, |
| const RefSCMatrix & | eigvecs | ||
| ) | const |
Sets eigvals to the eigenvalues and eigvecs to the eigenvalues and eigenvectors of the referenced matrix.
The result satisfies eigvecs * eigvals * eigvecs.t() = (*this).
| int sc::RefSymmSCMatrix::nblock | ( | ) | const |
If this matrix is blocked return the number of blocks.
Otherwise return 1.
| double sc::RefSymmSCMatrix::solve_lin | ( | const RefSCVector & | ) | const |
Solves this x = v.
Overwrites v with x.