From e84ed3f4b22fd09bb24883061775011adefd309c Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Fri, 23 Jan 2026 11:50:23 -0500 Subject: [PATCH] mjo/clan: complete the migration to three coordinates Three coordinates are needed to identify a basis element in general: (i,j) to identify the component, and then "k" for the basis within the (i,j)th component. This should allow us to define HnClan, which has 2d off-diagonal components. --- mjo/clan/clan_element.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mjo/clan/clan_element.py b/mjo/clan/clan_element.py index 4aba6d1..6383703 100644 --- a/mjo/clan/clan_element.py +++ b/mjo/clan/clan_element.py @@ -50,8 +50,12 @@ class NormalDecompositionElement(ClanElement): An element of a :class:`NormalDecomposition`. These may have additional methods that require knowledge of the - coordinates in a normal decomposition. + coordinates in a normal decomposition. The basis should follow the + Ishi convention with the components (i,j) being ordered + lexicographically and then within each component the basis + elements (i,j,k) ordered arbitrarily. """ + def tr(self): r""" The clan trace of this element; the sum of its diagonal @@ -243,7 +247,7 @@ class NormalDecompositionElement(ClanElement): 8 """ - return self.seq(k)[k,k] + return self.seq(k)[k,k,1] def chi(self, k): -- 2.51.0