From df848b3ad32389021c63bbd9aa3af37118f40baa Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 4 Mar 2026 08:03:21 -0500 Subject: [PATCH] mjo/clan/normal_decomposition.py: special case for rank zero --- mjo/clan/normal_decomposition.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mjo/clan/normal_decomposition.py b/mjo/clan/normal_decomposition.py index 89ca025..fb9d8bf 100644 --- a/mjo/clan/normal_decomposition.py +++ b/mjo/clan/normal_decomposition.py @@ -30,11 +30,14 @@ class NormalDecomposition(Clan): category = Clans(scalar_field).or_subcategory(category).Unital() - # The normal decomposition assumes that we already have a - # lower-triangular (Ishi) basis of the form (i,j,k). - self._rank = 1 + max( k[0] - for k in vector_space.indices() - if k[0] == k[1] ) + if vector_space.dimension().is_zero(): + self._rank = 0 + else: + # The normal decomposition assumes that we already have a + # lower-triangular (Ishi) basis of the form (i,j,k). + self._rank = 1 + max( k[0] + for k in vector_space.indices() + if k[0] == k[1] ) super().__init__(vector_space, clan_product, -- 2.51.0