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

Add function to expand symmetric matrix stored as an upper/lower triangular to a full square matrix #155

Open
pelesh opened this issue Jun 11, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request question Further information is requested

Comments

@pelesh
Copy link
Collaborator

pelesh commented Jun 11, 2024

In some instances an application generating symmetric matrices in a lower/upper triangle storage format may use Re::Solve's LU solvers. In that case, the matrix needs to be expanded to the full square matrix format. It would be helpful to have expandSymmetricMatrix function available to make such transformation when needed.

First to decide is where this function should be implemented:

  • As a member of matrix::Sparse class?
  • As a member of matrix::MatrixHandler?
  • As a standalone function in matrix namespace.

Several implementation details that need to be decided:

  • When to allocate device memory for the expanded matrix?
  • What operations to carry out on the host and what on the device?
  • How to reuse sparsity pattern of the expanded matrix over several linear solver calls?

CC @kswirydo @maksud

@superwhiskers
Copy link
Collaborator

this will be closed by the merge of #164 unless the addition of ReSolve::matrix::expand is dropped.

@superwhiskers superwhiskers linked a pull request Jun 19, 2024 that will close this issue
@superwhiskers
Copy link
Collaborator

actually, i suppose that doesn't totally resolve the issue since ReSolve::matrix::expand is currently only host-side. it still needs to be decided whether there's a need for gpu-related functionality here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants