Determining Controllability

When a blockable facet set is found it is usefull to check whether a given facet in the set is controllable. In this context controllability of a facet is defined as the ability to block all other facets in the blockset while ensuring that the vector field points out of the controllable facet. Also it must be ensured that there are no fixed points in the simplex.

Notice that in the current implementation, if a facet is found uncontrollable it does not mean that it is not possible to control, but rather that the algorithm couldn’t positively confirm that the facet is controllable.

An example of how to use the two functions supplied to determine controllability

Is the blockset controllable
%s is a prepared simplex and bset is a blockable facet set

%is facet 2 controllable
if(iscontrollable(s,bset,2))
 disp 'Facet 2 is controllable'
else
 disp 'Facet 2 is not controllable'
end

%Which facets of the blockset are controllable and which
%testvectors was it proven with.
[cset,testVecs]=findcontrollable(s,blockset)