Houses row data class in the form of distinct sparse vectors
Sparse row data Object initialization routine. If indices are supplied initializes values to 0.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SparseRowData), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | rowIndices |
Row indices of each sparse row vector |
type(IntArray), | intent(in), | optional, | dimension(:) | :: | colVectors |
Arrays of column indices for each row |
Add sparse row vector to data Object and initialize its values to 0, unless value vector is supplied
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SparseRowData), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in) | :: | rowIndex |
Row index of added vector |
||
integer(kind=ik), | intent(in), | dimension(:) | :: | columnIndices |
Column indices of nonzeros in row |
|
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | values |
Values of nonzeros in row |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SparseRowData), | intent(in) | :: | mat1 | |||
class(SparseRowData), | intent(in) | :: | mat2 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(RealArray), | intent(in), | dimension(:) | :: | mat1 | ||
class(SparseRowData), | intent(in) | :: | mat2 |
Sparse row matrix representation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
integer(kind=ik), | public, | allocatable, dimension(:) | :: | rowIndex |
Row indices of each sparse row vector |
||
type(IntArray), | public, | allocatable, dimension(:) | :: | columnVector |
Arrays of column indices for each row |
||
type(RealArray), | public, | allocatable, dimension(:) | :: | values |
Values associated with each sparse row vector |
procedure, public :: isDefined => isDefinedObject | |
procedure, public :: makeDefined => makeDefinedObject | |
procedure, public :: makeUndefined => makeUndefinedObject | |
procedure, public :: addRow | |
procedure, public :: init => initSparseRowData |