SplitMatrix Interface

public interface SplitMatrix

Contents


Module Procedures

private subroutine SplitMatrix_lsr(this, block_rows, block_columns, split_array, block_size_row_in, block_size_column_in)

Split a sparse matrix into an array of sparse matrices.

Arguments

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

The matrix to split.

integer, intent(in) :: block_rows

Number of rows to split the matrix into.

integer, intent(in) :: block_columns

Number of columns to split the matrix into.

type(Matrix_lsr), intent(inout), DIMENSION(:,:):: split_array

A COLUMNxROW array for the output to go into.

integer, intent(in), optional DIMENSION(:):: block_size_row_in

Specifies the size of the rows.

integer, intent(in), optional DIMENSION(:):: block_size_column_in

Specifies the size of the columns.

private subroutine SplitMatrix_lsc(this, block_rows, block_columns, split_array, block_size_row_in, block_size_column_in)

Split a sparse matrix into an array of sparse matrices.

Arguments

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

The matrix to split.

integer, intent(in) :: block_rows

Number of rows to split the matrix into.

integer, intent(in) :: block_columns

Number of columns to split the matrix into.

type(Matrix_lsc), intent(inout), DIMENSION(:,:):: split_array

A COLUMNxROW array for the output to go into.

integer, intent(in), optional DIMENSION(:):: block_size_row_in

Specifies the size of the rows.

integer, intent(in), optional DIMENSION(:):: block_size_column_in

Specifies the size of the columns.