Skip to content

Add an in-place LU decomposition using the MOZART LU algorithm #695

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

Closed
mattldawson opened this issue Dec 16, 2024 · 0 comments · Fixed by #698
Closed

Add an in-place LU decomposition using the MOZART LU algorithm #695

mattldawson opened this issue Dec 16, 2024 · 0 comments · Fixed by #698
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@mattldawson
Copy link
Collaborator

The current implementation of the MOZART LU decomposition scheme accepts separate A, L, and U matrices. Add an LU decomposition option that can be used with the Backward Euler solver that does an in-place LU decomposition, overwriting the A matrix with the L and U matrix data, and then uses this in the linear solve.

Acceptance Criteria

  • An in-place LU decomposition and solve is available for use with the Backward Euler solver
  • Tests of the Backward Euler solver with the in-place LU decomposition and solve are included for all the analytical test cases.

Ideas

  • Collect the Jacobian non-zero elements, do the Diagonal Markowitz reordering, add any additional non-zero elements needed by the L and U matrices, and then create a jacobian/L/U combined sparse matrix in the State
  • Overload the LinearSolver::Factor() and LinearSolver::Solve() functions with versions that accept a non-const reference to a single sparse matrix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant