The "Hit and Run" Markov Chain Monte Carlo method for sampling uniformly from convex shapes defined by linear constraints, and the "Shake and Bake" method for sampling from the boundary of such shapes. Includes specialized functions for sampling normalized weights with arbitrary linear constraints.
Update DOI resolver to https://doi.org/
Register native code
Check for failures in findExtremePoints and findVertices and give clear errors.
Simplify C code by eliminating homogeneous coordinate.
Transition to testthat for testing.
Explicitly import functions from R core packages.
Add "Shake and Bake" method to sample from the boundary of polytopes.
Modify DESCRIPTION to conform to CRAN guidelines.
Add parameter to skip the elimination of redundant constraints by hitandrun() and har.init().
hitandrun() and har.init() now correctly transform x0 if it is given.
Bugfix: createTransform(inverse=TRUE) failed if the dimensionality was reduced by more than one.
Expose eliminateRedundant in the NAMESPACE
Do not call rcdd::redundant with fewer than two constraints
Convert all C code to '.Call interface'
Detect and handle degenerate sampling spaces
Use rational arithmetic in rcdd:: computations
Add randomized slack LP for randomized starting point generation
Remove "extremes" method for starting point generation
Add solution.basis, createTransform, and transformConstraints to deal with equality constraints
Add simplexConstraints to explicitly generate the constraints that define the n-simplex
Add hitandrun, har.init, and har.run to provide a generalized interface to har that handles equality and inequality constraints
Export findInteriorPoint to find an interior point of the polytope
Add hypersphere.sample for sampling uniformly from the unit hypersphere
Prefix C symbols with hitandrun_ to prevent name clashes
Update package documentation extensively
Add the "slacklp" method for seed point generation (findInteriorPoint) (fixed #2)
Prevent dimension reduction of arrays using drop=FALSE on indexing operations
Bugfix: "extremes" seed point generation sometimes generated points outside the polytope (fixed #1)