Plans regarding generators for vdWhypergraphs.
More...
Go to the source code of this file.
Detailed Description
Plans regarding generators for vdWhypergraphs.
 Todo:
 palindromise_vdw_ohg

See OKlib::Combinatorics::Hypergraphs::Generators::Pd_arithprog_ohg for the C++ implementation.

DONE Order of hyperedges:

Currently the order is directly derived from the colexicographical ordering on the original hyperedges.

For example palindromise_vdw_ohg(arithprog_ohg(3,7)) = [[1,2,3,4],[{1,2,3},{2,3,4},{1,3},{3,4},{2,4},{1,4}]].

Perhaps colexicographical ordering would be better, which would be here [{1,3},{1,2,3},{1,4},{2,4},{3,4},{2,3,4}].

In ComputerAlgebra/Combinatorics/Lisp/Enumeration/Order.mac we have colex_lessp_l, however this functions needs to be generalised to handle lists of different lengths.

DONE Perhaps subsumptionelimination should be performed. For the above example we would get [{1,3},{1,4},{2,4},{3,4}].

Counting the number of hyperedges: a formula for the number of hyperedges should be developed.
 Todo:
 DONE (now the implementation is nonrecursive, and in case more memory is needed, use default_memory_ecl()) Hypergraphs of arithmetic progressions

The current implementation of arithprog_ohg/arithprog_hg can only handle small values of n  otherwise we get a stacksize error!
CSTACK overflow at size 139456. Stack can probably be resized.
(this on a 32bit machine with 2GB memory).

Perhaps this is due to Ecl  can we grow the stack size?!

ulimit reports that there are no restrictions from the bashside.

There are various Ecl memory limits which are discussed in the manual  http://ecls.sourceforge.net/newmanual/re34.html#table.memory.limits .

In this case the CSTACK is overflowing with a current limit of 128KB. This can be adjusted to say 1MB in the following way:
:lisp (ext:setlimit 'ext:cstack 1048576)

MG: Please make the documentation of Ecl available (locally), document all the memory option (apparently there are five: "framestack, bindingstack, cstack, heapsize,
lispstack"; they can also be set on the command line), together with appropriate values, and move this important documentation into its right (general) place. Likely the OKlibrary should provide metacommands, which work for all Lisps supported; perhaps just asking for one argument, the amount of memory available for Maxima, and then calculating the approriate values. One also needs to find out how to pass commandline arguments to ecl (for example "framestack 4096").

Compare "Reasonable memory and stack limits" in Buildsystem/MasterScript/SpecialProcessing/plans/Maxima_Init.hpp.

On the other hand, a nonrecursive solution is also very easy to produce.

However, such little problems shouldn't pose a problem!
Definition in file VanderWaerden.hpp.