Python Dense Random Walks

class polytopewalk.dense.RandomWalk(self: polytopewalk.dense.RandomWalk)

Bases: pybind11_object

Random Walk Superclass Implementation.

Initialization for Random Walk Super Class. Runs on Full-Dimensional Polytope Form: Ax <= b.

generateCompleteWalk(self: polytopewalk.dense.RandomWalk, niter: int, init: numpy.ndarray[numpy.float64[m, 1]], A: numpy.ndarray[numpy.float64[m, n]], b: numpy.ndarray[numpy.float64[m, 1]], burnin: int = 0, thin: int = 1, seed: int = -1) numpy.ndarray[numpy.float64[m, n]]

Generate values from Random Walk (virtual function).

Parameters:
  • niter (int) – Number of iterations.

  • init (numpy.ndarray) – Initial point to start sampling from.

  • A (numpy.ndarray) – Constraint matrix.

  • b (numpy.ndarray) – Constraint vector.

  • burnin (int, optional) – Constant for how many to exclude initially (default is 0).

  • thin (int, optional) – Number of samples to thin (default is 1).

  • seed (int, optional) – Seed number for reproducibility (default is -1 meaning no fixed setting).

Returns:

List of sampled points.

Return type:

numpy.ndarray

class polytopewalk.dense.BarrierWalk(self: polytopewalk.dense.BarrierWalk, r: float = 0.5)

Bases: RandomWalk

Barrier Walk Implementation.

Initialization for Barrier Walk Super Class. Runs on Full-Dimensional Polytope Form: Ax <= b.

Parameters:

r (double, optional) – Radius for starting distance (default is 0.5).

generateCompleteWalk(self: polytopewalk.dense.BarrierWalk, niter: int, init: numpy.ndarray[numpy.float64[m, 1]], A: numpy.ndarray[numpy.float64[m, n]], b: numpy.ndarray[numpy.float64[m, 1]], burnin: int = 0, thin: int = 1, seed: int = -1) numpy.ndarray[numpy.float64[m, n]]

Generate values from Barrier Walk (virtual function).

Parameters:
  • niter (int) – Number of steps to sample from.

  • init (numpy.ndarray) – Initial point to start sampling from.

  • A (numpy.ndarray) – Constraint matrix.

  • b (numpy.ndarray) – Constraint vector.

  • burnin (int, optional) – Constant for how many to exclude initially (default is 0).

  • thin (int, optional) – Number of samples to thin (default is 1).

  • seed (int, optional) – Seed number for reproducibility (default is -1 meaning no fixed setting).

Returns:

List of sampled points.

Return type:

numpy.ndarray

generateWeight(self: polytopewalk.dense.BarrierWalk, x: numpy.ndarray[numpy.float64[m, 1]], A: numpy.ndarray[numpy.float64[m, n]], b: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]

Generate weight from Barrier Walk (virtual function).

Parameters:
  • x (numpy.ndarray) – Point inside polytope.

  • A (numpy.ndarray) – Constraint matrix.

  • b (numpy.ndarray) – Constraint vector.

Returns:

Weight vector (specified by walk type).

Return type:

numpy.ndarray

class polytopewalk.dense.DikinWalk(self: polytopewalk.dense.DikinWalk, r: float = 0.5)

Dikin Walk Implementation.

Initialization for Dikin Walk Class. Runs on Full-Dimensional Polytope Form: Ax <= b.

Parameters:

r (double, optional) – Radius for Dikin Ellipsoid (default is 0.5).

class polytopewalk.dense.VaidyaWalk(self: polytopewalk.dense.VaidyaWalk, r: float = 0.5)

Vaidya Walk Implementation.

Initialization for Vaidya Walk Class. Runs on Full-Dimensional Polytope Form: Ax <= b.

Parameters:

r (double, optional) – Radius for Vaidya Ellipsoid (default is 0.5).

class polytopewalk.dense.JohnWalk(self: polytopewalk.dense.JohnWalk, r: float = 0.5, lim: float = 1e-05, max_iter: int = 1000)

John Walk Implementation.

Initialization for John Walk Class. Runs on Full-Dimensional Polytope Form: Ax <= b.

Parameters:
  • r (double, optional) – Radius for John Ellipsoid (default is 0.5).

  • lim (double, optional) – Constant for stopping limit in fixed-point iteration (default is 1e-5).

  • max_iter (int, optional) – Constant for maximum number of fixed point iterations (default is 1000).

class polytopewalk.dense.DikinLSWalk(self: polytopewalk.dense.DikinLSWalk, r: float = 0.5, g_lim: float = 0.01, step_size: float = 0.1, max_iter: int = 1000)

Lee Sidford Walk Implementation.

Initialization for Lee Sidford Walk Class. Runs on Full-Dimensional Polytope Form: Ax <= b.

Parameters:
  • r (double, optional) – Radius for Lee-Sidford Ellipsoid (default is 0.5).

  • g_lim (double, optional) – Constant for stopping gradient norm in gradient descent (default is 0.01).

  • step_size (double, optional) – Constant for step size in gradient descent (default is 0.1).

  • max_iter (int, optional) – Constant for maximum number of gradient descent iterations (default is 1000).

class polytopewalk.dense.BallWalk(self: polytopewalk.dense.BallWalk, r: float = 0.5)

Ball Walk Implementation.

Initialization for Ball Walk Class. Runs on Full-Dimensional Polytope Form: Ax <= b.

Parameters:

r (double, optional) – Radius for ball (default is 0.5).

class polytopewalk.dense.HitAndRun(self: polytopewalk.dense.HitAndRun, r: float = 0.5, err: float = 0.01)

Hit-Run Implementation.

Initialization for Hit and Run Class. Runs on Full-Dimensional Polytope Form: Ax <= b.

Parameters:
  • r (double, optional) – Radius for starting distance (default is 0.5).

  • err (double, optional) – Constant for closeness to edge of polytope (default is 0.01).