# bug in the pq-trees library ?

For the following PQ-tree named pqtree:

('P', [{3, 5, 7}, {4, 7}, {1, 7}, {3}, {6}, ('Q', [('P', [{0, 1, 3, 4}, {0, 6}]), {0, 2, 5}, ('P', [{2}, {2, 6}])])])


The command set_contiguous(4) gives:

sage: pqtree.set_contiguous(4)
(1, True)
sage: pqtree
('P', [{3, 5, 7}, {1, 7}, {3}, {6}, ('Q', [('P', [{2}, {2, 6}]), {0, 2, 5}, ('P', [{0, 6}, {0, 1, 3, 4}]), {4, 7}])])


Observe that the subset including 4 are not necessarily contiguous in this PQ-tree! Repeating the command gives:

sage: pqtree.set_contiguous(4)
(1, True)
sage: pqtree
('P', [{3, 5, 7}, {1, 7}, {3}, {6}, ('Q', [('P', [{2}, {2, 6}]), {0, 2, 5}, {0, 6}, {0, 1, 3, 4}, {4, 7}])])


Now it is OK, but we need to repeat twice the command.

edit retag close merge delete

1

Could you please provide the commands to build your pq-tree?

( 2015-04-03 17:09:05 +0200 )edit

The initial PQ-tree is created like this :

sage: pqtree=P([[3, 5, 7],[4, 7], [1, 7], [3], [6],[0, 1, 3, 4],[0, 6], [0, 2, 5],[2], [2, 6]])


Then, if we execute the command pqtree.set_contiguous() successively on 0, 2, 4 we obtain the outcome as mentionned before.

But we obtain a good outcome with this order 2,4,0 for example.

( 2015-07-17 19:40:12 +0200 )edit

Sort by » oldest newest most voted

I get the following trace, in which 0,2 and 4 are contiguous.

sage: from sage.graphs.pq_trees import P
sage: pqtree=P([[3, 5, 7],[4, 7], [1, 7], [3], [6],[0, 1, 3, 4],[0, 6], [0, 2, 5],[2], [2, 6]])
sage: pqtree
('P', [{3, 5, 7}, {4, 7}, {1, 7}, {3}, {6}, {0, 1, 3, 4}, {0, 6}, {0, 2, 5}, {2}, {2, 6}])
sage: pqtree.set_contiguous(0)
(1, True)
sage: pqtree.set_contiguous(2)
(1, True)
sage: pqtree.set_contiguous(4)
(1, True)
sage: pqtree
('P', [{3, 5, 7}, {1, 7}, {3}, {6}, ('Q', [('P', [{2}, {2, 6}]), {0, 2, 5}, {0, 6}, {0, 1, 3, 4}, {4, 7}])])


Perhaps your problem can be solved by using the latest version?

more

Thanks, now it works with the new version !

( 2015-08-07 20:27:27 +0200 )edit