bkochuna / ners570f24-SpMV

3 stars 0 forks source link

Add a CSR matrix class #4

Open KyleVaughn opened 1 month ago

KyleVaughn commented 1 month ago

Description:

Implement a Compressed Sparse Row (CSR) matrix class as part of our sparse matrix library. The CSR format is an efficient storage method for sparse matrices, storing only non-zero elements along with row and column indexing information. This class will serve as a fundamental component for CSR-based matrix operations in our library.

Tasks:

Definition of done:

shreyasv11 commented 1 month ago

@NiloyGupta-UM this is ready for review.

NiloyGupta-UM commented 1 month ago

nrows, ncols, and nnz should be of the size_t type rather than standard int. Furthermore, what data types are the row_ptr, col_idx, and values vectors holding? Also, assuming we are sticking with the file conventions already started, the header file should be named SparseMatrix_CSR.hpp. Furthermore, any nontrivial methods should be contained in a .cpp file, so this should also be a specification.

Also, implementing accessor methods has its own issue, so this task should be removed from this issue.

Other than those changes, the list of tasks and requirements is quite comprehensive and seems adequate. A couple of changes might need to be made depending on some of the coding conventions required by the group.