Root system data for type B¶
- class sage.combinat.root_system.type_B.AmbientSpace(root_system, base_ring, index_set=None)[source]¶
- Bases: - AmbientSpace- dimension()[source]¶
- EXAMPLES: - sage: e = RootSystem(['B',3]).ambient_space() sage: e.dimension() 3 - >>> from sage.all import * >>> e = RootSystem(['B',Integer(3)]).ambient_space() >>> e.dimension() 3 
 - fundamental_weight(i)[source]¶
- EXAMPLES: - sage: RootSystem(['B',3]).ambient_space().fundamental_weights() Finite family {1: (1, 0, 0), 2: (1, 1, 0), 3: (1/2, 1/2, 1/2)} - >>> from sage.all import * >>> RootSystem(['B',Integer(3)]).ambient_space().fundamental_weights() Finite family {1: (1, 0, 0), 2: (1, 1, 0), 3: (1/2, 1/2, 1/2)} 
 - negative_roots()[source]¶
- EXAMPLES: - sage: RootSystem(['B',3]).ambient_space().negative_roots() [(-1, 1, 0), (-1, -1, 0), (-1, 0, 1), (-1, 0, -1), (0, -1, 1), (0, -1, -1), (-1, 0, 0), (0, -1, 0), (0, 0, -1)] - >>> from sage.all import * >>> RootSystem(['B',Integer(3)]).ambient_space().negative_roots() [(-1, 1, 0), (-1, -1, 0), (-1, 0, 1), (-1, 0, -1), (0, -1, 1), (0, -1, -1), (-1, 0, 0), (0, -1, 0), (0, 0, -1)] 
 - positive_roots()[source]¶
- EXAMPLES: - sage: RootSystem(['B',3]).ambient_space().positive_roots() [(1, -1, 0), (1, 1, 0), (1, 0, -1), (1, 0, 1), (0, 1, -1), (0, 1, 1), (1, 0, 0), (0, 1, 0), (0, 0, 1)] - >>> from sage.all import * >>> RootSystem(['B',Integer(3)]).ambient_space().positive_roots() [(1, -1, 0), (1, 1, 0), (1, 0, -1), (1, 0, 1), (0, 1, -1), (0, 1, 1), (1, 0, 0), (0, 1, 0), (0, 0, 1)] 
 - root(i, j)[source]¶
- Note that indexing starts at 0. - EXAMPLES: - sage: e = RootSystem(['B',3]).ambient_space() sage: e.root(0,1) (1, -1, 0) - >>> from sage.all import * >>> e = RootSystem(['B',Integer(3)]).ambient_space() >>> e.root(Integer(0),Integer(1)) (1, -1, 0) 
 - simple_root(i)[source]¶
- EXAMPLES: - sage: e = RootSystem(['B',4]).ambient_space() sage: e.simple_roots() Finite family {1: (1, -1, 0, 0), 2: (0, 1, -1, 0), 3: (0, 0, 1, -1), 4: (0, 0, 0, 1)} sage: e.positive_roots() [(1, -1, 0, 0), (1, 1, 0, 0), (1, 0, -1, 0), (1, 0, 1, 0), (1, 0, 0, -1), (1, 0, 0, 1), (0, 1, -1, 0), (0, 1, 1, 0), (0, 1, 0, -1), (0, 1, 0, 1), (0, 0, 1, -1), (0, 0, 1, 1), (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)] sage: e.fundamental_weights() Finite family {1: (1, 0, 0, 0), 2: (1, 1, 0, 0), 3: (1, 1, 1, 0), 4: (1/2, 1/2, 1/2, 1/2)} - >>> from sage.all import * >>> e = RootSystem(['B',Integer(4)]).ambient_space() >>> e.simple_roots() Finite family {1: (1, -1, 0, 0), 2: (0, 1, -1, 0), 3: (0, 0, 1, -1), 4: (0, 0, 0, 1)} >>> e.positive_roots() [(1, -1, 0, 0), (1, 1, 0, 0), (1, 0, -1, 0), (1, 0, 1, 0), (1, 0, 0, -1), (1, 0, 0, 1), (0, 1, -1, 0), (0, 1, 1, 0), (0, 1, 0, -1), (0, 1, 0, 1), (0, 0, 1, -1), (0, 0, 1, 1), (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)] >>> e.fundamental_weights() Finite family {1: (1, 0, 0, 0), 2: (1, 1, 0, 0), 3: (1, 1, 1, 0), 4: (1/2, 1/2, 1/2, 1/2)} 
 
- class sage.combinat.root_system.type_B.CartanType(n)[source]¶
- Bases: - CartanType_standard_finite,- CartanType_simple,- CartanType_crystallographic- EXAMPLES: - sage: ct = CartanType(['B',4]) sage: ct ['B', 4] sage: ct._repr_(compact = True) 'B4' sage: ct.is_irreducible() True sage: ct.is_finite() True sage: ct.is_affine() False sage: ct.is_crystallographic() True sage: ct.is_simply_laced() False sage: ct.affine() ['B', 4, 1] sage: ct.dual() ['C', 4] sage: ct = CartanType(['B',1]) sage: ct.is_simply_laced() True sage: ct.affine() ['B', 1, 1] - >>> from sage.all import * >>> ct = CartanType(['B',Integer(4)]) >>> ct ['B', 4] >>> ct._repr_(compact = True) 'B4' >>> ct.is_irreducible() True >>> ct.is_finite() True >>> ct.is_affine() False >>> ct.is_crystallographic() True >>> ct.is_simply_laced() False >>> ct.affine() ['B', 4, 1] >>> ct.dual() ['C', 4] >>> ct = CartanType(['B',Integer(1)]) >>> ct.is_simply_laced() True >>> ct.affine() ['B', 1, 1] - AmbientSpace[source]¶
- alias of - AmbientSpace
 - PieriFactors[source]¶
- alias of - PieriFactors_type_B
 - ascii_art(label=None, node=None)[source]¶
- Return an ascii art representation of the Dynkin diagram. - EXAMPLES: - sage: print(CartanType(['B',1]).ascii_art()) O 1 sage: print(CartanType(['B',2]).ascii_art()) O=>=O 1 2 sage: print(CartanType(['B',5]).ascii_art(label = lambda x: x+2)) O---O---O---O=>=O 3 4 5 6 7 - >>> from sage.all import * >>> print(CartanType(['B',Integer(1)]).ascii_art()) O 1 >>> print(CartanType(['B',Integer(2)]).ascii_art()) O=>=O 1 2 >>> print(CartanType(['B',Integer(5)]).ascii_art(label = lambda x: x+Integer(2))) O---O---O---O=>=O 3 4 5 6 7 
 - coxeter_number()[source]¶
- Return the Coxeter number associated with - self.- EXAMPLES: - sage: CartanType(['B',4]).coxeter_number() 8 - >>> from sage.all import * >>> CartanType(['B',Integer(4)]).coxeter_number() 8 
 - dual()[source]¶
- Types B and C are in duality: - EXAMPLES: - sage: CartanType(["C", 3]).dual() ['B', 3] - >>> from sage.all import * >>> CartanType(["C", Integer(3)]).dual() ['B', 3] 
 - dual_coxeter_number()[source]¶
- Return the dual Coxeter number associated with - self.- EXAMPLES: - sage: CartanType(['B',4]).dual_coxeter_number() 7 - >>> from sage.all import * >>> CartanType(['B',Integer(4)]).dual_coxeter_number() 7 
 - dynkin_diagram()[source]¶
- Return a Dynkin diagram for type B. - EXAMPLES: - sage: b = CartanType(['B',3]).dynkin_diagram(); b # needs sage.graphs O---O=>=O 1 2 3 B3 sage: b.edges(sort=True) # needs sage.graphs [(1, 2, 1), (2, 1, 1), (2, 3, 2), (3, 2, 1)] sage: b = CartanType(['B',1]).dynkin_diagram(); b # needs sage.graphs O 1 B1 sage: b.edges(sort=True) # needs sage.graphs [] - >>> from sage.all import * >>> b = CartanType(['B',Integer(3)]).dynkin_diagram(); b # needs sage.graphs O---O=>=O 1 2 3 B3 >>> b.edges(sort=True) # needs sage.graphs [(1, 2, 1), (2, 1, 1), (2, 3, 2), (3, 2, 1)] >>> b = CartanType(['B',Integer(1)]).dynkin_diagram(); b # needs sage.graphs O 1 B1 >>> b.edges(sort=True) # needs sage.graphs []