stdlib_io_mm Module

The Matrix Market (MM) format is a simple, human-readable, ASCII format for sparse and dense matrices. The format was developed at NIST (National Institute of Standards and Technology) for the Matrix Market, a repository of test matrices for use in comparative studies of algorithms for numerical linear algebra.

For more information, see: https://math.nist.gov/MatrixMarket/formats.html


Used by


Interfaces

public interface load_mm

Load a matrix from a Matrix Market file (Specification)

  • private module subroutine load_mm_coo_cdp(filename, index, data, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer, intent(out), allocatable :: index(:,:)

    Matrix indices to be read from the Matrix Market file

    complex(kind=dp), intent(out), allocatable :: data(:)

    Matrix data to be read from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_coo_csp(filename, index, data, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer, intent(out), allocatable :: index(:,:)

    Matrix indices to be read from the Matrix Market file

    complex(kind=sp), intent(out), allocatable :: data(:)

    Matrix data to be read from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_coo_dp(filename, index, data, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer, intent(out), allocatable :: index(:,:)

    Matrix indices to be read from the Matrix Market file

    real(kind=dp), intent(out), allocatable :: data(:)

    Matrix data to be read from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_coo_int16(filename, index, data, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer, intent(out), allocatable :: index(:,:)

    Matrix indices to be read from the Matrix Market file

    integer(kind=int16), intent(out), allocatable :: data(:)

    Matrix data to be read from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_coo_int32(filename, index, data, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer, intent(out), allocatable :: index(:,:)

    Matrix indices to be read from the Matrix Market file

    integer(kind=int32), intent(out), allocatable :: data(:)

    Matrix data to be read from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_coo_int64(filename, index, data, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer, intent(out), allocatable :: index(:,:)

    Matrix indices to be read from the Matrix Market file

    integer(kind=int64), intent(out), allocatable :: data(:)

    Matrix data to be read from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_coo_int8(filename, index, data, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer, intent(out), allocatable :: index(:,:)

    Matrix indices to be read from the Matrix Market file

    integer(kind=int8), intent(out), allocatable :: data(:)

    Matrix data to be read from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_coo_sp(filename, index, data, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer, intent(out), allocatable :: index(:,:)

    Matrix indices to be read from the Matrix Market file

    real(kind=sp), intent(out), allocatable :: data(:)

    Matrix data to be read from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_dense_cdp(filename, matrix, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    complex(kind=dp), intent(out), allocatable :: matrix(:,:)

    Matrix to be loaded from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_dense_csp(filename, matrix, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    complex(kind=sp), intent(out), allocatable :: matrix(:,:)

    Matrix to be loaded from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_dense_dp(filename, matrix, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    real(kind=dp), intent(out), allocatable :: matrix(:,:)

    Matrix to be loaded from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_dense_int16(filename, matrix, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer(kind=int16), intent(out), allocatable :: matrix(:,:)

    Matrix to be loaded from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_dense_int32(filename, matrix, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer(kind=int32), intent(out), allocatable :: matrix(:,:)

    Matrix to be loaded from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_dense_int64(filename, matrix, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer(kind=int64), intent(out), allocatable :: matrix(:,:)

    Matrix to be loaded from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_dense_int8(filename, matrix, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    integer(kind=int8), intent(out), allocatable :: matrix(:,:)

    Matrix to be loaded from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

  • private module subroutine load_mm_dense_sp(filename, matrix, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename

    Name of the Matrix Market file to load from

    real(kind=sp), intent(out), allocatable :: matrix(:,:)

    Matrix to be loaded from the Matrix Market file

    integer, intent(out), optional :: iostat

    Error status of loading, zero on success

    character(len=:), intent(out), optional, allocatable :: iomsg

    Associated error message in case of non-zero status code

public interface save_mm

Save a matrix to a Matrix Market file (Specification)

  • private module subroutine save_mm_coo_cdp(filename, index, data, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: index(:,:)
    complex(kind=dp), intent(in) :: data(:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_coo_csp(filename, index, data, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: index(:,:)
    complex(kind=sp), intent(in) :: data(:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_coo_dp(filename, index, data, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: index(:,:)
    real(kind=dp), intent(in) :: data(:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_coo_int16(filename, index, data, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: index(:,:)
    integer(kind=int16), intent(in) :: data(:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_coo_int32(filename, index, data, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: index(:,:)
    integer(kind=int32), intent(in) :: data(:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_coo_int64(filename, index, data, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: index(:,:)
    integer(kind=int64), intent(in) :: data(:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_coo_int8(filename, index, data, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: index(:,:)
    integer(kind=int8), intent(in) :: data(:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_coo_sp(filename, index, data, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: index(:,:)
    real(kind=sp), intent(in) :: data(:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_dense_cdp(filename, matrix, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    complex(kind=dp), intent(in) :: matrix(:,:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_dense_csp(filename, matrix, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    complex(kind=sp), intent(in) :: matrix(:,:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_dense_dp(filename, matrix, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    real(kind=dp), intent(in) :: matrix(:,:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_dense_int16(filename, matrix, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer(kind=int16), intent(in) :: matrix(:,:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_dense_int32(filename, matrix, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer(kind=int32), intent(in) :: matrix(:,:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_dense_int64(filename, matrix, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer(kind=int64), intent(in) :: matrix(:,:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_dense_int8(filename, matrix, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer(kind=int8), intent(in) :: matrix(:,:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg
  • private module subroutine save_mm_dense_sp(filename, matrix, comment, format, symmetry, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    real(kind=sp), intent(in) :: matrix(:,:)
    character(len=*), intent(in), optional :: comment
    character(len=*), intent(in), optional :: format
    character(len=*), intent(in), optional :: symmetry
    integer, intent(out), optional :: iostat
    character(len=:), intent(out), optional, allocatable :: iomsg

Derived Types

type, public ::  mm_header_type

Components

Type Visibility Attributes Name Initial
character(len=1024), public, allocatable :: comments(:)
integer, public :: format
integer, public :: object
integer, public :: qualifier
integer, public :: symmetry