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