Teuchos - Trilinos Tools Package
Version of the Day
|
This class creates and provides basic support for dense rectangular matrix of templated type. More...
#include <Teuchos_SerialDenseMatrix.hpp>
Public Types | |
typedef OrdinalType | ordinalType |
Typedef for ordinal type. More... | |
typedef ScalarType | scalarType |
Typedef for scalar type. More... | |
Public Types inherited from Teuchos::DefaultBLASImpl< OrdinalType, ScalarType > | |
typedef details::GivensRotator < ScalarType >::c_type | rotg_c_type |
The type used for c in ROTG. More... | |
Public Member Functions | |
Constructor/Destructor methods. | |
SerialDenseMatrix () | |
Default Constructor. More... | |
SerialDenseMatrix (OrdinalType numRows, OrdinalType numCols, bool zeroOut=true) | |
Shaped Constructor. More... | |
SerialDenseMatrix (DataAccess CV, ScalarType *values, OrdinalType stride, OrdinalType numRows, OrdinalType numCols) | |
Shaped Constructor with Values. More... | |
SerialDenseMatrix (const SerialDenseMatrix< OrdinalType, ScalarType > &Source, ETransp trans=Teuchos::NO_TRANS) | |
Copy Constructor. More... | |
SerialDenseMatrix (DataAccess CV, const SerialDenseMatrix< OrdinalType, ScalarType > &Source) | |
Copy Constructor. More... | |
SerialDenseMatrix (DataAccess CV, const SerialDenseMatrix< OrdinalType, ScalarType > &Source, OrdinalType numRows, OrdinalType numCols, OrdinalType startRow=0, OrdinalType startCol=0) | |
Submatrix Copy Constructor. More... | |
virtual | ~SerialDenseMatrix () |
Destructor. More... | |
Shaping methods. | |
int | shape (OrdinalType numRows, OrdinalType numCols) |
Shape method for changing the size of a SerialDenseMatrix, initializing entries to zero. More... | |
int | shapeUninitialized (OrdinalType numRows, OrdinalType numCols) |
Same as shape() except leaves uninitialized. More... | |
int | reshape (OrdinalType numRows, OrdinalType numCols) |
Reshaping method for changing the size of a SerialDenseMatrix, keeping the entries. More... | |
Set methods. | |
SerialDenseMatrix< OrdinalType, ScalarType > & | operator= (const SerialDenseMatrix< OrdinalType, ScalarType > &Source) |
Copies values from one matrix to another. More... | |
SerialDenseMatrix< OrdinalType, ScalarType > & | assign (const SerialDenseMatrix< OrdinalType, ScalarType > &Source) |
Copies values from one matrix to another. More... | |
SerialDenseMatrix< OrdinalType, ScalarType > & | operator= (const ScalarType value) |
Set all values in the matrix to a constant value. More... | |
int | putScalar (const ScalarType value=Teuchos::ScalarTraits< ScalarType >::zero()) |
Set all values in the matrix to a constant value. More... | |
void | swap (SerialDenseMatrix< OrdinalType, ScalarType > &B) |
Swap values between this matrix and incoming matrix. More... | |
int | random () |
Set all values in the matrix to be random numbers. More... | |
Accessor methods. | |
ScalarType & | operator() (OrdinalType rowIndex, OrdinalType colIndex) |
Element access method (non-const). More... | |
const ScalarType & | operator() (OrdinalType rowIndex, OrdinalType colIndex) const |
Element access method (const). More... | |
ScalarType * | operator[] (OrdinalType colIndex) |
Column access method (non-const). More... | |
const ScalarType * | operator[] (OrdinalType colIndex) const |
Column access method (const). More... | |
ScalarType * | values () const |
Data array access method. More... | |
Mathematical methods. | |
SerialDenseMatrix< OrdinalType, ScalarType > & | operator+= (const SerialDenseMatrix< OrdinalType, ScalarType > &Source) |
Add another matrix to this matrix. More... | |
SerialDenseMatrix< OrdinalType, ScalarType > & | operator-= (const SerialDenseMatrix< OrdinalType, ScalarType > &Source) |
Subtract another matrix from this matrix. More... | |
SerialDenseMatrix< OrdinalType, ScalarType > & | operator*= (const ScalarType alpha) |
Scale this matrix by alpha ; *this = alpha* More... | |
int | scale (const ScalarType alpha) |
Scale this matrix by alpha ; *this = alpha* More... | |
int | scale (const SerialDenseMatrix< OrdinalType, ScalarType > &A) |
Point-wise scale this matrix by A ; i.e. *this(i,j) *= A(i,j) More... | |
int | multiply (ETransp transa, ETransp transb, ScalarType alpha, const SerialDenseMatrix< OrdinalType, ScalarType > &A, const SerialDenseMatrix< OrdinalType, ScalarType > &B, ScalarType beta) |
Multiply A * B and add them to this; this = beta * this + alpha*A*B . More... | |
int | multiply (ESide sideA, ScalarType alpha, const SerialSymDenseMatrix< OrdinalType, ScalarType > &A, const SerialDenseMatrix< OrdinalType, ScalarType > &B, ScalarType beta) |
Multiply A and B and add them to this; this = beta * this + alpha*A*B or this = beta * this + alpha*B*A . More... | |
Comparison methods. | |
bool | operator== (const SerialDenseMatrix< OrdinalType, ScalarType > &Operand) const |
Equality of two matrices. More... | |
bool | operator!= (const SerialDenseMatrix< OrdinalType, ScalarType > &Operand) const |
Inequality of two matrices. More... | |
Attribute methods. | |
OrdinalType | numRows () const |
Returns the row dimension of this matrix. More... | |
OrdinalType | numCols () const |
Returns the column dimension of this matrix. More... | |
OrdinalType | stride () const |
Returns the stride between the columns of this matrix in memory. More... | |
bool | empty () const |
Returns whether this matrix is empty. More... | |
Norm methods. | |
ScalarTraits< ScalarType > ::magnitudeType | normOne () const |
Returns the 1-norm of the matrix. More... | |
ScalarTraits< ScalarType > ::magnitudeType | normInf () const |
Returns the Infinity-norm of the matrix. More... | |
ScalarTraits< ScalarType > ::magnitudeType | normFrobenius () const |
Returns the Frobenius-norm of the matrix. More... | |
I/O methods. | |
virtual void | print (std::ostream &os) const |
Print method. Defines the behavior of the std::ostream << operator. More... | |
Public Member Functions inherited from Teuchos::CompObject | |
CompObject () | |
Default constructor. More... | |
CompObject (const CompObject &source) | |
Copy Constructor. More... | |
virtual | ~CompObject () |
Destructor. More... | |
void | setFlopCounter (const Flops &FlopCounter) |
Set the internal Teuchos::Flops() pointer. More... | |
void | setFlopCounter (const CompObject &compObject) |
Set the internal Teuchos::Flops() pointer to the flop counter of another Teuchos::CompObject. More... | |
void | unsetFlopCounter () |
Set the internal Teuchos::Flops() pointer to 0 (no flops counted). More... | |
Flops * | getFlopCounter () const |
Get the pointer to the Teuchos::Flops() object associated with this object, returns 0 if none. More... | |
void | resetFlops () const |
Resets the number of floating point operations to zero for this multi-std::vector. More... | |
double | getFlops () const |
Returns the number of floating point operations with this multi-std::vector. More... | |
void | updateFlops (int addflops) const |
Increment Flop count for this object. More... | |
void | updateFlops (long int addflops) const |
Increment Flop count for this object. More... | |
void | updateFlops (double addflops) const |
Increment Flop count for this object. More... | |
void | updateFlops (float addflops) const |
Increment Flop count for this object. More... | |
Public Member Functions inherited from Teuchos::BLAS< OrdinalType, ScalarType > | |
BLAS (void) | |
Default constructor. More... | |
BLAS (const BLAS< OrdinalType, ScalarType > &) | |
Copy constructor. More... | |
virtual | ~BLAS (void) |
Destructor. More... | |
Public Member Functions inherited from Teuchos::DefaultBLASImpl< OrdinalType, ScalarType > | |
DefaultBLASImpl (void) | |
Default constructor. More... | |
DefaultBLASImpl (const DefaultBLASImpl< OrdinalType, ScalarType > &) | |
Copy constructor. More... | |
virtual | ~DefaultBLASImpl (void) |
Destructor. More... | |
template<typename alpha_type , typename A_type , typename x_type , typename beta_type > | |
void | GEMV (ETransp trans, const OrdinalType &m, const OrdinalType &n, const alpha_type alpha, const A_type *A, const OrdinalType &lda, const x_type *x, const OrdinalType &incx, const beta_type beta, ScalarType *y, const OrdinalType &incy) const |
Performs the matrix-vector operation: y <- alpha*A*x+beta*y or y <- alpha*A'*x+beta*y where A is a general m by n matrix. More... | |
template<typename A_type > | |
void | TRMV (EUplo uplo, ETransp trans, EDiag diag, const OrdinalType &n, const A_type *A, const OrdinalType &lda, ScalarType *x, const OrdinalType &incx) const |
Performs the matrix-vector operation: x <- A*x or x <- A'*x where A is a unit/non-unit n by n upper/lower triangular matrix. More... | |
template<typename alpha_type , typename x_type , typename y_type > | |
void | GER (const OrdinalType &m, const OrdinalType &n, const alpha_type alpha, const x_type *x, const OrdinalType &incx, const y_type *y, const OrdinalType &incy, ScalarType *A, const OrdinalType &lda) const |
Performs the rank 1 operation: A <- alpha*x*y'+A . More... | |
template<typename alpha_type , typename A_type , typename B_type , typename beta_type > | |
void | GEMM (ETransp transa, ETransp transb, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, const alpha_type alpha, const A_type *A, const OrdinalType &lda, const B_type *B, const OrdinalType &ldb, const beta_type beta, ScalarType *C, const OrdinalType &ldc) const |
General matrix-matrix multiply. More... | |
void | SWAP (const OrdinalType &n, ScalarType *const x, const OrdinalType &incx, ScalarType *const y, const OrdinalType &incy) const |
Swap the entries of x and y. More... | |
template<typename alpha_type , typename A_type , typename B_type , typename beta_type > | |
void | SYMM (ESide side, EUplo uplo, const OrdinalType &m, const OrdinalType &n, const alpha_type alpha, const A_type *A, const OrdinalType &lda, const B_type *B, const OrdinalType &ldb, const beta_type beta, ScalarType *C, const OrdinalType &ldc) const |
Performs the matrix-matrix operation: C <- alpha*A*B+beta*C or C <- alpha*B*A+beta*C where A is an m by m or n by n symmetric matrix and B is a general matrix. More... | |
template<typename alpha_type , typename A_type , typename beta_type > | |
void | SYRK (EUplo uplo, ETransp trans, const OrdinalType &n, const OrdinalType &k, const alpha_type alpha, const A_type *A, const OrdinalType &lda, const beta_type beta, ScalarType *C, const OrdinalType &ldc) const |
Performs the symmetric rank k operation: C <- alpha*A*A'+beta*C or C <- alpha*A'*A+beta*C , where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case or k by n matrix in the second case. More... | |
template<typename alpha_type , typename A_type > | |
void | TRMM (ESide side, EUplo uplo, ETransp transa, EDiag diag, const OrdinalType &m, const OrdinalType &n, const alpha_type alpha, const A_type *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb) const |
Performs the matrix-matrix operation: B <- alpha*op (A)*B or B <- alpha*B*op (A) where op(A) is an unit/non-unit, upper/lower triangular matrix and B is a general matrix. More... | |
template<typename alpha_type , typename A_type > | |
void | TRSM (ESide side, EUplo uplo, ETransp transa, EDiag diag, const OrdinalType &m, const OrdinalType &n, const alpha_type alpha, const A_type *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb) const |
Solves the matrix equations: op(A)*X=alpha*B or X*op (A)=alpha*B where X and B are m by n matrices, A is a unit/non-unit, upper/lower triangular matrix and op(A) is A or A' . The matrix X is overwritten on B . More... | |
void | ROTG (ScalarType *da, ScalarType *db, rotg_c_type *c, ScalarType *s) const |
Computes a Givens plane rotation. More... | |
void | ROT (const OrdinalType &n, ScalarType *dx, const OrdinalType &incx, ScalarType *dy, const OrdinalType &incy, MagnitudeType *c, ScalarType *s) const |
Applies a Givens plane rotation. More... | |
void | SCAL (const OrdinalType &n, const ScalarType &alpha, ScalarType *x, const OrdinalType &incx) const |
Scale the vector x by the constant alpha . More... | |
void | COPY (const OrdinalType &n, const ScalarType *x, const OrdinalType &incx, ScalarType *y, const OrdinalType &incy) const |
Copy the vector x to the vector y . More... | |
template<typename alpha_type , typename x_type > | |
void | AXPY (const OrdinalType &n, const alpha_type alpha, const x_type *x, const OrdinalType &incx, ScalarType *y, const OrdinalType &incy) const |
Perform the operation: y <- y+alpha*x . More... | |
ScalarTraits< ScalarType > ::magnitudeType | ASUM (const OrdinalType &n, const ScalarType *x, const OrdinalType &incx) const |
Sum the absolute values of the entries of x . More... | |
template<typename x_type , typename y_type > | |
ScalarType | DOT (const OrdinalType &n, const x_type *x, const OrdinalType &incx, const y_type *y, const OrdinalType &incy) const |
Form the dot product of the vectors x and y . More... | |
ScalarTraits< ScalarType > ::magnitudeType | NRM2 (const OrdinalType &n, const ScalarType *x, const OrdinalType &incx) const |
Compute the 2-norm of the vector x . More... | |
OrdinalType | IAMAX (const OrdinalType &n, const ScalarType *x, const OrdinalType &incx) const |
Return the index of the element of x with the maximum magnitude. More... | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename OrdinalType , typename ScalarType > | |
SerialDenseVector< OrdinalType, ScalarType > | getCol (DataAccess CV, SerialDenseMatrix< OrdinalType, ScalarType > &A, const OrdinalType col) |
A templated, non-member, helper function for viewing or copying a column of a SerialDenseMatrix as a SerialDenseVector. More... | |
template<typename OrdinalType , typename ScalarType > | |
bool | setCol (const SerialDenseVector< OrdinalType, ScalarType > &v, const OrdinalType col, SerialDenseMatrix< OrdinalType, ScalarType > &A) |
A templated, non-member, helper function for setting a SerialDenseMatrix column using a SerialDenseVector. More... | |
template<typename OrdinalType , typename ScalarType > | |
void | randomSyncedMatrix (Teuchos::SerialDenseMatrix< OrdinalType, ScalarType > &A) |
A templated, non-member, helper function for generating a random SerialDenseMatrix that is synchronized in parallel. More... | |
This class creates and provides basic support for dense rectangular matrix of templated type.
Definition at line 69 of file Teuchos_SerialDenseMatrix.hpp.
typedef OrdinalType Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::ordinalType |
Typedef for ordinal type.
Definition at line 74 of file Teuchos_SerialDenseMatrix.hpp.
typedef ScalarType Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::scalarType |
Typedef for scalar type.
Definition at line 76 of file Teuchos_SerialDenseMatrix.hpp.
Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::SerialDenseMatrix | ( | ) |
Default Constructor.
Creates a empty matrix of no dimension. The Shaping methods should be used to size this matrix. Values of this matrix should be set using the [], (), or = operators.
Definition at line 410 of file Teuchos_SerialDenseMatrix.hpp.
Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::SerialDenseMatrix | ( | OrdinalType | numRows, |
OrdinalType | numCols, | ||
bool | zeroOut = true |
||
) |
Shaped Constructor.
numRows | - Number of rows in matrix. |
numCols | - Number of columns in matrix. |
zeroOut | - Initializes values to 0 if true (default) |
Creates a shaped matrix with numRows
rows and numCols
cols. All values are initialized to 0 when zeroOut
is true. Values of this matrix should be set using the [] or the () operators.
Definition at line 415 of file Teuchos_SerialDenseMatrix.hpp.
Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::SerialDenseMatrix | ( | DataAccess | CV, |
ScalarType * | values, | ||
OrdinalType | stride, | ||
OrdinalType | numRows, | ||
OrdinalType | numCols | ||
) |
Shaped Constructor with Values.
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. |
numRows | - Number of rows in matrix. |
numCols | - Number of columns in matrix. |
Definition at line 427 of file Teuchos_SerialDenseMatrix.hpp.
Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::SerialDenseMatrix | ( | const SerialDenseMatrix< OrdinalType, ScalarType > & | Source, |
ETransp | trans = Teuchos::NO_TRANS |
||
) |
Copy Constructor.
Source
transposed can be obtained if trans=Teuchos::TRANS
, else
a non-transposed copy of Source
is made. There is no storage of the transpose state of the matrix within the SerialDenseMatrix class, so this information will not propogate to any operation performed on a matrix that has been copy constructed in transpose. Definition at line 444 of file Teuchos_SerialDenseMatrix.hpp.
Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::SerialDenseMatrix | ( | DataAccess | CV, |
const SerialDenseMatrix< OrdinalType, ScalarType > & | Source | ||
) |
Copy Constructor.
Source
is made with this copy constructor. Definition at line 500 of file Teuchos_SerialDenseMatrix.hpp.
Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::SerialDenseMatrix | ( | DataAccess | CV, |
const SerialDenseMatrix< OrdinalType, ScalarType > & | Source, | ||
OrdinalType | numRows, | ||
OrdinalType | numCols, | ||
OrdinalType | startRow = 0 , |
||
OrdinalType | startCol = 0 |
||
) |
Submatrix Copy Constructor.
CV | - Enumerated type set to Teuchos::Copy or Teuchos::View. |
Source | - Reference to another dense matrix from which values are to be copied. |
numRows | - The number of rows in this matrix. |
numCols | - The number of columns in this matrix. |
startRow | - The row of Source from which the submatrix copy should start. |
startCol | - The column of Source from which the submatrix copy should start. |
Creates a shaped matrix with numRows
rows and numCols
columns, which is a submatrix of Source
. If startRow
and startCol
are not given, then the submatrix is the leading submatrix of Source
. Otherwise, the (1,1) entry in the copied matrix is the (startRow
, startCol
) entry of Source
.
Definition at line 517 of file Teuchos_SerialDenseMatrix.hpp.
|
virtual |
Destructor.
Definition at line 539 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::shape | ( | OrdinalType | numRows, |
OrdinalType | numCols | ||
) |
Shape method for changing the size of a SerialDenseMatrix, initializing entries to zero.
numRows | - The number of rows in this matrix. |
numCols | - The number of columns in this matrix. |
This method allows the user to define the dimensions of a SerialDenseMatrix at any point. This method can be called at any point after construction. Any values previously in this object will be destroyed and the resized matrix starts of with all zero values.
Definition at line 549 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::shapeUninitialized | ( | OrdinalType | numRows, |
OrdinalType | numCols | ||
) |
Same as shape()
except leaves uninitialized.
Definition at line 564 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::reshape | ( | OrdinalType | numRows, |
OrdinalType | numCols | ||
) |
Reshaping method for changing the size of a SerialDenseMatrix, keeping the entries.
numRows | - The number of rows in this matrix. |
numCols | - The number of columns in this matrix. |
This method allows the user to redefine the dimensions of a SerialDenseMatrix at any point. This method can be called at any point after construction. Any values previously in this object will be copied into the reshaped matrix.
Definition at line 578 of file Teuchos_SerialDenseMatrix.hpp.
SerialDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::operator= | ( | const SerialDenseMatrix< OrdinalType, ScalarType > & | Source | ) |
Copies values from one matrix to another.
The operator= copies the values from one existing SerialDenseMatrix 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 664 of file Teuchos_SerialDenseMatrix.hpp.
SerialDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::assign | ( | const SerialDenseMatrix< OrdinalType, ScalarType > & | Source | ) |
Copies values from one matrix to another.
Copies the values from one existing SerialDenseMatrix to another if the dimension of both matrices are the same. If not, this matrix will be returned unchanged.
Definition at line 747 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Set all values in the matrix to a constant value.
value | - Value to use; |
Definition at line 199 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::putScalar | ( | const ScalarType | value = Teuchos::ScalarTraits<ScalarType>::zero() | ) |
Set all values in the matrix to a constant value.
value | - Value to use; zero if none specified. |
Definition at line 610 of file Teuchos_SerialDenseMatrix.hpp.
void Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::swap | ( | SerialDenseMatrix< OrdinalType, ScalarType > & | B | ) |
Swap values between this matrix and incoming matrix.
Swaps pointers and associated state without copying the matrix data.
Definition at line 624 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::random | ( | ) |
Set all values in the matrix to be random numbers.
Definition at line 649 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Element access method (non-const).
Returns the element in the ith row and jth column if A(i,j) is specified, the expression A[j][i] will return the same element.
\return Element from the specified \c rowIndex row and \c colIndex column.
rowIndex
and colIndex
will only be checked if Teuchos is configured with –enable-teuchos-abc. Definition at line 767 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Element access method (const).
Returns the element in the ith row and jth column if A(i,j) is specified, the expression A[j][i] will return the same element.
\return Element from the specified \c rowIndex row and \c colIndex column.
rowIndex
and colIndex
will only be checked if Teuchos is configured with –enable-teuchos-abc. Definition at line 776 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Column access method (non-const).
Returns the pointer to the ScalarType array at the jth column if A[j] is specified, the expression A[j][i] will return the same element as A(i,j).
colIndex
column ( values_+colIndex*stride_
). colIndex
will only be checked if Teuchos is configured with –enable-teuchos-abc. Definition at line 794 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Column access method (const).
Returns the pointer to the ScalarType array at the jth column if A[j] is specified, the expression A[j][i] will return the same element as A(i,j).
colIndex
column ( values_+colIndex*stride_
). colIndex
will only be checked if Teuchos is configured with –enable-teuchos-abc. Definition at line 785 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Data array access method.
Definition at line 264 of file Teuchos_SerialDenseMatrix.hpp.
SerialDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::operator+= | ( | const SerialDenseMatrix< 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 723 of file Teuchos_SerialDenseMatrix.hpp.
SerialDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::operator-= | ( | const SerialDenseMatrix< 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 735 of file Teuchos_SerialDenseMatrix.hpp.
SerialDenseMatrix< OrdinalType, ScalarType > & Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::operator*= | ( | const ScalarType | alpha | ) |
Scale this
matrix by alpha
; *this
= alpha*
*this
.
alpha | Scalar to multiply this by. |
Definition at line 906 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::scale | ( | const ScalarType | alpha | ) |
Scale this
matrix by alpha
; *this
= alpha*
*this
.
alpha | Scalar to multiply this by. |
Definition at line 913 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::scale | ( | const SerialDenseMatrix< OrdinalType, ScalarType > & | A | ) |
Point-wise scale this
matrix by A
; i.e. *this(i,j) *= A(i,j)
The values of *this
matrix will be point-wise scaled by the values in A. If A and this
matrix are not the same dimension this
will be returned unchanged.
B | Teuchos::SerialDenseMatrix used to perform element-wise scaling of this. |
Definition at line 928 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::multiply | ( | ETransp | transa, |
ETransp | transb, | ||
ScalarType | alpha, | ||
const SerialDenseMatrix< OrdinalType, ScalarType > & | A, | ||
const SerialDenseMatrix< OrdinalType, ScalarType > & | B, | ||
ScalarType | beta | ||
) |
Multiply A
* B
and add them to this; this = beta
* this + alpha*A*B
.
transa | - Use the transpose of A if transa = Teuchos::TRANS, else don't use the transpose if transa = Teuchos::NO_TRANS. |
transb | - Use the transpose of B if transb = Teuchos::TRANS, else don't use the transpose if transb = Teuchos::NO_TRANS. |
alpha | - The scaling factor for A * B . |
A | - SerialDenseMatrix |
B | - SerialDenseMatrix |
beta | - The scaling factor for this. |
If the matrices A
and B
are not of the right dimension, consistent with this, then this matrix will not be altered and -1 will be returned.
Definition at line 948 of file Teuchos_SerialDenseMatrix.hpp.
int Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::multiply | ( | ESide | sideA, |
ScalarType | alpha, | ||
const SerialSymDenseMatrix< OrdinalType, ScalarType > & | A, | ||
const SerialDenseMatrix< OrdinalType, ScalarType > & | B, | ||
ScalarType | beta | ||
) |
Multiply A
and B
and add them to this; this = beta
* this + alpha*A*B
or this = beta
* this + alpha*B*A
.
sideA | - Which side is A on for the multiplication to B, A*B (Teuchos::LEFT_SIDE) or B*A (Teuchos::RIGHT_SIDE). |
alpha | - The scaling factor for A * B , or B * A . |
A | - SerialSymDenseMatrix (a serial SPD dense matrix) |
B | - SerialDenseMatrix (a serial dense matrix) |
beta | - The scaling factor for this. |
If the matrices A
and B
are not of the right dimension, consistent with this, then this matrix will not be altered and -1 will be returned.
Definition at line 973 of file Teuchos_SerialDenseMatrix.hpp.
bool Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::operator== | ( | const SerialDenseMatrix< OrdinalType, ScalarType > & | Operand | ) | const |
Equality of two matrices.
Operand
are of the same shape (rows and columns) and have the same entries, else False will be returned. Definition at line 871 of file Teuchos_SerialDenseMatrix.hpp.
bool Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::operator!= | ( | const SerialDenseMatrix< OrdinalType, ScalarType > & | Operand | ) | const |
Inequality of two matrices.
Operand
of not of the same shape (rows and columns) or don't have the same entries, else False will be returned. Definition at line 896 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Returns the row dimension of this matrix.
Definition at line 359 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Returns the column dimension of this matrix.
Definition at line 362 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Returns the stride between the columns of this matrix in memory.
Definition at line 365 of file Teuchos_SerialDenseMatrix.hpp.
|
inline |
Returns whether this matrix is empty.
Definition at line 368 of file Teuchos_SerialDenseMatrix.hpp.
ScalarTraits< ScalarType >::magnitudeType Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::normOne | ( | ) | const |
Returns the 1-norm of the matrix.
Definition at line 807 of file Teuchos_SerialDenseMatrix.hpp.
ScalarTraits< ScalarType >::magnitudeType Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::normInf | ( | ) | const |
Returns the Infinity-norm of the matrix.
Definition at line 833 of file Teuchos_SerialDenseMatrix.hpp.
ScalarTraits< ScalarType >::magnitudeType Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::normFrobenius | ( | ) | const |
Returns the Frobenius-norm of the matrix.
Definition at line 851 of file Teuchos_SerialDenseMatrix.hpp.
|
virtual |
Print method. Defines the behavior of the std::ostream << operator.
Reimplemented in Teuchos::SerialDenseVector< OrdinalType, ScalarType >.
Definition at line 1004 of file Teuchos_SerialDenseMatrix.hpp.
|
related |
A templated, non-member, helper function for viewing or copying a column of a SerialDenseMatrix as a SerialDenseVector.
CV | - [in] Enumerated type set to Teuchos::Copy or Teuchos::View |
A | - [in] SerialDenseMatrix |
col | - [in] Integer indicating which column of A to return |
Teuchos::SerialDenseVector<int,double> col_j = Teuchos::getCol<int,double>( Teuchos::View, A, j )
Definition at line 162 of file Teuchos_SerialDenseHelpers.hpp.
|
related |
A templated, non-member, helper function for setting a SerialDenseMatrix column using a SerialDenseVector.
v | - [in] SerialDenseVector |
col | - [in] Integer indicating which column of A to replace with v |
A | - [out] SerialDenseMatrix |
Definition at line 177 of file Teuchos_SerialDenseHelpers.hpp.
|
related |
A templated, non-member, helper function for generating a random SerialDenseMatrix that is synchronized in parallel.
A | - [in/out] SerialDenseMatrix to be filled with random numbers that are the same across processors |
Definition at line 194 of file Teuchos_SerialDenseHelpers.hpp.