This function uses linear programming to find the value by which
vector p
needs to be scaled towards or away from vector m
in
order for p
to be on the boundary of the convex hull of rows of
M
. If p
is a matrix, a value that scales all rows of p
into
the convex hull of M
is found.
shrink_into_CH(
p,
M,
m = NULL,
verbose = FALSE,
...,
solver = c("glpk", "lpsolve")
)
Logical, telling whether p
is (or all rows of
p
are) in the closed convex hull of the points in
M
.
The scaling factor described above is
returned. shrink_into_CH() >= 1
indicates that all points in
p
are in the convex hull of M
.
a \(d\)-dimensional vector or a matrix with \(d\) columns.
an \(n\) by \(d\) matrix. Each row of M
is a
\(d\)-dimensional vector.
a \(d\)-dimensional vector specifying the value towards which to shrink; must be in the interior of the convex hull of \(M\), and defaults to its centroid (column means).
A logical or an integer to control the amount of
progress and diagnostic information to be printed. FALSE
/0
produces minimal output, with higher values producing more
detail. Note that very high values (5+) may significantly slow
down processing.
arguments passed directly to linear program solver.
a character string selecting which solver to use; by
default, tries Rglpk
's but falls back to lpSolveAPI
's.
https://www.cs.mcgill.ca/~fukuda/soft/polyfaq/node22.html
Hummel, R. M., Hunter, D. R., and Handcock, M. S. (2012), Improving Simulation-Based Algorithms for Fitting ERGMs, Journal of Computational and Graphical Statistics, 21: 920-939.
Krivitsky, P. N., Kuvelkar, A. R., and Hunter, D. R. (2022). Likelihood-based Inference for Exponential-Family Random Graph Models via Linear Programming. arXiv preprint arXiv:2202.03572. https://arxiv.org/abs/2202.03572