Skip to contents

An estimate of the supremum, returned by sup_lb(). It is the largest expected value found through a multi-start gradient-ascent over the null, and the location that the local optimum was found. It yields a lower bound, so sup_lb > 1 shows X is not an e-variable, but nothing here can prove that it is one; use certify() for that.

print() gives the value found and where it was attained.

format() gives the value found on one line.

Usage

ripr_search(
  sup_lb = integer(0),
  log_sup_lb = integer(0),
  theta = integer(0),
  part = integer(0),
  random_variable = random_variable(),
  null = null_model()
)

Arguments

sup_lb

The largest expectation found.

log_sup_lb

Its logarithm, computed directly when the random variable has a log form, so that it remains finite where sup_lb underflows.

theta

The parameter attaining it.

part

The part of the null's region theta lies in.

random_variable

The random_variable searched over.

null

The null_model searched.

Value

A ripr_search.

Examples

fam <- multinomial_family(n_trials = 4L, k = 3L)
null <- null_model(
  fam,
  simplex_region(vertices = rbind(c(0.5, 0.5, 0), c(0, 1, 0), c(0, 0, 1)))
)
found <- sup_lb(likelihood(fam(c(0.4, 0.35, 0.25))), null, n_seeds = 20L)
found
#> <ripr_search>
#>   X = P[theta = (0.4, 0.35, 0.25)]
#>   under null_model: multinomial_family over 1 part
#>   sup E[X] >= 0.1019608  (searched, not certified)
#>   attained at theta = (0.406, 0.406, 0.187), in part 1
found@theta
#> [1] 0.4064782 0.4064782 0.1870436