Skip to content

Commit

Permalink
Merge pull request GeomScale#14 from vissarion/patch-1
Browse files Browse the repository at this point in the history
Update README.md
  • Loading branch information
TolisChal authored Sep 25, 2018
2 parents bb416e6 + cbf58a6 commit 20c187d
Showing 1 changed file with 15 additions and 16 deletions.
31 changes: 15 additions & 16 deletions cran_gen/README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,40 @@
# Volume computation and sampling
----------------------------------

### About
[**volesti**](https://github.com/vissarion/volume_approximation) is a C++ library for volume approximation and sampling of convex bodies (*e.g.* polytopes). This package provides a [CGAL](https://www.cgal.org/) free version and a *R* interface.
## About
The `volesti` package provides [R](http://www.r-project.org) with functions for volume estimation and sampling. In particular, it provides an R interface for the C++ library [**volesti**](https://github.com/vissarion/volume_approximation).

Package `volesti` computes approximations of volume of polytopes given as a set of points or linear inequalities or as a Minkowski sum of segments (zonotopes). There are two algorithms for volume approximation as well as algorithms for sampling, rounding and rotating polytopes.
`volesti` computes approximations of volume of polytopes given as a set of points or linear inequalities or as a Minkowski sum of segments (zonotopes). There are two algorithms for volume approximation as well as algorithms for sampling, rounding and rotating polytopes.

### Install CRAN package
* Install `volesti` from `CRAN` repository by running:
## Download and install
* The latest stable version is available from CRAN.
* The latest development version is available on Github https://github.com/vissarion/volume_approximation

* Install `volesti` by running:
```
install.packages("volesti")
```
* The package-dependencies are: `Rcpp`, `RcppEigen`, `BH`.
* The package-dependencies are: `Rcpp`, `RcppEigen`, `BH`.

### Usage
## Usage
* The main function is `volume()`. It can be used to approximate the volume of a convex polytope given as a set of linear inequalities or a set of vertices (d-dimensional points) or as a Minkowski sum of segments (zonotope). There are two algorithms that can be used. The first is `SequenceOfBalls` and the second is `CoolingGaussian`.
* The function `sample_points()` can be used to sample points from a convex polytope approximating uniform or spherical gaussian target distribution using Coordinate Directions Hit-and-Run (default), Random Directions Hit-and-Run or Ball walk.
* The function `sample_points()` can be used to sample points from a convex polytope approximating uniform or spherical gaussian target distribution using: (a) coordinate directions hit-and-run (default), (b) random directions hit-and-run or (c) ball walk.
* The function `sample_simplex()` can be used to sample uniformly from a unit or an arbitrary simplex.
* The function `sample_sphere()` can be used to sample uniformly from the boundary or the interior of a hypersphere.
* The function `round_polytope()` can be used to round a convex polytope.
* The function `rand_rotate()` can be used to apply a random rotation to a convex polytope.
* The function `copula()` can be used to compute the copula when two families of parallel hyperplanes or a family of parallel hyperplanes and a family of concentric ellipsoids are given.
* The function `sliceOfSimplex()` can be used to evaluate the portion of of the d-dimensional unit simplex contained in a given half-space using M. Ali's version of G. Varsi's iterative formula.

For more details, examples and referencies you can read the documentation in folder `/inst/doc`.
For more details, features, examples and references you can read the [documentation](../R-proj/inst/doc/volesti.pdf).

### Credits
-------
## Credits

Copyright (c) 2012-2018 Vissarion Fisikopoulos
Copyright (c) 2018 Apostolos Chalkis

You may redistribute or modify the software under the GNU Lesser General Public License as published by Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

In folder `src/include` we develop the C++ code.
You may redistribute or modify the software under the GNU Lesser General Public License as published by Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

Main development by Vissarion Fisikopoulos while he was affiliated with University of Athens (UoA, Greece), University of Brussels (ULB, Belgium) and Oracle Corp, and Chalkis Apostolos affiliated with University of Athens.
Main development by Vissarion Fisikopoulos while he was affiliated with University of Athens (UoA, Greece) and University of Brussels (ULB, Belgium), and Chalkis Apostolos affiliated with University of Athens. Part of the development was done while A.Chalkis (as student) and V.Fisikopoulos (as mentor) were participating in Google Summer of Code 2018 program.

### Publications

Expand Down

0 comments on commit 20c187d

Please sign in to comment.