GetMatrixBlock Interface

public interface GetMatrixBlock

Contents


Module Procedures

private subroutine GetMatrixBlock_psr(this, triplet_list, start_row, end_row, start_column, end_column)

Extract an arbitrary block of a matrix into a triplet list. Block is defined by the row/column start/end values. This is slower than GetMatrixTripletList, because communication is required Data is returned with absolute coordinates.

Arguments

Type IntentOptional AttributesName
type(Matrix_ps), intent(in) :: this

The distributed sparse matrix.

type(TripletList_r), intent(inout) :: triplet_list

The list to fill.

integer :: start_row

The starting row for data to store on this process.

integer :: end_row

The ending row for data to store on this process.

integer :: start_column

The starting col for data to store on this process

integer :: end_column

The ending col for data to store on this process

private subroutine GetMatrixBlock_psc(this, triplet_list, start_row, end_row, start_column, end_column)

Extract an arbitrary block of a matrix into a triplet list. Block is defined by the row/column start/end values. This is slower than GetMatrixTripletList, because communication is required Data is returned with absolute coordinates.

Arguments

Type IntentOptional AttributesName
type(Matrix_ps), intent(in) :: this

The distributed sparse matrix.

type(TripletList_c), intent(inout) :: triplet_list

The list to fill.

integer :: start_row

The starting row for data to store on this process.

integer :: end_row

The ending row for data to store on this process.

integer :: start_column

The starting col for data to store on this process

integer :: end_column

The ending col for data to store on this process