# Ticket #5794: trac_5794-reviewer-nt.patch

File trac_5794-reviewer-nt.patch, 5.9 KB (added by bump, 13 years ago)
• ## sage/combinat/root_system/weyl_characters.py

ReST fixes and improvements

diff --git a/sage/combinat/root_system/weyl_characters.py b/sage/combinat/root_system/weyl_characters.py
 a class WeylCharacter(AlgebraElement): def cartan_type(self): """ Returns the Cartan Type. Returns the Cartan type. EXAMPLES:: class WeylCharacter(AlgebraElement): rule is specified, we will try to specify one. INPUT: -  ``S`` - a Weyl character ring for a Lie subgroup or - ``S`` - a Weyl character ring for a Lie subgroup or subalgebra -  ``rule`` - a branching rule. -  ``rule`` - a branching rule. See branch_weyl_character? for more information about branching class WeylCharacter(AlgebraElement): sage: B3 = WeylCharacterRing(['B',3]) sage: [B3(x).is_irreducible() for x in B3.fundamental_weights()] [True, True, True] [True, True, True] sage: sum(B3(x) for x in B3.fundamental_weights()).is_irreducible() False False """ h = self.hlist() return len(h) is 1 and h[0][1] is 1 class WeylCharacter(AlgebraElement): Returns the symmetric square of the character. EXAMPLES:: sage: A2 = WeylCharacterRing("A2",style="coroots") sage: A2(1,0).symmetric_square() A2(2,0) A2(2,0) """ cmlist = self.mlist() mdict = {} for j in range(len(cmlist)): class WeylCharacter(AlgebraElement): sage: A2 = WeylCharacterRing("A2",style="coroots") sage: A2(1,0).exterior_square() A2(0,1) A2(0,1) """ cmlist = self.mlist() mdict = {} class WeylCharacter(AlgebraElement): """ Returns: 1 if the representation is real (orthogonal) -1 if the representation is quaternionic (symplectic) 0 if the representation is complex (not self dual) - `1` if the representation is real (orthogonal) - `-1` if the representation is quaternionic (symplectic) - `0` if the representation is complex (not self dual) The Frobenius-Schur indicator of a character 'chi' of a compact group G is the Haar integral over the def WeylCharacterRing(ct, base_ring=ZZ, character of a semisimple (or reductive) Lie group or algebra. They form a ring, in which the addition and multiplication correspond to direct sum and tensor product of representations. INPUT: - ``ct`` - The Cartan Type OPTIONAL ARGUMENTS: INPUT: - ``base_ring`` -  (default: `\ZZ`) - ``ct`` -- The Cartan Type - ``prefix`` (default an automatically generated prefix based on Cartan type) OPTIONAL ARGUMENTS: - ``cache`` -  (default False) setting cache = True is a substantial speedup at the expense of some memory. - ``style`` - (default "lattice") can be set style = "coroots" to obtain an alternative representation of the elements. - ``base_ring`` --  (default: `\ZZ`) - ``prefix`` -- (default: an automatically generated prefix based on Cartan type) - ``cache`` --  (default False) setting cache = True is a substantial speedup at the expense of some memory. - ``style`` -- (default "lattice") can be set style = "coroots" to obtain an alternative representation of the elements. If no prefix specified, one is generated based on the Cartan type. It is good to name the ring after the prefix, since then it can def WeylCharacterRing(ct, base_ring=ZZ, ring represent characters of SL(r+1,CC), while in the default style, they represent characters of GL(r+1,CC). EXAMPLES: EXAMPLES:: sage: A2 = WeylCharacterRing("A2") sage: L = A2.space() class WeylCharacterRing_class(Algebra): def cartan_type(self): """ Returns the Cartan Type. Returns the Cartan type. EXAMPLES:: def branching_rule_from_plethysm(chi, ca through SO(8). The branching rule in question will describe how representations of SO(8) composed with this homomorphism decompose into irreducible characters of SL(3). of SL(3):: sage: A2 = WeylCharacterRing("A2") sage: A2 = WeylCharacterRing("A2", style="coroots") sage: ad = A2(1,1) sage: ad.degree() 8 8 sage: ad.frobenius_schur_indicator() 1 1 This confirms that ad has degree 8 and is orthogonal, hence factors through SO(8)=D4. This confirms that `ad` has degree 8 and is orthogonal, hence factors through SO(8)=D4:: sage: br = branching_rule_from_plethysm(ad,"D4") sage: D4 = WeylCharacterRing("D4") sage: [D4(f).branch(A2,rule = br) for f in D4.fundamental_weights()] [A2(1,1), A2(1,1) + A2(0,3) + A2(3,0), A2(1,1), A2(1,1)] [A2(1,1), A2(1,1) + A2(0,3) + A2(3,0), A2(1,1), A2(1,1)] """ ct = CartanType(cartan_type) if ct[0] not in ["A","B","C","D"]: class WeightRingElement(AlgebraElement): def cartan_type(self): """ Returns the Cartan Type. Returns the Cartan type. EXAMPLES:: class WeightRing(Algebra): def cartan_type(self): """ Returns the Cartan Type. Returns the Cartan type. EXAMPLES::