Root system data for type B - Combinatorics

Skip to content
Back to top
View this page
Edit this page

# Root system data for type B

class sage.combinat.root_system.type_B.AmbientSpace(root_system, base_ring, index_set=None)

  Bases: `AmbientSpace`

  dimension()

    EXAMPLES:

    Sage

        sage: e = RootSystem(['B',3]).ambient_space()
        sage: e.dimension()
        3

    Python

        >>> from sage.all import *
        >>> e = RootSystem(['B',Integer(3)]).ambient_space()
        >>> e.dimension()
        3

  fundamental_weight(i)

    EXAMPLES:

    Sage

        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)}

    Python

        >>> 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()

    EXAMPLES:

    Sage

        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)]

    Python

        >>> 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()

    EXAMPLES:

    Sage

        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)]

    Python

        >>> 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)

    Note that indexing starts at 0.

    EXAMPLES:

    Sage

        sage: e = RootSystem(['B',3]).ambient_space()
        sage: e.root(0,1)
        (1, -1, 0)

    Python

        >>> from sage.all import *
        >>> e = RootSystem(['B',Integer(3)]).ambient_space()
        >>> e.root(Integer(0),Integer(1))
        (1, -1, 0)

  simple_root(i)

    EXAMPLES:

    Sage

        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)}

    Python

        >>> 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)

  Bases: `CartanType_standard_finite`, `CartanType_simple`, `CartanType_crystallographic`

  EXAMPLES:

  Sage

      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]

  Python

      >>> 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

    alias of `AmbientSpace`

  PieriFactors

    alias of `PieriFactors_type_B`

  ascii_art(label=None, node=None)

    Return an ascii art representation of the Dynkin diagram.

    EXAMPLES:

    Sage

        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

    Python

        >>> 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()

    Return the Coxeter number associated with `self`.

    EXAMPLES:

    Sage

        sage: CartanType(['B',4]).coxeter_number()
        8

    Python

        >>> from sage.all import *
        >>> CartanType(['B',Integer(4)]).coxeter_number()
        8

  dual()

    Types B and C are in duality:

    EXAMPLES:

    Sage

        sage: CartanType(["C", 3]).dual()
        ['B', 3]

    Python

        >>> from sage.all import *
        >>> CartanType(["C", Integer(3)]).dual()
        ['B', 3]

  dual_coxeter_number()

    Return the dual Coxeter number associated with `self`.

    EXAMPLES:

    Sage

        sage: CartanType(['B',4]).dual_coxeter_number()
        7

    Python

        >>> from sage.all import *
        >>> CartanType(['B',Integer(4)]).dual_coxeter_number()
        7

  dynkin_diagram()

    Return a Dynkin diagram for type B.

    EXAMPLES:

    Sage

        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
        []

    Python

        >>> 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
        []