Skip to content

update Riemannian Conjugate Gradient tunable - #25

Merged
sChoiKr merged 3 commits into
mainfrom
rcg
Jun 18, 2026
Merged

update Riemannian Conjugate Gradient tunable#25
sChoiKr merged 3 commits into
mainfrom
rcg

Conversation

@sChoiKr

@sChoiKr sChoiKr commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

RCG update

  • Made RCG solver configurable through RCGSolver fields.
  • Added tunable coefficient rules :hager_zhang, :polak_ribiere, :fletcher_reeves, :dai_yuan, :hestenes_stiefel, :conjugate_descent, and :steepest.
  • Added tunable restart strategies, including :non_descent, :non_sufficient_descent, and :never.
  • Added optional Beale restart support via beale_restart.
  • Added parameters for restart_threshold, sufficient_descent_kappa, and denom_threshold.
  • Updated RCG to pass coefficient and restart_condition explicitly to Manopt’s conjugate_gradient_descent.
  • Added RCGSolver metadata to solver_info, including selected coefficient, restart rule, transport type, and thresholds.
  • Updated solver dispatch so cpd(...; solver=:rcg, coefficient=..., restart=...) forwards options into RCGSolver.
  • Removed the need for local SegreProjectionTransport implementation, relying on upstream Manifolds.jl support.

@sChoiKr
sChoiKr merged commit 97958c8 into main Jun 18, 2026
3 checks passed
@sChoiKr
sChoiKr deleted the rcg branch June 18, 2026 07:38
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