PSparseMatrix
Type signature
PartitionedArrays.PSparseMatrix — Typestruct PSparseMatrix{V,B,C,D,T}PSparseMatrix (partitioned sparse matrix) is a type representing a matrix whose rows are distributed (a.k.a. partitioned) over different parts for distributed-memory parallel computations. Each part stores a subset of the rows of the matrix and their corresponding non zero columns.
This type overloads numerous array-like operations with corresponding parallel implementations.
Properties
matrix_partition::Arow_partition::Bcol_partition::Cassembled::Bool
matrix_partition[i] contains a (sparse) matrix with the local rows and the corresponding nonzero columns (the local columns) in the part number i. eltype(matrix_partition) == V. row_partition[i] and col_partition[i] contain information about the local, own, and ghost rows and columns respectively in part number i. The types eltype(row_partition) and eltype(col_partition) implement the AbstractLocalIndices interface. For assembled==true, it is assumed that the matrix data is fully contained in the own rows.
Supertype hierarchy
PSparseMatrix{V,A,B,C,T} <: AbstractMatrix{T}with T=eltype(V).
Accessors
PartitionedArrays.local_values — Methodlocal_values(a::PSparseMatrix)Get a vector of matrices containing the local rows and columns in each part of a.
The row and column indices of the returned matrices can be mapped to global indices, own indices, ghost indices, and owner by using local_to_global, local_to_own, local_to_ghost, and local_to_owner, respectively.
PartitionedArrays.own_own_values — Methodown_own_values(a::PSparseMatrix)Get a vector of matrices containing the own rows and columns in each part of a.
The row and column indices of the returned matrices can be mapped to global indices, local indices, and owner by using own_to_global, own_to_local, and own_to_owner, respectively.
PartitionedArrays.own_ghost_values — Methodown_ghost_values(a::PSparseMatrix)Get a vector of matrices containing the own rows and ghost columns in each part of a.
The row indices of the returned matrices can be mapped to global indices, local indices, and owner by using own_to_global, own_to_local, and own_to_owner, respectively.
The column indices of the returned matrices can be mapped to global indices, local indices, and owner by using ghost_to_global, ghost_to_local, and ghost_to_owner, respectively.
PartitionedArrays.ghost_own_values — Methodghost_own_values(a::PSparseMatrix)Get a vector of matrices containing the ghost rows and own columns in each part of a.
The row indices of the returned matrices can be mapped to global indices, local indices, and owner by using ghost_to_global, ghost_to_local, and ghost_to_owner, respectively.
The column indices of the returned matrices can be mapped to global indices, local indices, and owner by using own_to_global, own_to_local, and own_to_owner, respectively.
PartitionedArrays.ghost_ghost_values — Methodghost_ghost_values(a::PSparseMatrix)Get a vector of matrices containing the ghost rows and columns in each part of a.
The row and column indices of the returned matrices can be mapped to global indices, local indices, and owner by using ghost_to_global, ghost_to_local, and ghost_to_owner, respectively.
Constructors
PartitionedArrays.PSparseMatrix — MethodPSparseMatrix(matrix_partition,row_partition,col_partition,assembled)Build an instance for PSparseMatrix from the underlying fields matrix_partition, row_partition, col_partition, assembled.
PartitionedArrays.psparse — Methodpsparse(f,row_partition,col_partition;assembled)Build an instance of PSparseMatrix from the initialization function f and the partition for rows and columns row_partition and col_partition.
Equivalent to
matrix_partition = map(f,row_partition,col_partition)
PSparseMatrix(matrix_partition,row_partition,col_partition,assembled)PartitionedArrays.psparse — Methodpsparse([f,]I,J,V,row_partition,col_partition;kwargs...) -> TaskCrate an instance of PSparseMatrix by setting arbitrary entries from each of the underlying parts. It returns a task that produces the instance of PSparseMatrix allowing latency hiding while performing the communications needed in its setup.
PartitionedArrays.psparse! — Functionpsparse!(C::PSparseMatrix,V,cache)PartitionedArrays.psystem — Functionpsystem(I,J,V,I2,V2,rows,cols;kwargs...)PartitionedArrays.psystem! — Functionpsystem!(A,b,V,V2,cache)Assembly
PartitionedArrays.assemble — Methodassemble(A::PSparseMatrix[,rows];kwargs...)PartitionedArrays.assemble! — Methodassemble!(B::PSparseMatrix,A::PSparseMatrix,cache)PartitionedArrays.consistent — Methodconsistent(A::PSparseMatrix,rows;kwargs...)PartitionedArrays.consistent! — Methodconsistent!(B::PSparseMatrix,A::PSparseMatrix,cache)Re-partition
PartitionedArrays.repartition — Methodrepartition(A::PSparseMatrix,new_rows,new_cols;reuse=false)PartitionedArrays.repartition! — Methodrepartition!(B::PSparseMatrix,A::PSparseMatrix,cache)PartitionedArrays.repartition — Methodrepartition(A::PSparseMatrix,b::PVector,new_rows,new_cols;reuse=false)PartitionedArrays.repartition! — Methodrepartition!(B,c,A,b,cache)B::PSparseMatrixc::PVectorA::PSparseMatrixb::PVectorcache