Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType > Class Template Reference

Inheritance diagram for Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >:

Teuchos::CompObject Teuchos::Object Teuchos::BLAS< OrdinalType, ScalarType > List of all members.

Public Member Functions

Constructor/Destructor Methods
 SerialSymDenseMatrix ()
 Default constructor; defines a zero size object.
 SerialSymDenseMatrix (OrdinalType numRowsCols, bool zeroOut=true)
 Basic constructor; defines a matrix of numRowsCols size and (optionally) initializes it.
 SerialSymDenseMatrix (DataAccess CV, bool upper, ScalarType *values, OrdinalType stride, OrdinalType numRowsCols)
 Set object values from two-dimensional array.
 SerialSymDenseMatrix (const SerialSymDenseMatrix< OrdinalType, ScalarType > &Source)
 Teuchos::SerialSymDenseMatrix copy constructor.
 SerialSymDenseMatrix (DataAccess CV, const SerialSymDenseMatrix< OrdinalType, ScalarType > &Source, OrdinalType numRowCols, OrdinalType startRowCol=0)
 Submatrix Copy Constructor.
virtual ~SerialSymDenseMatrix ()
 Teuchos::SerialSymDenseMatrix destructor.
Shaping Methods
int shape (OrdinalType numRowsCols)
 Set dimensions of a Teuchos::SerialSymDenseMatrix object; init values to zero.
int shapeUninitialized (OrdinalType numRowsCols)
 Set dimensions of a Teuchos::SerialSymDenseMatrix object; don't initialize values.
int reshape (OrdinalType numRowsCols)
 Reshape a Teuchos::SerialSymDenseMatrix object.
void setLower ()
 Specify that the lower triangle of the this matrix should be used.
void setUpper ()
 Specify that the upper triangle of the this matrix should be used.
Set methods.
SerialSymDenseMatrix< OrdinalType,
ScalarType > & 
operator= (const SerialSymDenseMatrix< OrdinalType, ScalarType > &Source)
 Copies values from one matrix to another.
SerialSymDenseMatrix< OrdinalType,
ScalarType > & 
assign (const SerialSymDenseMatrix< OrdinalType, ScalarType > &Source)
 Copies values from one matrix to another.
int putScalar (const ScalarType value=Teuchos::ScalarTraits< ScalarType >::zero(), bool fullMatrix=false)
 Set all values in the matrix to a constant value.
int random (const ScalarType bias=0.1 *Teuchos::ScalarTraits< ScalarType >::one())
 Set all values in the active area (upper/lower triangle) of this matrix to be random numbers.
Accessor methods.
ScalarType & operator() (OrdinalType rowIndex, OrdinalType colIndex)
 Element access method (non-const).
const ScalarType & operator() (OrdinalType rowIndex, OrdinalType colIndex) const
 Element access method (const).
ScalarType * values () const
 Returns the pointer to the ScalarType data array contained in the object.
Query methods
bool upper () const
 Returns true if upper triangular part of this matrix has and will be used.
char UPLO () const
 Returns character value of UPLO used by LAPACK routines.
Mathematical Methods
SerialSymDenseMatrix< OrdinalType,
ScalarType > & 
operator *= (const ScalarType alpha)
 Inplace scalar-matrix product A = alpha*A.
SerialSymDenseMatrix< OrdinalType,
ScalarType > & 
operator+= (const SerialSymDenseMatrix< OrdinalType, ScalarType > &Source)
 Add another matrix to this matrix.
SerialSymDenseMatrix< OrdinalType,
ScalarType > & 
operator-= (const SerialSymDenseMatrix< OrdinalType, ScalarType > &Source)
 Subtract another matrix from this matrix.
Comparison methods.
bool operator== (const SerialSymDenseMatrix< OrdinalType, ScalarType > &Operand)
 Equality of two matrices.
bool operator!= (const SerialSymDenseMatrix< OrdinalType, ScalarType > &Operand)
 Inequality of two matrices.
Attribute methods.
OrdinalType numRows () const
 Returns the row dimension of this matrix.
OrdinalType numCols () const
 Returns the column dimension of this matrix.
OrdinalType stride () const
 Returns the stride between the columns of this matrix in memory.
bool empty () const
 Returns whether this matrix is empty.
Norm methods.
ScalarTraits< ScalarType
>::magnitudeType 
normOne () const
 Returns the 1-norm of the matrix.
ScalarTraits< ScalarType
>::magnitudeType 
normInf () const
 Returns the Infinity-norm of the matrix.
ScalarTraits< ScalarType
>::magnitudeType 
normFrobenius () const
 Returns the Frobenius-norm of the matrix.
I/O methods.
virtual void print (std::ostream &os) const
 Print method. Defines the behavior of the std::ostream << operator inherited from the Object class.

Protected Member Functions

void scale (const ScalarType alpha)
void copyMat (bool inputUpper, ScalarType *inputMatrix, OrdinalType inputStride, OrdinalType numRowCols, bool outputUpper, ScalarType *outputMatrix, OrdinalType outputStride, OrdinalType startRowCol, ScalarType alpha=ScalarTraits< ScalarType >::zero())
void copyUPLOMat (bool inputUpper, ScalarType *inputMatrix, OrdinalType inputStride, OrdinalType inputRows)
void deleteArrays ()
void checkIndex (OrdinalType rowIndex, OrdinalType colIndex=0) const

Protected Attributes

OrdinalType numRowCols_
OrdinalType stride_
bool valuesCopied_
ScalarType * values_
bool upper_
char UPLO_

Detailed Description

template<typename OrdinalType, typename ScalarType>
class Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >

Definition at line 107 of file Teuchos_SerialSymDenseMatrix.hpp.


Constructor & Destructor Documentation

template<typename OrdinalType, typename ScalarType>
Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::SerialSymDenseMatrix (  ) 

Default constructor; defines a zero size object.

Teuchos::SerialSymDenseMatrix objects defined by the default constructor should be sized with the Shape() or Reshape() functions. Values should be defined by using the [] or ()operators.

Note: By default the active part of the matrix is assumed to be the lower triangular part. To set the upper part as active, call SetUpper(). See Detailed Description section for further discussion.

Definition at line 408 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::SerialSymDenseMatrix ( OrdinalType  numRowsCols,
bool  zeroOut = true 
)

Basic constructor; defines a matrix of numRowsCols size and (optionally) initializes it.

Parameters:
numRowsCols - Number of rows and columns in the matrix.
zeroOut - Initializes values to 0 if true (default)
Creates a shaped matrix with numRowsCols rows and cols. All values are initialized to 0 when zeroOut is true. Values of this matrix should be set using the [] or the () operators.

Note:
By default the active part of the matrix is assumed to be the lower triangular part. To set the upper part as active, call SetUpper(). See Detailed Description section for further discussion.

Definition at line 413 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::SerialSymDenseMatrix ( DataAccess  CV,
bool  upper,
ScalarType *  values,
OrdinalType  stride,
OrdinalType  numRowsCols 
)

Set object values from two-dimensional array.

Parameters:
CV - Enumerated type set to Teuchos::Copy or Teuchos::View.
values - Pointer to an array of ScalarType. The first column starts at values, the second at values+stride, etc.
stride - The stride between the columns of the matrix in memory.
numRowsCols - Number of rows and columns in the matrix.
Note:
By default the active part of the matrix is assumed to be the lower triangular part. To set the upper part as active, call SetUpper(). See Detailed Description section for further discussion.

Definition at line 423 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::SerialSymDenseMatrix ( const SerialSymDenseMatrix< OrdinalType, ScalarType > &  Source  ) 

Teuchos::SerialSymDenseMatrix copy constructor.

Definition at line 444 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::SerialSymDenseMatrix ( DataAccess  CV,
const SerialSymDenseMatrix< OrdinalType, ScalarType > &  Source,
OrdinalType  numRowCols,
OrdinalType  startRowCol = 0 
)

Submatrix Copy Constructor.

Parameters:
CV - Enumerated type set to Teuchos::Copy or Teuchos::View.
Source - Reference to another dense matrix from which values are to be copied.
numRowCols - The number of rows and columns in this matrix.
startRowCol - The row and column of Source from which the submatrix copy should start.
Creates a shaped matrix with numRowCols rows and columns, which is a submatrix of Source. If startRowCol are not given, then the submatrix is the leading submatrix of Source.

Definition at line 452 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::~SerialSymDenseMatrix (  )  [virtual]

Teuchos::SerialSymDenseMatrix destructor.

Definition at line 471 of file Teuchos_SerialSymDenseMatrix.hpp.


Member Function Documentation

template<typename OrdinalType, typename ScalarType>
int Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::shape ( OrdinalType  numRowsCols  ) 

Set dimensions of a Teuchos::SerialSymDenseMatrix object; init values to zero.

Parameters:
numRowsCols - Number of rows and columns in object.
Allows user to define the dimensions of a Teuchos::SerialSymDenseMatrix at any point. This function can be called at any point after construction. Any values that were previously in this object are destroyed and the resized matrix starts off with all zero values.

Returns:
Integer error code, set to 0 if successful.

Definition at line 481 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
int Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::shapeUninitialized ( OrdinalType  numRowsCols  ) 

Set dimensions of a Teuchos::SerialSymDenseMatrix object; don't initialize values.

Parameters:
numRowsCols - Number of rows and columns in object.
Allows user to define the dimensions of a Teuchos::SerialSymDenseMatrix at any point. This function can be called at any point after construction. Any values that were previously in this object are destroyed. The resized matrix has uninitialized values.

Returns:
Integer error code, set to 0 if successful.

Definition at line 493 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
int Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::reshape ( OrdinalType  numRowsCols  ) 

Reshape a Teuchos::SerialSymDenseMatrix object.

Parameters:
numRowsCols - Number of rows and columns in object.
Allows user to define the dimensions of a Teuchos::SerialSymDenseMatrix at any point. This function can be called at any point after construction. Any values that were previously in this object are copied into the new shape. If the new shape is smaller than the original, the upper left portion of the original matrix (the principal submatrix) is copied to the new matrix.

Returns:
Integer error code, set to 0 if successful.

Definition at line 504 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
void Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::setLower (  ) 

Specify that the lower triangle of the this matrix should be used.

Warning:
This may necessitate the matrix values be copied from the upper to lower portion of the matrix.

Definition at line 531 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
void Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::setUpper (  ) 

Specify that the upper triangle of the this matrix should be used.

Warning:
This may necessitate the matrix values be copied from the lower to upper portion of the matrix.

Definition at line 542 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
SerialSymDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::operator= ( const SerialSymDenseMatrix< OrdinalType, ScalarType > &  Source  ) 

Copies values from one matrix to another.

The operator= copies the values from one existing SerialSymDenseMatrix to another. If Source is a view (i.e. CV = Teuchos::View), then this method will return a view. Otherwise, it will return a copy of Source. this object will be resized if it is not large enough to copy Source into.

Definition at line 620 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
SerialSymDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::assign ( const SerialSymDenseMatrix< OrdinalType, ScalarType > &  Source  ) 

Copies values from one matrix to another.

Copies the values from one existing SerialSymDenseMatrix to another if the dimension of both matrices are the same. If not, this matrix will be returned unchanged.

Definition at line 714 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
int Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::putScalar ( const ScalarType  value = Teuchos::ScalarTraits< ScalarType >::zero(),
bool  fullMatrix = false 
)

Set all values in the matrix to a constant value.

Parameters:
value - Value to use; zero if none specified.
fullMatrix - set full matrix entries to value, not just active portion of symmetric matrix.
Returns:
Integer error code, set to 0 if successful.

Definition at line 553 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
int Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::random ( const ScalarType  bias = 0.1 *Teuchos::ScalarTraits< ScalarType >::one()  ) 

Set all values in the active area (upper/lower triangle) of this matrix to be random numbers.

Note:
The diagonal will be the sum of the off diagonal elements, plus a bias, so the matrix is SPD.

Definition at line 586 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
ScalarType & Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::operator() ( OrdinalType  rowIndex,
OrdinalType  colIndex 
) [inline]

Element access method (non-const).

Returns the element in the ith row and jth column if A(i,j) is specified.

Returns:
Element from the specified rowIndex row and colIndex column.
Note:
If the requested element lies in the inactive part of the matrix, then A(j,i) will be returned.
Warning:
The validity of rowIndex and colIndex will only be checked if Teuchos is configured with --enable-teuchos-abc.

Definition at line 736 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
const ScalarType & Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::operator() ( OrdinalType  rowIndex,
OrdinalType  colIndex 
) const [inline]

Element access method (const).

Returns the element in the ith row and jth column if A(i,j) is specified.

Returns:
Element from the specified rowIndex row and colIndex column.
Note:
If the requested element lies in the inactive part of the matrix, then A(j,i) will be returned.
Warning:
The validity of rowIndex and colIndex will only be checked if Teuchos is configured with --enable-teuchos-abc.

Definition at line 758 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
ScalarType* Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::values (  )  const [inline]

Returns the pointer to the ScalarType data array contained in the object.

Note:
The matrix values are only guaranteed to be stored in the active area of the matrix (upper/lower).

Definition at line 282 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
bool Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::upper (  )  const [inline]

Returns true if upper triangular part of this matrix has and will be used.

Definition at line 290 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
char Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::UPLO (  )  const [inline]

Returns character value of UPLO used by LAPACK routines.

Definition at line 293 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
SerialSymDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::operator *= ( const ScalarType  alpha  ) 

Inplace scalar-matrix product A = alpha*A.

Scale a matrix, entry-by-entry using the value alpha. This method is sensitive to the UPLO() parameter.

Parameters:
alpha - Scalar to multiply with A.

Definition at line 683 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
SerialSymDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::operator+= ( const SerialSymDenseMatrix< OrdinalType, ScalarType > &  Source  ) 

Add another matrix to this matrix.

Add Source to this if the dimension of both matrices are the same. If not, this matrix will be returned unchanged.

Definition at line 690 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
SerialSymDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::operator-= ( const SerialSymDenseMatrix< OrdinalType, ScalarType > &  Source  ) 

Subtract another matrix from this matrix.

Subtract Source from this if the dimension of both matrices are the same. If not, this matrix will be returned unchanged.

Definition at line 702 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
bool Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::operator== ( const SerialSymDenseMatrix< OrdinalType, ScalarType > &  Operand  ) 

Equality of two matrices.

Returns:
True if this matrix and Operand are of the same shape (rows / columns) and have the same entries in the active (upper / lower triangular) area of the matrix, else False will be returned.

Definition at line 866 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
bool Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::operator!= ( const SerialSymDenseMatrix< OrdinalType, ScalarType > &  Operand  ) 

Inequality of two matrices.

Returns:
True if this matrix and Operand of not of the same shape (rows / columns) or don't have the same entries in the active (upper / lower triangular), else False will be returned.

Definition at line 886 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
OrdinalType Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::numRows (  )  const [inline]

Returns the row dimension of this matrix.

Definition at line 343 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
OrdinalType Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::numCols (  )  const [inline]

Returns the column dimension of this matrix.

Definition at line 346 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
OrdinalType Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::stride (  )  const [inline]

Returns the stride between the columns of this matrix in memory.

Definition at line 349 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
bool Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::empty (  )  const [inline]

Returns whether this matrix is empty.

Definition at line 352 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
ScalarTraits< ScalarType >::magnitudeType Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::normOne (  )  const

Returns the 1-norm of the matrix.

Definition at line 784 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
ScalarTraits< ScalarType >::magnitudeType Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::normInf (  )  const

Returns the Infinity-norm of the matrix.

Definition at line 790 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
ScalarTraits< ScalarType >::magnitudeType Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::normFrobenius (  )  const

Returns the Frobenius-norm of the matrix.

Definition at line 833 of file Teuchos_SerialSymDenseMatrix.hpp.

template<typename OrdinalType, typename ScalarType>
void Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType >::print ( std::ostream &  os  )  const [virtual]

Print method. Defines the behavior of the std::ostream << operator inherited from the Object class.

Reimplemented from Teuchos::Object.

Definition at line 945 of file Teuchos_SerialSymDenseMatrix.hpp.


The documentation for this class was generated from the following file:
Generated on Wed May 12 21:40:34 2010 for Teuchos - Trilinos Tools Package by  doxygen 1.4.7