Open KyleVaughn opened 11 months ago
Review by @marchier
I would suggest using the function interface virtual fp_type* matvec(fp_type* vecin)
and I'll add this to the SparseMatrix class.
Edit: change the api to avoid memory leak void matvec(fp_type* vecin, fp_type* vecout)
Description for the CSR matvec operation looks well defined
For the tasks section, I would suggest including more detail about operations to perform matvec in the CSR format (for example, including an operation to determine the row index value from the CSR vector variables)
Definition of done for CSR matvec operation looks well defined
@tjayasa will the vector input to the matvec method be a vector datatype or will it be a file pointer to a vector file? if it is a vector type, will there be any methods for importing a vector file into a vector type? Asking for testing purposes.
Hi, the CSR class has been added to the "csr" branch. Feel free to use & test it -- I write a simple "test" for it in the examples/mwe.cpp file. Just let me know if there are any bugs ...
Description:
Performing matrix-vector multiplication is the crux of this library's functionality.
This method will perform matrix-vector multiplication using the the sparse matrix data stored in the CSR format and an input vector (stored densely). The method will return the computed RHS vector (stored densely). The implementation of the matrix-vector multiplication will use the CSR row pointers vector, column index vector, and values vector directly rather than using the accessor functions.
Tasks:
Definition of done:
Evidence of a functional matvec implementation that can properly carry out matrix-vector multiplication showing the RHS matrix and vector and the computed LHS vector posted somewhere under this ticket.