Functions Used to Find Discrete eƉquivalents

getdiscreteeq
% GETDISCRETEEQ computes a discrete equivalent of polytope with a blockset.
%
% Usage: DE=GETDISCRETEEQ(S,BLOCKSET)
%
% S is the polytope
% BLOCKSET is a facet set known to be blockable, see also ISBLOCKABLE
%
% DE is a discrete equivalent structure
%
% WARNING inputing a facet set which is not blockable results in undefined
% behaviour.
%
% The DE structure in detail:
%
% Blockability
% DE.BLOCKSET=[1 2 3] - The blockable set
%
% Controllability
% DE.EXITS=[1 3] - The possible exit facets
% DE.EXIT{3}.TESTVEC=[1 4 5] - The testvector controlability was proven with
% DE.BLOCK.TESTVEC=[1 4 5] - The testvector controlability was proven with
% for the case with all facets in the BLOCKSET blocked.
%
% Example:

 s=demosimplex();
 s=preparepolytope(s);
 blockset=findblockable(s);
 de=getdiscreteeq(s,blockset)

% See also ISBLOCKABLE, FINDBLOCKABLE and FINDCONTROLLABLE
finddiscreteeq
% FINDDISCRETEEQ finds a discrete equivalent of a polytope.
%
% Finds a discrete equivalent of a polytope using a queue of facet sets as
% the starting point for searching for blockable sets.
%
% Usage: [DE,OUTQUEUE]=FINDDISCRETEEQ(S,QUEUE)
%
% S is a prepared polytope.
% QUEUE (optional) is a cell array of facet sets. Each facet set is a vector with
% entries listing the facet numbers e.g. [1 3] referes to facet 1 and 3 of
% S.
%
% DE is a structure discribing the discrete equivalent, see GETDISCERETEEQ
% OUTQUEUE is the remaining queue that can be searched for other discrete
% equivalents
%
% Example:

 s=demosimplex();
 s=preparepolytope(s);
 de=finddiscreteeq(s);

% See also GETDISCRETEEQ AND ALLDISCRETEEQ
alldiscreteeq
% ALLDISCRETEEQ finds all discrete equivalents of a polytope
%
% Usage: DELIST=ALLDISCRETEEQ(S,QUEUE)
%
% S is the polytope
% QUEUE is an optional cell array of facet sets limiting the search to
% those sets and their sub sets.
%
% DELIST is a cell array of discrete equivalents in the form of de structs,
% see GETDISCRETEEQ
%
% Example:

 s=demosimplex();
 s=preparepolytope(s);
 delist=alldiscreteeq(s);

% See also GETDISCRETEEQ, FINDDISCRETEEQ
findsubde
% FINDSUBDE finds all sub discrete equivalents of a discrete equivalent given
% on a a simplex
%
% Usage: SUBDES=FINDSUBDE(S,DEQUEUE)
%
% S is the polytope
% DEQUEUE is a cell array of discrete equivalents for which sub DEs needs
% to be found.
%
% SUBDES is a cell array of sub DEs which was found, represented by DE
% structs.
%
% Note: FINDSUBDE returns immidiately if PAHSconf.subde=false
%
%
% Example:

 s=demosimplex();
 s=preparepolytope(s);
 de=finddiscreteeq(s);
 deq={de};
 subdes=findsubde(s,deq);

% See also FINDDISCRETEEQ