Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancements in CSRMatrix #264

Open
4 of 15 tasks
vickysharma0812 opened this issue Dec 16, 2023 · 0 comments
Open
4 of 15 tasks

Enhancements in CSRMatrix #264

vickysharma0812 opened this issue Dec 16, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request matrix matrix sparse
Milestone

Comments

@vickysharma0812
Copy link
Member

vickysharma0812 commented Dec 16, 2023

Sparse info

Add following data to CSRMatrix_ field:

  • max_nnz_in_row Maximum number of non zero entries in a row

  • max_nnz_in_col Maximum number of non zero entries in a col

  • Add a method to get the bandwidth of the sparse matrix, which is defined as:

$$ m_{l} = max( \left [(i-j); a(i,j) \ne 0 \right ]) $$

$$ m_{u} = max( (j-i); a(i,j) \ne 0 ) $$

where,

  • $m_l$ is the bandwidth of the strict lower part of A.
  • $m_u$ is the bandwidth of the strict upper part of A.

Get compact row

  • Add methods to get compact row of a CSR matrix

Matrix vector multiplication:

Currently, we are using Sparsekit lib for matvec.

Instead Add following methods

  • amux : A times a vector. Compressed Sparse Row (CSR) format.
  • atmux : Transp(A) times a vector. CSR format.
  • atmuxr: Transp(A) times a vector. CSR format. A rectangular.
  • amuxms: A times a vector. Modified Compress Sparse Row format.
  • B = scale * A by using Set(obj, value, scale)
  • C = A + B
  • C = A + scale * B

Others

  • Implement GetDia method, currently we are using Sparsekit for this purpose.

Misc

@vickysharma0812 vickysharma0812 self-assigned this Dec 16, 2023
@vickysharma0812 vickysharma0812 added enhancement New feature or request matrix matrix sparse labels Dec 16, 2023
@vickysharma0812 vickysharma0812 added this to the v23.10.2 milestone Dec 16, 2023
@vickysharma0812 vickysharma0812 pinned this issue Dec 16, 2023
@vickysharma0812 vickysharma0812 changed the title Updates in MatVec methods for CSRMatrix Enhancements in CSRMatrix Dec 16, 2023
vickysharma0812 added a commit that referenced this issue Dec 16, 2023
- Adding SetMethods
- Working on issue #264
vickysharma0812 added a commit that referenced this issue Dec 16, 2023
- Adding Scal method
- working on issue #264
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request matrix matrix sparse
Projects
Status: To do
Development

No branches or pull requests

2 participants