man sc_RefSymmSCMatrix (Fonctions bibliothèques) - The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.

NAME

sc::RefSymmSCMatrix - The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.

SYNOPSIS



#include <matrix.h>

Inherits sc::Ref< SymmSCMatrix >.

Public Member Functions

RefSymmSCMatrix ()

Initializes the matrix pointer to 0. 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. 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. 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. 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. RefSymmSCMatrix block (int i) const

If this matrix is blocked return block i.

Detailed Description

The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.

Constructor & Destructor Documentation

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.

Member Function Documentation

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.

Author

Generated automatically by Doxygen for MPQC from the source code.