From 7dc759bcc5b778652fd5144902593a2904e7cb72 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Radek=20Hu=C5=A1ek?= <husek@iuuk.mff.cuni.cz>
Date: Thu, 8 Jul 2021 20:58:57 +0200
Subject: [PATCH] GraphSequence::stabilize change jordan=True to False

Sage cannot compute Jordan form of larger matrices
in reasonable time.
---
 graph_tools/base.py  | 2 +-
 graph_tools/tests.py | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/graph_tools/base.py b/graph_tools/base.py
index 7d5f30c..a6e6088 100644
--- a/graph_tools/base.py
+++ b/graph_tools/base.py
@@ -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
diff --git a/graph_tools/tests.py b/graph_tools/tests.py
index 98aa5b6..f00843a 100644
--- a/graph_tools/tests.py
+++ b/graph_tools/tests.py
@@ -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
-- 
GitLab