Skip to content

Avoid LSMR post-computation in feasibility step#198

Open
arnavk23 wants to merge 2 commits intoJuliaSmoothOptimizers:mainfrom
arnavk23:fix-issue-95
Open

Avoid LSMR post-computation in feasibility step#198
arnavk23 wants to merge 2 commits intoJuliaSmoothOptimizers:mainfrom
arnavk23:fix-issue-95

Conversation

@arnavk23
Copy link
Copy Markdown
Contributor

@arnavk23 arnavk23 commented Apr 19, 2026

@tmigot Reuse Krylov LSMR stats for residual and step norms in feasibility_step.

Remove extra J*d post-computation in TR_lsmr and use stats.xNorm for infeasibility check.
Fixes #95

Reuse Krylov LSMR stats for residual and step norms in feasibility_step.

Remove extra J*d post-computation in TR_lsmr and use stats.xNorm for infeasibility check.

Refs JuliaSmoothOptimizers#95
Copilot AI review requested due to automatic review settings April 19, 2026 20:54
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the feasibility trust-region step to avoid extra post-computation when using the Krylov LSMR-based step, reusing LSMR-provided statistics to compute the predicted reduction and step/infeasibility norms (fixing #95).

Changes:

  • Reuse LSMR stats (xNorm, residual) in feasibility_step to compute ‖d‖ and ‖c + Jd‖ without extra products.
  • Skip the J * d post-computation in TR_lsmr and use stats.xNorm for the infeasibility check.
  • Use cached nd in logging and trust-region radius update logic.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/dci_feasibility.jl Outdated
Comment thread src/dci_feasibility.jl
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.

Avoid post-computation in Krylov solver

2 participants