shrink_into_CH {ergm} | R Documentation |
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,
max_run = nrow(M),
...,
solver = c("glpk", "lpsolve")
)
p |
a |
M |
an |
m |
a |
verbose |
A logical or an integer to control the amount of
progress and diagnostic information to be printed. |
max_run |
if there are no decreases in step length in this many consecutive test points, conclude that diminishing returns have been reached and finish. |
... |
arguments passed directly to linear program solver. |
solver |
a character string selecting which solver to use; by
default, tries |
The scaling factor described above is
returned. shrink_into_CH() >= 1
indicates that all points in
p
are in the convex hull of M
.
This is a successor to the deprecated function is.inCH()
,
which was originally written for the "stepping" algorithm of
Hummel et al. (2012). See the updated of
Krivitsky et al. (2023) for detailed discussion of algorithms
used in is.inCH()
and shrink_into_CH()
.
Hummel RM, Hunter DR, Handcock MS (2012).
“Improving Simulation-based Algorithms for Fitting ERGMs.”
Journal of Computational and Graphical Statistics, 21(4), 920–939.
doi:10.1080/10618600.2012.679224.
Krivitsky PN, Kuvelkar AR, Hunter DR (2023).
“Likelihood-based Inference for Exponential-Family Random Graph Models via Linear Programming.”
Electronic Journal of Statistics, 17(2).
ISSN 1935-7524, doi:10.1214/23-ejs2176.
https://www.cs.mcgill.ca/~fukuda/soft/polyfaq/node22.html