Playa::DenseSerialMatrix Class Reference

Inheritance diagram for Playa::DenseSerialMatrix:

Playa::LinearOpWithSpaces< double > Playa::LoadableMatrix< double > Playa::Printable Playa::LinearOperatorBase< double > Playa::ObjectWithVerbosity

List of all members.

Public Member Functions

 DenseSerialMatrix (const VectorSpace< double > &domain, const VectorSpace< double > &range)
 ~DenseSerialMatrix ()
virtual void apply (Teuchos::ETransp transApplyType, const Vector< double > &in, Vector< double > out) const
virtual void addToRow (int globalRowIndex, int nElemsToInsert, const int *globalColumnIndices, const double *elementValues)
virtual void zero ()
void print (std::ostream &os) const
const double *const dataPtr () const
double * dataPtr ()
int numRows () const
int numCols () const
void setRow (int row, const Array< double > &rowVals)

Private Attributes

int nRows_
int nCols_
Array< double > data_

Related Functions

(Note that these are not member functions.)

void denseSVD (const LinearOperator< double > &A, LinearOperator< double > &U, Vector< double > &Sigma, LinearOperator< double > &Vt)
SolverState< double > denseSolve (const LinearOperator< double > &A, const Vector< double > &b, Vector< double > &x)

Detailed Description

Linear operator implemented as a dense matrix.

Definition at line 30 of file PlayaDenseSerialMatrix.hpp.

Constructor & Destructor Documentation

DenseSerialMatrix::DenseSerialMatrix ( const VectorSpace< double > &  domain,
const VectorSpace< double > &  range 

Construct with domain and range spaces, which should be DenseSerialVectorSpace objects

Definition at line 35 of file PlayaDenseSerialMatrix.cpp.

Playa::DenseSerialMatrix::~DenseSerialMatrix (  )  [inline]

Virtual dtor

Definition at line 42 of file PlayaDenseSerialMatrix.hpp.

Member Function Documentation

void DenseSerialMatrix::addToRow ( int  globalRowIndex,
int  nElemsToInsert,
const int *  globalColumnIndices,
const double *  elementValues 
) [virtual]

Insert a set of elements in a row, adding to any previously existing values. The nonzero structure of the matrix must have been determined at construction time.

globalRowIndex the global index of the row to which these elements belong.
nElemsToInsert the number of elements being inserted in this step
globalColumnIndices array of column indices. Must be nElemsToInsert in length.
elements array of element values. Must be nElemsToInsert in length

Implements Playa::LoadableMatrix< double >.

Definition at line 59 of file PlayaDenseSerialMatrix.cpp.

References data_, and numRows().

void DenseSerialMatrix::apply ( Teuchos::ETransp  transApplyType,
const Vector< double > &  in,
Vector< double >  out 
) const [virtual]

Apply either the operator or its transpose

Implements Playa::LinearOperatorBase< double >.

Definition at line 45 of file PlayaDenseSerialMatrix.cpp.

References Playa::SerialVector::dataPtr(), dataPtr(), Playa::SerialVector::getConcrete(), numCols(), and numRows().

double* Playa::DenseSerialMatrix::dataPtr (  )  [inline]

Definition at line 81 of file PlayaDenseSerialMatrix.hpp.

References data_.

const double* const Playa::DenseSerialMatrix::dataPtr (  )  const [inline]

Definition at line 78 of file PlayaDenseSerialMatrix.hpp.

References data_.

Referenced by apply(), Playa::denseSolve(), and Playa::denseSVD().

int Playa::DenseSerialMatrix::numCols (  )  const [inline]

Definition at line 87 of file PlayaDenseSerialMatrix.hpp.

References nCols_.

Referenced by apply(), Playa::denseSVD(), print(), and setRow().

int Playa::DenseSerialMatrix::numRows (  )  const [inline]

Definition at line 84 of file PlayaDenseSerialMatrix.hpp.

References nRows_.

Referenced by addToRow(), apply(), Playa::denseSolve(), Playa::denseSVD(), print(), and setRow().

void DenseSerialMatrix::print ( std::ostream &  os  )  const [virtual]

write to a stream

Implements Playa::Printable.

Definition at line 79 of file PlayaDenseSerialMatrix.cpp.

References data_, numCols(), and numRows().

void DenseSerialMatrix::setRow ( int  row,
const Array< double > &  rowVals 

Definition at line 105 of file PlayaDenseSerialMatrix.cpp.

References data_, numCols(), and numRows().

void DenseSerialMatrix::zero (  )  [virtual]

Set all elements to zero, preserving the existing structure

Implements Playa::LoadableMatrix< double >.

Definition at line 73 of file PlayaDenseSerialMatrix.cpp.

References data_.

Friends And Related Function Documentation

SolverState< double > denseSolve ( const LinearOperator< double > &  A,
const Vector< double > &  b,
Vector< double > &  x 
) [related]

Definition at line 122 of file PlayaDenseSerialMatrix.cpp.

void denseSVD ( const LinearOperator< double > &  A,
LinearOperator< double > &  U,
Vector< double > &  Sigma,
LinearOperator< double > &  Vt 
) [related]

Definition at line 159 of file PlayaDenseSerialMatrix.cpp.

Member Data Documentation

Array<double> Playa::DenseSerialMatrix::data_ [private]

Definition at line 97 of file PlayaDenseSerialMatrix.hpp.

Referenced by addToRow(), dataPtr(), print(), setRow(), and zero().

Definition at line 96 of file PlayaDenseSerialMatrix.hpp.

Referenced by numCols().

Definition at line 95 of file PlayaDenseSerialMatrix.hpp.

Referenced by numRows().

Site Contact