Skip to content
Snippets Groups Projects
Commit ec6b2602 authored by Radek Hušek's avatar Radek Hušek
Browse files

Do not expect Boundary to have 2 elements

parent b1058793
No related branches found
No related tags found
No related merge requests found
......@@ -225,13 +225,13 @@ def _init_():
size = len(sorted_boundaries)
m = matrix(QQ, size, size, {
(rename[row], rename[col]): value
(rename[b.boundary], rename[col]): b.value
for col in sorted_boundaries
for row, value in self._next_gadget(FakeGadget(start_gadget.size(), [ Boundary(col, 1) ])).eval_gadget(parameter)
for b in self._next_gadget(FakeGadget(start_gadget.size(), [ Boundary(col, 1) ])).eval_gadget(parameter)
})
iv = matrix(QQ, size, 1, {
(rename[row], 0): v for row, v in start_gadget.eval_gadget(parameter)
(rename[b.boundary], 0): b.value for b in start_gadget.eval_gadget(parameter)
})
fin = matrix(QQ, 1, size, {
......
......@@ -234,8 +234,8 @@ def _init_():
>>> def test(*args): return list(CircuitDoubleCover.join_edges(*args))
>>> test(B(((1,2), (2,3), (1,3), None), 1), 1, 2)
[]
>>> test(B(((1,2), (2,3), (1,4), (3,4), None), 1), 1, 2)
[Boundary(boundary=((3, 2), (2, 3), (3, 2), (3, 2), None), value=1)]
>>> assert test(B(((1,2), (2,3), (1,4), (3,4), None), 1), 1, 2) == \
[B(((3, 2), (2, 3), (3, 2), (3, 2), None), 1)]
>>> test(B(((1,2), (2,3), (1,4), (3,4), None, (1,3)), 1), 1, 2)
[]
>>> len(test(B(((1,2), (2,3), (4,5), (1,3), (4,5), None), 1), 1, 2))
......
......@@ -21,7 +21,7 @@ True
>>> Necklace.stabilize(CircuitDoubleCover)
Loop 1 done - 1 boundaries (0 new)
{'variables': [((1, 2), (1, 2), None)], 'step_matrix': [4], 'initial_vector': [2], 'finalize': [1]}
>>> sun_cdc = lambda n: sum( v for _, v in sun(n).eval_gadget(CircuitDoubleCover) )
>>> sun_cdc = lambda n: sum( b.value for b in sun(n).eval_gadget(CircuitDoubleCover) )
>>> all( sun_cdc(n) == 2**n - 2*n for n in range(3, 10) )
True
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment