EpetraExt_OperatorOut.cpp File Reference

#include "EpetraExt_OperatorOut.h"
#include "EpetraExt_mmio.h"
#include "Epetra_Comm.h"
#include "Epetra_Map.h"
#include "Epetra_Vector.h"
#include "Epetra_MultiVector.h"
#include "Epetra_IntVector.h"
#include "Epetra_SerialDenseVector.h"
#include "Epetra_IntSerialDenseVector.h"
#include "Epetra_Import.h"
#include "Epetra_CrsMatrix.h"

Include dependency graph for EpetraExt_OperatorOut.cpp:

Go to the source code of this file.

Namespaces

namespace  EpetraExt

Functions

int OperatorToMatlabFile (const char *filename, const Epetra_Operator &A)
 Writes an Epetra_Operator object to a file that is compatible with Matlab.
int OperatorToMatrixMarketFile (const char *filename, const Epetra_Operator &A, const char *matrixName, const char *matrixDescription, bool writeHeader)
 Writes an Epetra_Operator object to a Matrix Market format file, forming the coefficients by applying the operator to the e_j vectors.
int OperatorToHandle (FILE *handle, const Epetra_Operator &A)
 Writes an Epetra_Operator object to a format file that is compatible with Matlab.
int writeOperatorStrip (FILE *handle, const Epetra_MultiVector &y, const Epetra_Map &rootDomainMap, const Epetra_Map &rootRangeMap, int startColumn)
int get_nz (const Epetra_Operator &A, int &nz)


Function Documentation

int EpetraExt::OperatorToMatlabFile const char *  filename,
const Epetra_Operator A
 

Writes an Epetra_Operator object to a file that is compatible with Matlab.

This function takes any matrix that implements the Epetra_Operator interface and writes it to the specified file. The matrix can be distributed or serial. This function is a convenience wrapper around OperatorToMatrixMarketFile. The following Matlab commands can be used to read the resulting file and convert to it to a Matlab sparse matrix:

  1. load filename;
  2. matrix_name = spconvert(filename_root);
For example:
  1. load A.dat;
  2. A = spconvert(filename_root);
The above produces a sparse matrix A.

Parameters:
filename (In) A filename, including path if desired. If a file with this name already exists, it will be deleted. On exit, this file will contain a row for each matrix entry The first column is the global row index, using base 1, the second column is the global column index of the entry, the third value is the matrix value for that entry.
A (In) An Epetra_Operator Object containing the implicit user matrix to be dumped to file. Any object that implements the Epetra_Operator interface can be passed in. In particular, the Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_FECrsMatrix, Epetra_FEVbrMatrix and Epetra_MsrMatrix classes are compatible with this interface, as is AztecOO_Operator, all Ifpack and ML preconditioners.
Returns:
Returns 0 if no error, -1 if any problems with file system.

Definition at line 43 of file EpetraExt_OperatorOut.cpp.

int EpetraExt::OperatorToMatrixMarketFile const char *  filename,
const Epetra_Operator A,
const char *  matrixName = 0,
const char *  matrixDescription = 0,
bool  writeHeader = true
 

Writes an Epetra_Operator object to a Matrix Market format file, forming the coefficients by applying the operator to the e_j vectors.

This function takes any linear operator that implements the Epetra_Operator interface and writes it to the specified file. The operator can be distributed or serial. The user can provide a strings containing the matrix name, a matrix description, and specify that header information should or should not be printed to the file.

The coeffients are formed by applying the operator to the canonical vectors

\[ e_j = (0, \ldots, 0, 1, 0, \ldots, 0) \]

where the value 1 appears in the the jth entry. The number of canonical vectors used is determined by the size of the OperatorDomainMap() and the lengths by the size of OperatorRangeMap().

Parameters:
filename (In) A filename, including path if desired. If a file with this name already exists, it will be deleted. On exit, this file will contained any requested header information followed by the matrix coefficients. The file will contain a row for each matrix entry The first column is the global row index, using base 1, the second column is the global column index of the entry, the third value is the matrix value for that entry.
A (In) An Epetra_Operator Object containing the implicit user matrix to be dumped to file. Any object that implements the Epetra_Operator interface can be passed in. In particular, the Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_FECrsMatrix, Epetra_FEVbrMatrix and Epetra_MsrMatrix classes are compatible with this interface, as is AztecOO_Operator, all Ifpack and ML preconditioners.
matrixName (In) A C-style string pointer to a name that will be stored in the comment field of the file. This is not a required argument. Note that it is possible to pass in the method A.Label().
matrixDescription (In) A C-style string pointer to a matrix description that will be stored in the comment field of the file.
writeHeader (In) If true, the header will be written, otherwise only the matrix entries will be written.
Returns:
Returns 0 if no error, -1 if any problems with file system.

Definition at line 50 of file EpetraExt_OperatorOut.cpp.

int EpetraExt::OperatorToHandle FILE *  handle,
const Epetra_Operator A
 

Writes an Epetra_Operator object to a format file that is compatible with Matlab.

This function takes any matrix that implements the Epetra_Operator interface and writes it to the specified file handle. The matrix can be distributed or serial. This function is a convenience wrapper around OperatorToMatrixMarketFile.

Parameters:
handle (In) A C-style file handle, already opened. On exit, the file associated with this handle will have appended to it a row for each matrix entry The first column is the global row index, using base 1, the second column is the global column index of the entry, the third value is the matrix value for that entry.
A (In) An Epetra_Operator Object containing the user matrix to be dumped to file. Any object that implements the Epetra_Operator interface can be passed in. In particular, the Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_FECrsMatrix, Epetra_FEVbrMatrix and Epetra_MsrMatrix classes are compatible with this interface, as is AztecOO_Operator, all Ifpack and ML preconditioners.
Returns:
Returns 0 if no error, -1 if any problems with file system.

Definition at line 98 of file EpetraExt_OperatorOut.cpp.

int EpetraExt::writeOperatorStrip FILE *  handle,
const Epetra_MultiVector y,
const Epetra_Map rootDomainMap,
const Epetra_Map rootRangeMap,
int  startColumn
 

Definition at line 161 of file EpetraExt_OperatorOut.cpp.

int EpetraExt::get_nz const Epetra_Operator A,
int &  nz
 

Definition at line 185 of file EpetraExt_OperatorOut.cpp.


Generated on Thu Sep 18 12:31:45 2008 for EpetraExt by doxygen 1.3.9.1