% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/read.R
\name{.cbf_build_constraints}
\alias{.cbf_build_constraints}
\title{Build ROI constraint objects from the parsed CON chunks.}
\usage{
.cbf_build_constraints(con_chunks, A_mat, rhs_vec, powcones, powstar_cones)
}
\arguments{
\item{con_chunks}{List of \code{list(cone, count)} from the CON section.}

\item{A_mat}{Full sparse constraint matrix (slam STM).}

\item{rhs_vec}{Full RHS vector (already negated: \eqn{-b_i}).}

\item{powcones}{List of alpha vectors from the POWCONES section.}

\item{powstar_cones}{List of alpha vectors from the POW*CONES section.}
}
\value{
List of ROI constraint objects.
}
\description{
Iterates over the cone chunks defined in the CON section.  For each chunk
it extracts the corresponding rows from the full sparse constraint matrix
and RHS vector, then constructs the appropriate ROI constraint object.
}
\section{Cone chunk -> ROI constraint mapping}{

\describe{
  \item{\code{L+} (positive orthant)}{
    \eqn{Ax + b \geq 0} \eqn{\Leftrightarrow} \eqn{Ax \geq -b = \text{rhs}}.
    Becomes \code{L_constraint(A, ">=", rhs)}.}
  \item{\code{L-} (negative orthant)}{
    \eqn{Ax + b \leq 0} \eqn{\Leftrightarrow} \eqn{Ax \leq \text{rhs}}.
    Becomes \code{L_constraint(A, "<=", rhs)}.}
  \item{\code{L=} (fixpoint zero)}{
    \eqn{Ax + b = 0}. Becomes \code{L_constraint(A, "==", rhs)}.}
  \item{\code{F} (free)}{No constraint; chunk is silently skipped.}
  \item{\code{Q}, \code{EXP}, \code{EXP*}, \code{SVECPSD},
    geometric/power cones}{Become \code{C_constraint(A, K, rhs)}.}
  \item{\code{QR}}{Is bridged to a standard SOC by the linear map
    \eqn{(u, v, w) \mapsto (u+v, u-v, \sqrt{2} w)}, then becomes
    \code{C_constraint(T A, K_soc, T rhs)}.}
}
}

\keyword{internal}
