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")
)
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.
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.
a character string selecting which solver to use; by
default, tries Rglpk
's but falls back to lpSolveAPI
's.