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

GraphSequence::stabilize change jordan=True to False

Sage cannot compute Jordan form of larger matrices
in reasonable time.
parent 2438bf90
Branches
No related tags found
No related merge requests found
......@@ -238,7 +238,7 @@ def _init_():
def graph(self, n):
return self._graph_cache.get(n, lambda: self._make_graph(self.gadget(n)))
def stabilize(self, parameter, start_at=None, jordan=True):
def stabilize(self, parameter, start_at=None, jordan=False):
from sage.all import matrix, QQ, binomial, SR
if start_at is None: start_at = self.sequence_start
......
......@@ -20,12 +20,12 @@
True
>>> Necklace.stabilize(CircuitDoubleCover)
>>> Necklace.stabilize(CircuitDoubleCover, jordan=True)
Loop 1 done - 1 boundaries (0 new)
{'variables': [((1, 2), (1, 2), None)], 'step_matrix': [4], 'initial_vector': [2], \
'finalize': [1], 'simplified': ([1], [4], [2]), 'formula': 1/2*4^k, 'formula_if': k - 1 >= 0}
>>> f = CyclicLadder().stabilize(CircuitDoubleCover, start_at=1)['formula']; f
>>> f = CyclicLadder().stabilize(CircuitDoubleCover, start_at=1, jordan=True)['formula']; f
Loop 1 done - 6 boundaries (6 new)
Loop 2 done - 13 boundaries (6 new)
Loop 3 done - 15 boundaries (2 new)
......@@ -33,7 +33,7 @@ Loop 4 done - 15 boundaries (0 new)
1/2*(-1)^k*(k - 1) + 1/6*4^(k - 1) + 3*2^(k - 1) + 1/3*(-2)^(k - 2) - 5/2*k - 3/2
>>> assert all( f(k=k) == cdc_count(CyclicLadder().graph(k)) for k in range(3, 10) )
>>> f = CyclicLadder(crossed=True).stabilize(CircuitDoubleCover, start_at=3)['formula']; f
>>> f = CyclicLadder(crossed=True).stabilize(CircuitDoubleCover, start_at=3, jordan=True)['formula']; f
Loop 1 done - 12 boundaries (4 new)
Loop 2 done - 14 boundaries (0 new)
-1/2*(-1)^k*k + 1/6*4^(k - 1) + 3*2^(k - 1) + 1/3*(-2)^(k - 2) - 5/2*k
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment