SparsityPattern.h¶
Note
The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.
-
class
SparsityPattern
¶ Parent class(es)
This class implements the GenericSparsityPattern interface. It is used by most linear algebra backends.
-
SparsityPattern
(std::size_t primary_dim)¶ Create empty sparsity pattern
-
SparsityPattern
(const std::vector<std::size_t> &dims, const std::vector<std::pair<std::size_t, std::size_t>> &ownership_range, const std::vector<const boost::unordered_map<std::size_t, unsigned int> *> off_process_owner, std::size_t primary_dim)¶ Create sparsity pattern for a generic tensor
-
void
init
(const std::vector<std::size_t> &dims, const std::vector<std::pair<std::size_t, std::size_t>> &ownership_range, const std::vector<const boost::unordered_map<std::size_t, unsigned int> *> off_process_owner)¶ Initialize sparsity pattern for a generic tensor
-
void
insert
(const std::vector<const std::vector<dolfin::la_index> *> &entries)¶ Insert non-zero entries
-
void
add_edges
(const std::pair<dolfin::la_index, std::size_t> &vertex, const std::vector<dolfin::la_index> &edges)¶ Add edges (vertex = [index, owning process])
-
std::size_t
rank
() const¶ Return rank
-
std::pair<std::size_t, std::size_t>
local_range
(std::size_t dim) const¶ Return local range for dimension dim
-
std::size_t
num_nonzeros
() const¶ Return number of local nonzeros
-
void
num_nonzeros_diagonal
(std::vector<std::size_t> &num_nonzeros) const¶ Fill array with number of nonzeros for diagonal block in local_range for dimension 0. For matrices, fill array with number of nonzeros per local row for diagonal block
-
void
num_nonzeros_off_diagonal
(std::vector<std::size_t> &num_nonzeros) const¶ Fill array with number of nonzeros for off-diagonal block in local_range for dimension 0. For matrices, fill array with number of nonzeros per local row for off-diagonal block
-
void
num_local_nonzeros
(std::vector<std::size_t> &num_nonzeros) const¶ Fill vector with number of nonzeros in local_range for dimension 0
-
void
get_edges
(std::size_t vertex, std::vector<dolfin::la_index> &edges) const¶ Fill vector with edges for given vertex
-
void
apply
()¶ Finalize sparsity pattern
-
std::string
str
(bool verbose) const¶ Return informal string representation (pretty-print)
-
std::vector<std::vector<std::size_t>>
diagonal_pattern
(Type type) const¶ Return underlying sparsity pattern (diagonal). Options are ‘sorted’ and ‘unsorted’.
-
std::vector<std::vector<std::size_t>>
off_diagonal_pattern
(Type type) const¶ Return underlying sparsity pattern (off-diagional). Options are ‘sorted’ and ‘unsorted’.
-