% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/cubic_solver_dispatch.R
\name{solve_cubic_subproblem_dispatch}
\alias{solve_cubic_subproblem_dispatch}
\title{Solve Cubic Subproblem with Automatic Solver Selection}
\usage{
solve_cubic_subproblem_dispatch(g, H = NULL, sigma, solver = "auto", ...)
}
\arguments{
\item{g}{Gradient vector (length n)}

\item{H}{Hessian matrix (n x n symmetric, may be indefinite)}

\item{sigma}{Regularization parameter (positive scalar)}

\item{solver}{Solver to use: "auto" (default) or "eigen".
Auto-selection uses eigendecomposition (Algorithm 5a).}

\item{...}{Additional arguments passed to specific solvers}
}
\value{
List with:
\item{s}{Solution vector}
\item{lambda}{Lagrange multiplier}
\item{pred_reduction}{Predicted reduction}
\item{converged}{TRUE if solver converged}
\item{solver_used}{Name of solver that was used}
}
\description{
Unified dispatcher for cubic subproblem solvers with automatic solver
selection based on problem size and Hessian representation.
}
\details{
Uses eigendecomposition-based solver (Algorithm 5a) which provides robust
handling of indefinite Hessians and hard cases.

For large-scale matrix-free optimization (n > 500), see design/scalable-arcs.qmd
for deferred large-scale solver implementations.
}
\keyword{internal}
