% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/utils.R
\name{ge_boundary}
\alias{ge_boundary}
\title{Gamma-exponential mixture boundary}
\usage{
ge_boundary(v, alpha, rho, c, s_lo = -10, s_hi = 500)
}
\arguments{
\item{v}{Numeric vector >= 0. Intrinsic time values.}

\item{alpha}{Numeric in (0,1). ONE-SIDED significance level.}

\item{rho}{Numeric > 0. From rho_from_vopt().}

\item{c}{Numeric > 0. Sub-exponential scale.}

\item{s_lo}{Numeric. Lower search bound for uniroot. Default: -10.}

\item{s_hi}{Numeric. Upper search bound for uniroot. Default: 500.}
}
\value{
Numeric vector of boundary values (cumulative-sum scale).
}
\description{
Gamma-exponential mixture boundary
}
\details{
Computes \eqn{u_{GE}(v; \alpha, \rho, c) = \sup\{s : m(s,v) < 1/\alpha\}} by
solving \code{m(s, v) = 1/alpha} numerically for \code{s} via \code{\link[=uniroot]{uniroot()}}, separately
for each \code{v_i}.

Root-finding fallback: the search starts in \verb{[s_lo, s_hi]}; if
\code{m(s_hi, v_i)} has not yet crossed the target, \code{s_hi} is doubled once and
retried. If it still fails, a warning is issued and \code{s_hi} is returned as
a conservative fallback value. Increase \code{s_hi} directly if this warning
appears often (e.g. at large \code{v} or small \code{alpha}); increase \code{abs(s_lo)}
if no root is found at small \code{v}.

Computed elementwise; can be slow for long vectors — consider caching
boundary values when the same \verb{(alpha, rho, c)} are reused.
}
\examples{
rho <- rho_from_vopt(v_opt = 10, alpha = 0.025)
ge_boundary(v = 1:3, alpha = 0.025, rho = rho, c = 2)

}
