Skip to content

Feature: SUNDomEigEstimator upgrades#847

Open
maggul wants to merge 102 commits intodevelopfrom
SUNDomEigEstimator_Upgrades
Open

Feature: SUNDomEigEstimator upgrades#847
maggul wants to merge 102 commits intodevelopfrom
SUNDomEigEstimator_Upgrades

Conversation

@maggul
Copy link
Copy Markdown
Collaborator

@maggul maggul commented Feb 10, 2026

This PR updates the current SUNDomEigEstimator module to support robust estimation of complex-valued dominant eigenvalues. In addition, it updates the LSRKStep's STS methods to ensure compatibility with systems that have complex dominant eigenvalues. To this end, it enables stability region checks for linear stability analysis and allows adjustment of the number of stages or step sizes to ensure stability for the estimated dominant eigenvalue.

@maggul maggul self-assigned this Feb 12, 2026
@maggul maggul requested review from Copilot and gardner48 April 3, 2026 18:25

This comment was marked as resolved.

Copy link
Copy Markdown
Collaborator

@drreynolds drreynolds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I finished a pass through the revisions. It looks like this is getting close, with a few more minor items to resolve. I added a number of "suggestions" to this review, particularly regarding wording in the documentation.

Comment on lines 197 to 199
used by this routine, to the dominant eigenvalue estimator. This function is
*required* when using the matrix-vector product function provided by a
SUNDIALS integrator, otherwise the function is *optional*.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this "required" statement still accurate, now that you added SUNDomEigEstimator_SetRhs? If not, this should be revised accordingly.

Comment on lines +572 to +573
/* Compute number of stages based on current step size and
dominant eigenvalue using Eq. (2.7) in Verwer et al. (2004) */
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend that we defer this change until it can be investigated in more detail, since RKL and RKC are unlike ERK or DIRK methods that have a fixed number of stages. If we can find a use case where allowing the real part of h*lambda to be positive is beneficial, then I'd be more in favor. However for now I'd rather throw an error and potentially hear about it from users.

Comment on lines +929 to +930
/* Compute number of stages based on current step size and
dominant eigenvalue using Eq. 21 in Meyer et al. (2014) */
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As with RKC, I recommend that we defer this change until it can be investigated in more detail, since RKL and RKC are unlike ERK or DIRK methods that have a fixed number of stages. If we can find a use case where allowing the real part of h*lambda to be positive is beneficial, then I'd be more in favor. However for now I'd rather throw an error and potentially hear about it from users.

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.

5 participants