Create a matrix-vector multiplication method for the Coordinate Format (COO) matrix class.
Design and implement a matrix-vector multiplication (matvec) method for our COO sparse matrix class. This method will efficiently multiply a COO matrix by a dense vector.
The COO format stores a list of (row, column, value) tuples for the non-zero elements of a matrix. Our implementation should take advantage of this structure to perform the multiplication efficiently.
Tasks:
Design the method signature for matvec in the COO matrix class
Implement the matvec method
Write unit tests for the matvec method:
Test with small, known matrices and vectors
Test with larger, random matrices and vectors
Test edge cases (e.g., empty matrix, all-zero vector)
Definition of done:
The matvec method is implemented
All planned tests are implemented and passing
Edge cases and potential error conditions are thoroughly tested
Code review has been conducted, and any feedback has been addressed
Description:
Create a matrix-vector multiplication method for the Coordinate Format (COO) matrix class. Design and implement a matrix-vector multiplication (matvec) method for our COO sparse matrix class. This method will efficiently multiply a COO matrix by a dense vector.
The COO format stores a list of (row, column, value) tuples for the non-zero elements of a matrix. Our implementation should take advantage of this structure to perform the multiplication efficiently.
Tasks:
Design the method signature for matvec in the COO matrix class Implement the matvec method Write unit tests for the matvec method: Test with small, known matrices and vectors Test with larger, random matrices and vectors Test edge cases (e.g., empty matrix, all-zero vector)
Definition of done:
The matvec method is implemented All planned tests are implemented and passing Edge cases and potential error conditions are thoroughly tested Code review has been conducted, and any feedback has been addressed