42 #ifndef MATLAB_ENGINE_H 43 #define MATLAB_ENGINE_H 44 #include <Epetra_ConfigDefs.h> 47 #include "Epetra_MpiComm.h" 49 #include "Epetra_SerialComm.h" 51 #include "Epetra_Comm.h" 56 #undef printf // matlab has its own printf that we don't want to use 58 class Epetra_MultiVector;
59 class Epetra_RowMatrix;
60 class Epetra_CrsGraph;
61 class Epetra_SerialDenseMatrix;
62 class Epetra_BlockMap;
63 class Epetra_IntSerialDenseMatrix;
64 class Epetra_CrsMatrix;
151 int EvalString (
char* command,
char* outputBuffer = NULL,
int outputBufferSize = -1);
168 int PutMultiVector(
const Epetra_MultiVector& A,
const char* variableName);
186 int PutRowMatrix(
const Epetra_RowMatrix& A,
const char* variableName,
bool transA);
189 int PutCrsGraph(
const Epetra_CrsGraph& A,
const char* variableName,
bool transA);
207 int PutSerialDenseMatrix(
const Epetra_SerialDenseMatrix& A,
const char* variableName,
int proc=0);
243 int PutBlockMap(
const Epetra_BlockMap& blockMap,
const char* variableName,
bool transA);
265 int PutIntoMatlab(
const char* variableName, mxArray* matlabA);
283 int GetMultiVector(
const char* variableName, Epetra_MultiVector& A);
339 int GetCrsMatrix(
const char* variableName, Epetra_CrsMatrix& A,
bool getTrans);
366 int GetmxArrayDimensions(mxArray* matlabA,
bool& isSparse,
int& numRows,
int& numCols,
int& numNonZeros);
382 int GetmxArray(
const char* variableName, mxArray** matlabA);
int GetIntSerialDenseMatrix(const char *variableName, Epetra_IntSerialDenseMatrix &A, int proc=0)
Puts a Matlab variable into a IntSerialDenseMatrix on the specified PE.
int GetCrsMatrix(const char *variableName, Epetra_CrsMatrix &A, bool getTrans)
Puts a Matlab variable into a CrsMatrix.
int PutIntSerialDenseMatrix(const Epetra_IntSerialDenseMatrix &A, const char *variableName, int proc=0)
Puts a copy of the IntSerialDenseMatrix into the Matlab workspace.
int PutBlockMap(const Epetra_BlockMap &blockMap, const char *variableName, bool transA)
Puts a copy of the BlockMap or Map into the Matlab workspace.
int PutSerialDenseMatrix(const Epetra_SerialDenseMatrix &A, const char *variableName, int proc=0)
Puts a copy of the SerialDenseMatrix into the Matlab workspace.
EpetraExt_MatlabEngine(const Epetra_Comm &Comm)
EpetraExt_MatlabEngine constructor which creates a MatlabEngine object with a connection to an instan...
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
int GetSerialDenseMatrix(const char *variableName, Epetra_SerialDenseMatrix &A, int proc=0)
Puts a Matlab variable into a SerialDenseMatrix on the specified PE.
int GetMultiVector(const char *variableName, Epetra_MultiVector &A)
Puts a Matlab variable into a MultiVector.
~EpetraExt_MatlabEngine()
EpetraExt_MatlabEngine destructor which closes the connection to Matlab which causes the Matlab proce...
int GetmxArray(const char *variableName, mxArray **matlabA)
Get a mxArray from Matlab. For internal use but can be used by an advanced user.
const Epetra_Comm & Comm_
int GetmxArrayDimensions(mxArray *matlabA, bool &isSparse, int &numRows, int &numCols, int &numNonZeros)
Get general information about the mxArray. For internal use but can be used by an advanced user...
int PutCrsGraph(const Epetra_CrsGraph &A, const char *variableName, bool transA)
not implemented yet
int PutRowMatrix(const Epetra_RowMatrix &A, const char *variableName, bool transA)
Puts a copy of the serial or distributed RowMatrix into the Matlab workspace.
int PutMultiVector(const Epetra_MultiVector &A, const char *variableName)
Puts a copy of the serial or distributed MultiVector into the Matlab workspace.
int EvalString(char *command, char *outputBuffer=NULL, int outputBufferSize=-1)
Sends a command to Matlab.
int PutIntoMatlab(const char *variableName, mxArray *matlabA)
Puts a mxArray into Matlab.
A class which provides data and command access to Matlab from Epetra.