1
function checkbtf (A, p, q, r)
2
%CHECKBTF ensure A(p,q) is in BTF form
4
% A(p,q) is in BTF form, r the block boundaries
8
% checkbtf (A, p, q, r)
10
% See also drawbtf, maxtrans, strongcomp.
12
% Copyright 2007, Timothy A. Davis, University of Florida
16
error ('A must be square') ;
19
if (any (sort (p) ~= 1:n))
20
error ('p not a permutation') ;
23
if (any (sort (q) ~= 1:n))
24
error ('q not a permutation') ;
27
nblocks = length (r) - 1 ;
30
error ('r(1) not one') ;
34
error ('r(end) not n+1') ;
37
if (nblocks < 1 | nblocks > n) %#ok
38
error ('nblocks wrong') ;
41
nblocks = length (r) - 1 ;
42
rdiff = r (2:(nblocks+1)) - r (1:nblocks) ;
43
if (any (rdiff < 1) | any (rdiff > n)) %#ok