The Facade Module

The facades follow the Facade Pattern, which is to say that they put a convenient interface on an underlying system whose interface is more difficult to use. More...

## Classes

class | BigattiFacade
| A facade for computing Hilbert series of monomial ideals using the divide-and-conquer algorithm by Bigatti et.al. More...
class | DynamicFrobeniusFacade
| A facade for using the dynamic programming Frobenius problem algorithm. More...
class | Facade
| This is the super class of all facades. More...
class | GenerateDataFacade
| A facade for random and other kinds of data. More...
class | IdealFacade
| A facade for performing operations on BigIdeal. More...
class | IntersectFacade
| A facade for intersecting monomial ideals. More...
class | IOFacade
| A facade for input and output of mathematical objects. More...
class | LatticeFacade
| A facade for operations on lattices. More...
class | PolynomialFacade
| A facade for operations on polynomials. More...
class | SliceFacade
| A facade for operations on monomial ideals using the Slice Algorithm. More...

## Detailed Description

The facades follow the Facade Pattern, which is to say that they put a convenient interface on an underlying system whose interface is more difficult to use.

Apart from implementing this pattern, the facades also take on the responsibility for printing out actions that are being carried out, and how long each step took, if asked to do so. This is a convenient way to do this, since each call to a facade corresponds to some concrete action to carry out, and the printing code does not belong in the code doing the actual computations and it would be much duplicated if it resided in the public interface code.

That the facades take on this responsibility implies that public interface code must never call computational code without using a facade, as then that computation will not be printed. This has the occasional result that facades are put on code whose interface is simple enough that it otherwise would not need a facade.

Todo
  Document each facade.