prefix=None,
bracket=False):
# The normal decomposition assumes that we already have a
- # lower-triangular (Ishi) basis of the form (i,j) or (i,j,k)
- # -- the latter when the off-diagonals are greater-than-one
- # dimensional.
+ # 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] )
"""
return self._rank
+ def idempotent(self, i):
+ r"""
+ Return the i'th idempotent in this clan.
+
+ EXAMPLES::
+
+ sage: C = SnClan(3)
+ sage: C.idempotent(0)
+ B(0, 0, 1)
+ sage: C.idempotent(1)
+ B(1, 1, 1)
+ sage: C.idempotent(2)
+ B(2, 2, 1)
+
+ """
+ return self.sum_of_monomials(
+ (j,k,l)
+ for (j,k,l) in self.indices()
+ if j == i and k == i
+ )
+
class SnClan(NormalDecomposition):
r"""