adelie.bcd.root_upper_bound#

adelie.bcd.root_upper_bound(*, quad: ndarray, linear: ndarray, l1: float, zero_tol: float = 1e-14)[source]#

Computes an upper bound on the root of BCD root function.

The upper bound \(h^\star\) is guaranteed to be non-negative. However, it may not satisfy \(\varphi(h^\star) \leq 0\) where \(\varphi\) is given by adelie.bcd.root_function() if zero_tol is too large. We assume that \(\|v_S\|_2 < \lambda\) where \(S = \{i : \Sigma_{ii} = 0\}\). It is undefined behavior if the condition is not satisfied.

Parameters:
quad(p,) ndarray

See adelie.bcd.root_function().

linear(p,) ndarray

See adelie.bcd.root_function().

l1float

See adelie.bcd.root_function().

zero_tolfloat, optional

A value is considered zero if its absolute value is less than or equal to zero_tol. Default is 1e-14.

Returns:
upperfloat

Upper bound on the root.