Skip to main content


CSRMatrix is defined to handle Compressed Sparse Row matrix.

Currently following modules are defined.

  • CSRMatrix_ConstructorMethods
  • CSRMatrix_IOMethods
  • CSRMatrix_SparsityMethods
  • CSRMatrix_SetMethods
  • CSRMatrix_AddMethods
  • CSRMatrix_SetRowMethods
  • CSRMatrix_SetColMethods
  • CSRMatrix_SetBlockRowMethods
  • CSRMatrix_SetBlockColMethods
  • CSRMatrix_GetMethods
  • CSRMatrix_GetRowMethods
  • CSRMatrix_GetColMethods
  • CSRMatrix_GetSubMatrixMethods
  • CSRMatrix_GetBlockRowMethods
  • CSRMatrix_GetBlockColMethods
  • CSRMatrix_UnaryMethods
  • CSRMatrix_ILUMethods
  • CSRMatrix_LUSolveMethods
  • CSRMatrix_MatVecMethods
  • CSRMatrix_MatmulMethods
  • CSRMatrix_ReorderingMethods
  • CSRMatrix_DiagonalScalingMethods
  • CSRMatrix_MatrixMarketIO
  • CSRMatrix_Superlu
  • CSRMatrix_SpectralMethods
  • CSRMatrix_SchurMethods
  • CSRMatrix_DBCMethods
  • CSRMatrix_LinSolveMethods

Constructor methods​

InitiateInitiate instance of CSRMatrixdone
ShapeReturns shape of the matrixdone
SizeReturns size of matrixdone
TotalDimensionReturns the total dimensiondone
GetNNZReturns total number of non zerosdone
AllocateAllocate memory for sparse matrixdone
DeallocateDeallocate the data stored in CSRMatrixdone
CSRMatrixAPLSBAdd two csr matrixdone
CSRMatrixAPLSBSortedAdd two csr matrixdone

Unary Methods​

Following subroutines are planned to include in this module

ScalScale the sparse matrixdone
ConvertConvert CSR matrix to dense matrix and vice-versadone
ColumnSORTsorts the elements in increasing order of columnsdone
RemoveDuplicatesclean up the CSR format matrix, remove duplicate entry, etcdone
CleanThis routine performs tasks related to the cleaning of sparse matrix.done
Copycopy of a matrix into another matrix (both stored csr)done
Getreturns a(i,j) for any (i,j) from a CSR-stored matrix.done
DropEntryThis routine removes any elements whose absolute value is small from an input matrix A and puts the resulting matrix in B.done
GetTransposein-place transposition routinedone
GetDiagonalextracts a specified diagonal from a matrix.done
GetLowerTriangleextracts lower triangular partdone
GetUpperTriangleextracts upper triangular partdone
GetSymGet the symmetric matrix from CSR matrixdone
PermuteRowpermutes the rows of a matrix (B = P A)done
PermuteColumnpermutes the columns of a matrix (B = A Q)done
Permutepermutes both the rows and columns of a matrix (B = P A Q )done
DVPERMpermutes a real vector (in-place)todo
IVPERMpermutes an integer vector (in-place)todo
FILTERfilters elements from a matrix according to their magnitudetodo
LEVELSgets the level scheduling structure for lower triangular matricestodo
AMASKextracts C = A mask Mtodo
RETMXreturns the max absolute value in each row of the matrixtodo
DIAPOSreturns the positions of the diagonal elements in A.todo
EXTBDGextracts the main diagonal blocks of a matrix.todo
GETBWDreturns the bandwidth information on a matrix.todo
BLKFNDfinds the block-size of a matrix.todo
BLKCHKchecks whether a given integer is the block size of A.todo
INFDIAobtains information on the diagonals of A.todo
AMUBDGgets number of nonzeros in each row of A*B (as well as NNZ)todo
APLBDGgets number of nonzeros in each row of A+B (as well as NNZ)todo
RNRMScomputes the norms of the rows of Atodo
CNRMScomputes the norms of the columns of Atodo
ROSCALscales the rows of a matrix by their norms.todo
COSCALscales the columns of a matrix by their norms.todo
ADDBLKAdds a matrix B into a block of A.todo
GET1UPCollects the first elements of each row of the upper triangular portion of the matrixtodo
XTROWSextracts given rows from a matrix in CSR format.todo
CSRKVSTRFinds block row partitioning of matrix in CSR formattodo
CSRKVSTCFinds block column partitioning of matrix in CSR formattodo
KVSTMERGEMerges block partitionings, for conformal row/col patterntodo

All methods​