Epetra Package Browser (Single Doxygen Collection)
Development
|
Epetra_IntSerialDenseMatrix: A class for constructing and using general dense integer matrices. More...
#include <Epetra_IntSerialDenseMatrix.h>
Protected Member Functions | |
void | CopyMat (int *Source, int Source_LDA, int NumRows, int NumCols, int *Target, int Target_LDA) |
void | CleanupData () |
Protected Member Functions inherited from Epetra_Object | |
std::string | toString (const int &x) const |
std::string | toString (const long long &x) const |
std::string | toString (const double &x) const |
Protected Attributes | |
Epetra_DataAccess | CV_ |
bool | A_Copied_ |
int | M_ |
int | N_ |
int | LDA_ |
int * | A_ |
Constructor/Destructor Methods | |
Epetra_IntSerialDenseMatrix () | |
Default constructor; defines a zero size object. More... | |
Epetra_IntSerialDenseMatrix (int NumRows, int NumCols) | |
Shaped constructor; defines a variable-sized object. More... | |
Epetra_IntSerialDenseMatrix (Epetra_DataAccess CV, int *A, int LDA, int NumRows, int NumCols) | |
Set object values from two-dimensional array. More... | |
Epetra_IntSerialDenseMatrix (const Epetra_IntSerialDenseMatrix &Source) | |
Epetra_IntSerialDenseMatrix copy constructor. More... | |
virtual | ~Epetra_IntSerialDenseMatrix () |
Epetra_IntSerialDenseMatrix destructor. More... | |
Shaping/sizing Methods | |
int | Shape (int NumRows, int NumCols) |
Set dimensions of a Epetra_IntSerialDenseMatrix object; init values to zero. More... | |
int | Reshape (int NumRows, int NumCols) |
Reshape a Epetra_IntSerialDenseMatrix object. More... | |
Data Accessor methods | |
virtual int | OneNorm () |
Computes the 1-Norm of the this matrix. More... | |
virtual int | InfNorm () |
Computes the Infinity-Norm of the this matrix. More... | |
Epetra_IntSerialDenseMatrix & | operator= (const Epetra_IntSerialDenseMatrix &Source) |
Copy from one matrix to another. More... | |
bool | operator== (const Epetra_IntSerialDenseMatrix &rhs) const |
Comparison operator. More... | |
bool | operator!= (const Epetra_IntSerialDenseMatrix &rhs) const |
Inequality operator. More... | |
int & | operator() (int RowIndex, int ColIndex) |
Element access function. More... | |
const int & | operator() (int RowIndex, int ColIndex) const |
Element access function. More... | |
int * | operator[] (int ColIndex) |
Column access function. More... | |
const int * | operator[] (int ColIndex) const |
Column access function. More... | |
int | Random () |
Set matrix values to random numbers. More... | |
int | M () const |
Returns row dimension of system. More... | |
int | N () const |
Returns column dimension of system. More... | |
const int * | A () const |
Returns const pointer to the this matrix. More... | |
int * | A () |
Returns pointer to the this matrix. More... | |
int | LDA () const |
Returns the leading dimension of the this matrix. More... | |
Epetra_DataAccess | CV () const |
Returns the data access mode of the this matrix. More... | |
I/O methods | |
virtual void | Print (std::ostream &os) const |
Print service methods; defines behavior of ostream << operator. More... | |
Expert-only unsupported methods | |
int | MakeViewOf (const Epetra_IntSerialDenseMatrix &Source) |
Reset an existing IntSerialDenseMatrix to point to another Matrix. More... | |
Additional Inherited Members | |
Public Member Functions inherited from Epetra_Object | |
Epetra_Object (int TracebackModeIn=-1, bool set_label=true) | |
Epetra_Object Constructor. More... | |
Epetra_Object (const char *const Label, int TracebackModeIn=-1) | |
Epetra_Object Constructor. More... | |
Epetra_Object (const Epetra_Object &Object) | |
Epetra_Object Copy Constructor. More... | |
virtual | ~Epetra_Object () |
Epetra_Object Destructor. More... | |
virtual void | SetLabel (const char *const Label) |
Epetra_Object Label definition using char *. More... | |
virtual const char * | Label () const |
Epetra_Object Label access funtion. More... | |
virtual int | ReportError (const std::string Message, int ErrorCode) const |
Error reporting method. More... | |
Static Public Member Functions inherited from Epetra_Object | |
static void | SetTracebackMode (int TracebackModeValue) |
Set the value of the Epetra_Object error traceback report mode. More... | |
static int | GetTracebackMode () |
Get the value of the Epetra_Object error report mode. More... | |
static std::ostream & | GetTracebackStream () |
Get the output stream for error reporting. More... | |
Static Public Attributes inherited from Epetra_Object | |
static int | TracebackMode |
Epetra_IntSerialDenseMatrix: A class for constructing and using general dense integer matrices.
The Epetra_IntSerialDenseMatrix class enables the construction and use of integer-valued, general dense matrices.
The Epetra_IntSerialDenseMatrix class is intended to provide very basic support for dense rectangular matrices.
Constructing Epetra_IntSerialDenseMatrix Objects
There are four Epetra_IntSerialDenseMatrix constructors. The first constructs a zero-sized object which should be made to appropriate length using the Shape() or Reshape() functions and then filled with the [] or () operators. The second constructs an object sized to the dimensions specified, which should be filled with the [] or () operators. The third is a constructor that accepts user data as a 2D array, and the fourth is a copy constructor. The third constructor has two data access modes (specified by the Epetra_DataAccess argument):
Epetra_IntSerialDenseMatrix constructors will throw an exception if an error occurrs. These exceptions will alway be negative integer values as follows:
Other Epetra_IntSerialDenseMatrix functions that do not return an integer error code (such as operators () and [] ) will throw an exception if an error occurrs. These exceptions will be integer values as follows:
bExtracting Data from Epetra_IntSerialDenseMatrix Objects
Once a Epetra_IntSerialDenseMatrix is constructed, it is possible to view the data via access functions.
Vector and Utility Functions
Once a Epetra_IntSerialDenseMatrix is constructed, several mathematical functions can be applied to the object. Specifically:
Definition at line 117 of file Epetra_IntSerialDenseMatrix.h.
Epetra_IntSerialDenseMatrix::Epetra_IntSerialDenseMatrix | ( | ) |
Default constructor; defines a zero size object.
Epetra_IntSerialDenseMatrix objects defined by the default constructor should be sized with the Shape() or Reshape functions. Values should be defined by using the [] or () operators.
Definition at line 47 of file Epetra_IntSerialDenseMatrix.cpp.
Epetra_IntSerialDenseMatrix::Epetra_IntSerialDenseMatrix | ( | int | NumRows, |
int | NumCols | ||
) |
Shaped constructor; defines a variable-sized object.
In | NumRows - Number of rows in object. |
In | NumCols - Number of columns in object. |
Epetra_SerialDenseMatrix objects defined by the shaped constructor are already shaped to the dimensions given as a parameters. All values are initialized to 0. Calling this constructor is equivalent to using the default constructor, and then calling the Shape function on it. Values should be defined by using the [] or () operators.
Definition at line 59 of file Epetra_IntSerialDenseMatrix.cpp.
Epetra_IntSerialDenseMatrix::Epetra_IntSerialDenseMatrix | ( | Epetra_DataAccess | CV, |
int * | A, | ||
int | LDA, | ||
int | NumRows, | ||
int | NumCols | ||
) |
Set object values from two-dimensional array.
In | Epetra_DataAccess - Enumerated type set to Copy or View. |
In | A - Pointer to an array of integer numbers. The first vector starts at A. The second vector starts at A+LDA, the third at A+2*LDA, and so on. |
In | LDA - The "Leading Dimension", or stride between vectors in memory. |
In | NumRows - Number of rows in object. |
In | NumCols - Number of columns in object. |
See Detailed Description section for further discussion.
Definition at line 78 of file Epetra_IntSerialDenseMatrix.cpp.
Epetra_IntSerialDenseMatrix::Epetra_IntSerialDenseMatrix | ( | const Epetra_IntSerialDenseMatrix & | Source | ) |
Epetra_IntSerialDenseMatrix copy constructor.
This matrix will take on the data access mode of the Source matrix.
Definition at line 111 of file Epetra_IntSerialDenseMatrix.cpp.
|
virtual |
Epetra_IntSerialDenseMatrix destructor.
Definition at line 184 of file Epetra_IntSerialDenseMatrix.cpp.
int Epetra_IntSerialDenseMatrix::Shape | ( | int | NumRows, |
int | NumCols | ||
) |
Set dimensions of a Epetra_IntSerialDenseMatrix object; init values to zero.
In | NumRows - Number of rows in object. |
In | NumCols - Number of columns in object. |
Allows user to define the dimensions of a Epetra_IntSerialDenseMatrix 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.
Definition at line 162 of file Epetra_IntSerialDenseMatrix.cpp.
int Epetra_IntSerialDenseMatrix::Reshape | ( | int | NumRows, |
int | NumCols | ||
) |
Reshape a Epetra_IntSerialDenseMatrix object.
In | NumRows - Number of rows in object. |
In | NumCols - Number of columns in object. |
Allows user to define the dimensions of a Epetra_IntSerialDenseMatrix 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.
Definition at line 135 of file Epetra_IntSerialDenseMatrix.cpp.
|
virtual |
Computes the 1-Norm of the this matrix.
Definition at line 314 of file Epetra_IntSerialDenseMatrix.cpp.
|
virtual |
Computes the Infinity-Norm of the this matrix.
Definition at line 328 of file Epetra_IntSerialDenseMatrix.cpp.
Epetra_IntSerialDenseMatrix & Epetra_IntSerialDenseMatrix::operator= | ( | const Epetra_IntSerialDenseMatrix & | Source | ) |
Copy from one matrix to another.
The operator= allows one to copy the values from one existing IntSerialDenseMatrix to another. The left hand side matrix will take on the data access mode of the right hand side matrix.
Definition at line 200 of file Epetra_IntSerialDenseMatrix.cpp.
bool Epetra_IntSerialDenseMatrix::operator== | ( | const Epetra_IntSerialDenseMatrix & | rhs | ) | const |
Comparison operator.
operator== compares two Epetra_IntSerialDenseMatrix objects, returns false if sizes are different, or if any coefficients differ.
Definition at line 260 of file Epetra_IntSerialDenseMatrix.cpp.
|
inline |
Inequality operator.
operator!= simply returns the negation of operator==.
Definition at line 237 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Element access function.
The parentheses operator returns the element in the ith row and jth column if A(i,j) is specified, the expression A[j][i] (note that i and j are reversed) will return the same element. Thus, A(i,j) = A[j][i] for all valid i and j.
Definition at line 364 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Element access function.
The parentheses operator returns the element in the ith row and jth column if A(i,j) is specified, the expression A[j][i] (note that i and j are reversed) will return the same element. Thus, A(i,j) = A[j][i] for all valid i and j.
Definition at line 376 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Column access function.
The parentheses operator returns the element in the ith row and jth column if A(i,j) is specified, the expression A[j][i] (note that i and j are reversed) will return the same element. Thus, A(i,j) = A[j][i] for all valid i and j.
Definition at line 388 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Column access function.
The parentheses operator returns the element in the ith row and jth column if A(i,j) is specified, the expression A[j][i] (note that i and j are reversed) will return the same element. Thus, A(i,j) = A[j][i] for all valid i and j.
Definition at line 397 of file Epetra_IntSerialDenseMatrix.h.
int Epetra_IntSerialDenseMatrix::Random | ( | ) |
Set matrix values to random numbers.
IntSerialDenseMatrix uses the random number generator provided by Epetra_Util. The matrix values will be set to random values on the interval (0, 2^31 - 1).
Definition at line 370 of file Epetra_IntSerialDenseMatrix.cpp.
|
inline |
Returns row dimension of system.
Definition at line 300 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Returns column dimension of system.
Definition at line 303 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Returns const pointer to the this matrix.
Definition at line 306 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Returns pointer to the this matrix.
Definition at line 309 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Returns the leading dimension of the this matrix.
Definition at line 312 of file Epetra_IntSerialDenseMatrix.h.
|
inline |
Returns the data access mode of the this matrix.
Definition at line 315 of file Epetra_IntSerialDenseMatrix.h.
|
virtual |
Print service methods; defines behavior of ostream << operator.
Reimplemented from Epetra_Object.
Reimplemented in Epetra_IntSerialDenseVector.
Definition at line 346 of file Epetra_IntSerialDenseMatrix.cpp.
int Epetra_IntSerialDenseMatrix::MakeViewOf | ( | const Epetra_IntSerialDenseMatrix & | Source | ) |
Reset an existing IntSerialDenseMatrix to point to another Matrix.
Allows an existing IntSerialDenseMatrix to become a View of another matrix's data, regardless of the DataAccess mode of the Source matrix. It is assumed that the Source matrix is an independent matrix, and no checking is done to verify this.
This is used by Epetra_CrsGraph in the OptimizeStorage method. It is used so that an existing (Copy) matrix can be converted to a View. This frees up memory that CrsGraph no longer needs.
Source | The IntSerialDenseMatrix this will become a view of. |
Definition at line 281 of file Epetra_IntSerialDenseMatrix.cpp.
|
protected |
Definition at line 298 of file Epetra_IntSerialDenseMatrix.cpp.
|
protected |
Definition at line 189 of file Epetra_IntSerialDenseMatrix.cpp.
|
protected |
Definition at line 353 of file Epetra_IntSerialDenseMatrix.h.
|
protected |
Definition at line 354 of file Epetra_IntSerialDenseMatrix.h.
|
protected |
Definition at line 355 of file Epetra_IntSerialDenseMatrix.h.
|
protected |
Definition at line 356 of file Epetra_IntSerialDenseMatrix.h.
|
protected |
Definition at line 357 of file Epetra_IntSerialDenseMatrix.h.
|
protected |
Definition at line 358 of file Epetra_IntSerialDenseMatrix.h.