Skip to content

Conversation

@stevendargaville
Copy link
Collaborator

@stevendargaville stevendargaville commented Feb 10, 2026

This PR adds the ability to compute assembled matrices for the Newton form of the GMRES polynomial inverses, with both fixed sparsity and without. Previously only a matrix-free form was allowed. Many new tests of this capability have also been added.

This PR also changes how the Harmonic Ritz values are computed, by both:

  1. Skipping very small values that were appearing due to rounding (sometimes small and on the left hand side of the plane which isn't possible for real matrices)
  2. Computes clusters of eigenvalues and skips duplicates so we can more robustly handle cases where lower order polynomials than requested act as exact inverses

Also fixes an existing bug in the Kokkos GMRES polynomial implementation, unrelated to the Newton form.

… done, just need to finish the higher order fixed sparsity terms in mat_mult_powers_share_sparsity_newton_cpu.
…r) cases are working, but the (r,c,c) is not yet.
…he three cases with real and complex eigenvalues, namely (r,r,r), (c,c,r) and (r,c,c) cases.
…n the rank deficient compute of harmonic ritz values lead to z negative eigenvalue (-1e-16). We now explicitly check for small eigenvalues in magnitude and set them to zero
…ES polynomials. Also ensure all the exact zero eigenvalues are moved to the end of the coefficients array.
…ES polynomial, both matrix-free and assembled
…s to test they can handle solving a problem where a lower order polynomial is an exact solution.
…plementation (unconnected to the Newton form). If using higher-order fixed sparsity, the matching during the fixed sparsity matrix-matrix product was not correct for non-local columns of local rows
@stevendargaville stevendargaville merged commit 1f4d99e into main Feb 11, 2026
14 checks passed
@stevendargaville stevendargaville deleted the newton_assemble branch February 11, 2026 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant