% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/qn_updates.R
\name{update_hybrid_sr1_first}
\alias{update_hybrid_sr1_first}
\title{Hybrid Update with SR1-First Routing}
\usage{
update_hybrid_sr1_first(
  b,
  s,
  y,
  bfgs_tol = 1e-10,
  sr1_skip_tol = 1e-08,
  skip_count = 0L,
  restart_threshold = 5L
)
}
\arguments{
\item{b}{Current Hessian approximation (n x n symmetric matrix).}

\item{s}{Step vector: s = x_new - x_old.}

\item{y}{Gradient difference: y = g_new - g_old.}

\item{bfgs_tol}{Tolerance for BFGS curvature condition (default: 1e-10).}

\item{sr1_skip_tol}{Tolerance for SR1 skip test (default: 1e-8).}

\item{skip_count}{Current count of consecutive skipped updates.}

\item{restart_threshold}{Number of consecutive skips before restart
(default: 5).}
}
\value{
Same structure as update_hybrid.
}
\description{
Reverse priority of update_hybrid: tries SR1 first (to preserve
indefinite curvature information), then BFGS, then Powell-damped
BFGS. Used by arcopt_qn when the current Hessian approximation is
indefinite or when recent BFGS predictions have been inaccurate.
}
\keyword{internal}
