| 
| 
  | TpetraMatrix () | 
|   | Create empty matrix. 
  | 
|   | 
| 
  | TpetraMatrix (Teuchos::RCP< matrix_type > A) | 
|   | Create a wrapper around a Teuchos::RCP<matrix_type> pointer. 
  | 
|   | 
| 
  | TpetraMatrix (const TpetraMatrix &A) | 
|   | Copy constructor. 
  | 
|   | 
| 
virtual  | ~TpetraMatrix () | 
|   | Destructor. 
  | 
|   | 
| 
void  | init (const TensorLayout &tensor_layout) | 
|   | Initialize zero tensor using tensor layout. 
  | 
|   | 
| 
bool  | empty () const | 
|   | Return true if empty. 
  | 
|   | 
| 
std::size_t  | size (std::size_t dim) const | 
|   | Return size of given dimension. 
  | 
|   | 
| 
std::pair< std::int64_t, std::int64_t >  | local_range (std::size_t dim) const | 
|   | Return local ownership range. 
  | 
|   | 
| 
std::size_t  | nnz () const | 
|   | Return number of non-zero entries in matrix (collective) 
  | 
|   | 
| 
virtual void  | zero () | 
|   | Set all entries to zero and keep any sparse structure. 
  | 
|   | 
| 
virtual void  | apply (std::string mode) | 
|   | Finalize assembly of tensor. The mode parameter is ignored. 
  | 
|   | 
| 
MPI_Comm  | mpi_comm () const | 
|   | Return MPI communicator. 
  | 
|   | 
| 
virtual std::string  | str (bool verbose) const | 
|   | Return informal string representation (pretty-print) 
  | 
|   | 
| 
virtual std::shared_ptr< GenericMatrix >  | copy () const | 
|   | Return copy of matrix. 
  | 
|   | 
| virtual void  | init_vector (GenericVector &z, std::size_t dim) const | 
|   | 
| 
virtual void  | get (double *block, std::size_t m, const dolfin::la_index *rows, std::size_t n, const dolfin::la_index *cols) const | 
|   | Get block of values. 
  | 
|   | 
| 
virtual void  | set (const double *block, std::size_t m, const dolfin::la_index *rows, std::size_t n, const dolfin::la_index *cols) | 
|   | Set block of values using global indices. 
  | 
|   | 
| 
virtual void  | set_local (const double *block, std::size_t m, const dolfin::la_index *rows, std::size_t n, const dolfin::la_index *cols) | 
|   | Set block of values using local indices. 
  | 
|   | 
| 
virtual void  | add (const double *block, std::size_t m, const dolfin::la_index *rows, std::size_t n, const dolfin::la_index *cols) | 
|   | Add block of values using global indices. 
  | 
|   | 
| 
virtual void  | add_local (const double *block, std::size_t m, const dolfin::la_index *rows, std::size_t n, const dolfin::la_index *cols) | 
|   | Add block of values using local indices. 
  | 
|   | 
| 
virtual void  | axpy (double a, const GenericMatrix &A, bool same_nonzero_pattern) | 
|   | Add multiple of given matrix (AXPY operation) 
  | 
|   | 
| 
virtual void  | getrow (std::size_t row, std::vector< std::size_t > &columns, std::vector< double > &values) const | 
|   | Get non-zero values of given row. 
  | 
|   | 
| 
virtual void  | setrow (std::size_t row, const std::vector< std::size_t > &columns, const std::vector< double > &values) | 
|   | Set values for given row. 
  | 
|   | 
| 
virtual void  | zero (std::size_t m, const dolfin::la_index *rows) | 
|   | Set given rows (global row indices) to zero. 
  | 
|   | 
| 
virtual void  | zero_local (std::size_t m, const dolfin::la_index *rows) | 
|   | Set given rows (local row indices) to zero. 
  | 
|   | 
| 
virtual void  | ident (std::size_t m, const dolfin::la_index *rows) | 
|   | Set given rows (global row indices) to identity matrix. 
  | 
|   | 
| 
virtual void  | ident_local (std::size_t m, const dolfin::la_index *rows) | 
|   | Set given rows (local row indices) to identity matrix. 
  | 
|   | 
| 
virtual void  | mult (const GenericVector &x, GenericVector &y) const | 
|   | Compute matrix-vector product y = Ax. 
  | 
|   | 
| virtual void  | transpmult (const GenericVector &x, GenericVector &y) const | 
|   | 
| 
virtual void  | get_diagonal (GenericVector &x) const | 
|   | Get diagonal of a matrix. 
  | 
|   | 
| 
virtual void  | set_diagonal (const GenericVector &x) | 
|   | Set diagonal of a matrix. 
  | 
|   | 
| 
virtual const TpetraMatrix &  | operator*= (double a) | 
|   | Multiply matrix by given number. 
  | 
|   | 
| 
virtual const TpetraMatrix &  | operator/= (double a) | 
|   | Divide matrix by given number. 
  | 
|   | 
| 
virtual const GenericMatrix &  | operator= (const GenericMatrix &A) | 
|   | Assignment operator. 
  | 
|   | 
| 
virtual bool  | is_symmetric (double tol) const | 
|   | Test if matrix is symmetric. 
  | 
|   | 
| 
virtual GenericLinearAlgebraFactory &  | factory () const | 
|   | Return linear algebra backend factory. 
  | 
|   | 
| 
double  | norm (std::string norm_type) const | 
|   | Return norm of matrix. 
  | 
|   | 
| 
const TpetraMatrix &  | operator= (const TpetraMatrix &A) | 
|   | Assignment operator. 
  | 
|   | 
| 
Teuchos::RCP< matrix_type >  | mat () | 
|   | Return Teuchos reference counted pointer to raw matrix. 
  | 
|   | 
| 
Teuchos::RCP< const matrix_type >  | mat () const | 
|   | Return Teuchos reference counted pointer to raw matrix (const) 
  | 
|   | 
| 
virtual  | ~GenericMatrix () | 
|   | Destructor. 
  | 
|   | 
| 
virtual std::size_t  | rank () const | 
|   | Return tensor rank (number of dimensions) 
  | 
|   | 
| 
virtual void  | get (double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) const | 
|   | Get block of values. 
  | 
|   | 
| 
virtual void  | set (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) | 
|   | Set block of values using global indices. 
  | 
|   | 
| 
virtual void  | set_local (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) | 
|   | Set block of values using local indices. 
  | 
|   | 
| 
virtual void  | add (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) | 
|   | Add block of values using global indices. 
  | 
|   | 
| 
virtual void  | add_local (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) | 
|   | Add block of values using local indices. 
  | 
|   | 
| 
virtual void  | add (const double *block, const std::vector< ArrayView< const dolfin::la_index >> &rows) | 
|   | Add block of values using global indices. 
  | 
|   | 
| 
virtual void  | add_local (const double *block, const std::vector< ArrayView< const dolfin::la_index >> &rows) | 
|   | Add block of values using local indices. 
  | 
|   | 
| 
const GenericMatrix &  | operator+= (const GenericMatrix &A) | 
|   | Add given matrix. 
  | 
|   | 
| 
const GenericMatrix &  | operator-= (const GenericMatrix &A) | 
|   | Subtract given matrix. 
  | 
|   | 
| 
virtual double  | operator() (dolfin::la_index i, dolfin::la_index j) const | 
|   | Get value of given entry. 
  | 
|   | 
| 
virtual double  | getitem (std::pair< dolfin::la_index, dolfin::la_index > ij) const | 
|   | Get value of given entry. 
  | 
|   | 
| virtual void  | setitem (std::pair< dolfin::la_index, dolfin::la_index > ij, double value) | 
|   | 
| 
virtual void  | ident_zeros (double tol=DOLFIN_EPS) | 
|   | Insert one on the diagonal for all zero rows. 
  | 
|   | 
| 
virtual  | ~GenericTensor () | 
|   | Destructor. 
  | 
|   | 
| 
virtual const LinearAlgebraObject *  | instance () const | 
|   | Return concrete instance / unwrap (const version) 
  | 
|   | 
| 
virtual LinearAlgebraObject *  | instance () | 
|   | Return concrete instance / unwrap (non-const version) 
  | 
|   | 
| 
virtual std::shared_ptr< const LinearAlgebraObject >  | shared_instance () const | 
|   | Return concrete shared ptr instance / unwrap (const version) 
  | 
|   | 
| 
virtual std::shared_ptr< LinearAlgebraObject >  | shared_instance () | 
|   | Return concrete shared ptr instance / unwrap (non-const version) 
  | 
|   | 
| 
  | Variable () | 
|   | Create unnamed variable. 
  | 
|   | 
| 
  | Variable (const std::string name, const std::string label) | 
|   | Create variable with given name and label. 
  | 
|   | 
| 
  | Variable (const Variable &variable) | 
|   | Copy constructor. 
  | 
|   | 
| 
virtual  | ~Variable () | 
|   | Destructor. 
  | 
|   | 
| 
const Variable &  | operator= (const Variable &variable) | 
|   | Assignment operator. 
  | 
|   | 
| 
void  | rename (const std::string name, const std::string label) | 
|   | Rename variable. 
  | 
|   | 
| 
std::string  | name () const | 
|   | Return name. 
  | 
|   | 
| 
std::string  | label () const | 
|   | Return label (description) 
  | 
|   | 
| std::size_t  | id () const | 
|   | 
This class provides a simple matrix class based on Tpetra. It is a wrapper for a Tpetra matrix pointer (Teuchos::RCP<matrix_type>) implementing the GenericMatrix interface.
The interface is intentionally simple. For advanced usage, access the Tpetra::RCP<matrix_type> pointer using the function mat() and use the standard Tpetra interface.