GenericMatrix

class dolfin.cpp.la.GenericMatrix(*args, **kwargs)

Bases: dolfin.cpp.la.GenericTensor, dolfin.cpp.la.GenericLinearOperator

This class defines a common interface for matrices.

add()

Add block of values using global indices.

Parameters:
  • double * block (const) –
  • std::vector< ArrayView< const dolfin::la_index >> & rows (const) –
Return type:

void

add_local()

Add block of values using local indices.

Parameters:
  • double * block (const) –
  • std::vector< ArrayView< const dolfin::la_index >> & rows (const) –
Return type:

void

array()

Return a numpy array representation of Matrix

assign()

Assignment operator.

Parameters:GenericMatrix & x (const) –
Return type:const GenericMatrix &
axpy()

Add multiple of given matrix (AXPY operation)

Parameters:
  • a (double) –
  • GenericMatrix & A (const) –
  • same_nonzero_pattern (bool) –
Return type:

void

copy()

Return copy of matrix.

Return type:std::shared_ptr< GenericMatrix >
get()

Get block of values.

Parameters:
  • * block (double) –
  • m (std::size_t) –
  • dolfin::la_index * rows (const) –
  • n (std::size_t) –
  • dolfin::la_index * cols (const) –
Return type:

void

get_diagonal()

Get diagonal of a matrix.

Parameters:& x (GenericVector) –
Return type:void
getrow()

Get non-zero values of given row (global index) on local process.

Parameters:
  • row (std::size_t) –
  • std::size_t > & columns (std::vector<) –
  • double > & values (std::vector<) –
Return type:

void

ident()

Set given rows (global row indices) to identity matrix.

Parameters:
  • m (std::size_t) –
  • dolfin::la_index * rows (const) –
Return type:

void

ident_local()

Set given rows (local row indices) to identity matrix.

Parameters:
  • m (std::size_t) –
  • dolfin::la_index * rows (const) –
Return type:

void

ident_zeros()

Insert one on the diagonal for all zero rows.

Parameters:tol (double) –
Return type:void
init_vector()

Initialize vector z to be compatible with the matrix-vector product y = Ax. In the parallel case, both size and layout are important.

Parameters:
  • & z (GenericVector) – (GenericVector &) Vector to initialise
  • dim (std::size_t) – (std::size_t) The dimension (axis): dim = 0 –> z = y, dim = 1 –> z = x
Return type:

void

is_symmetric()

Test if matrix is symmetric.

Parameters:tol (double) –
Return type:bool
nnz()

Return number of non-zero entries in matrix (collective)

Return type:std::size_t
norm()

Return norm of matrix.

Parameters:norm_type (std::string) –
Return type:double
set()

Set block of values using global indices.

Parameters:
  • double * block (const) –
  • m (std::size_t) –
  • dolfin::la_index * rows (const) –
  • n (std::size_t) –
  • dolfin::la_index * cols (const) –
Return type:

void

set_diagonal()

Set diagonal of a matrix.

Parameters:GenericVector & x (const) –
Return type:void
set_local()

Set block of values using local indices.

Parameters:
  • double * block (const) –
  • dolfin::la_index * num_rows (const) –
  • dolfin::la_index *const * rows (const) –
Return type:

void

setrow()

Set values for given row (global index) on local process.

Parameters:
  • row (std::size_t) –
  • std::vector< std::size_t > & columns (const) –
  • std::vector< double > & values (const) –
Return type:

void

thisown

The membership flag

transpmult()

Matrix-vector product, y = A^T x. The y vector must either be zero-sized or have correct size and parallel layout.

Parameters:
Return type:

void

zero()

Set all entries to zero and keep any sparse structure.

Return type:void
zero_local()

Set given rows (local row indices) to zero.

Parameters:
  • m (std::size_t) –
  • dolfin::la_index * rows (const) –
Return type:

void