Expand description
Exact supported domain for logarithmic penalty strengths.
Every smoothing precision has the form lambda = exp(rho). The value,
gradient, and Hessian with respect to rho agree only while that
exponentiation is evaluated exactly: clamping rho or flooring/ceilinging
lambda creates a constant tail with a fictitious nonzero derivative.
The inclusive [-700, 700] interval deliberately stays inside binary64’s
finite, normal exponential range: its lower face avoids subnormal-strength
arithmetic and its upper face leaves overflow guard margin. It is a solver
policy domain, not a claim about the widest representable binary64 input.
This module owns the single domain used by all penalty implementations.
Structs§
- Indexed
LogStrength Domain Error - Coordinate-aware failure returned when validating a vector of logarithmic strengths.
- LogStrength
Domain Error - A logarithmic strength is outside the exact supported solver contract.
- Physical
Strength Domain Error
Constants§
- LOG_
STRENGTH_ MAX - Largest supported logarithmic strength (inclusive).
- LOG_
STRENGTH_ MIN - Smallest supported logarithmic strength (inclusive).
Functions§
- checked_
exp_ log_ strength - Exponentiate a logarithmic strength on the exact closed solver domain.
- checked_
exp_ log_ strengths - Convert a complete vector atomically on the exact supported domain.
- checked_
log_ strength - Recover a canonical logarithmic coordinate without flooring or ceilinging a physical strength.
- validate_
log_ strength - Validate a logarithmic strength without changing it.
- validate_
log_ strengths - Validate a complete vector, reporting the deterministic smallest invalid coordinate before any caller-visible computation begins.