Root system data for type A - Combinatorics

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

# Root system data for type A

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

  Bases: `AmbientSpace`

  EXAMPLES:

  Sage

      sage: R = RootSystem(["A",3])
      sage: e = R.ambient_space(); e
      Ambient space of the Root system of type ['A', 3]
      sage: TestSuite(e).run()                                                        # needs sage.graphs

  Python

      >>> from sage.all import *
      >>> R = RootSystem(["A",Integer(3)])
      >>> e = R.ambient_space(); e
      Ambient space of the Root system of type ['A', 3]
      >>> TestSuite(e).run()                                                        # needs sage.graphs

  By default, this ambient space uses the barycentric projection for plotting:

  Sage

      sage: # needs sage.symbolic
      sage: L = RootSystem(["A",2]).ambient_space()
      sage: e = L.basis()
      sage: L._plot_projection(e[0])
      (1/2, 989/1142)
      sage: L._plot_projection(e[1])
      (-1, 0)
      sage: L._plot_projection(e[2])
      (1/2, -989/1142)
      sage: L = RootSystem(["A",3]).ambient_space()
      sage: l = L.an_element(); l
      (2, 2, 3, 0)
      sage: L._plot_projection(l)
      (0, -1121/1189, 7/3)

  [Python]

      >>> from sage.all import *
      >>> # needs sage.symbolic
      >>> L = RootSystem(["A",Integer(2)]).ambient_space()
      >>> e = L.basis()
      >>> L._plot_projection(e[Integer(0)])
      (1/2, 989/1142)
      >>> L._plot_projection(e[Integer(1)])
      (-1, 0)
      >>> L._plot_projection(e[Integer(2)])
      (1/2, -989/1142)
      >>> L = RootSystem(["A",Integer(3)]).ambient_space()
      >>> l = L.an_element(); l
      (2, 2, 3, 0)
      >>> L._plot_projection(l)
      (0, -1121/1189, 7/3)

  See also

  - `sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods._plot_projection()`

  det(k=1)

    Return the vector (1, … ,1) which in the [‘A’,r] weight lattice, interpreted as a weight of GL(r+1,CC) is the determinant. If the optional parameter k is given, returns (k, … ,k), the \(k\)-th power of the determinant.

    EXAMPLES:

    Sage

        sage: e = RootSystem(['A',3]).ambient_space()
        sage: e.det(1/2)
        (1/2, 1/2, 1/2, 1/2)

    Python

        >>> from sage.all import *
        >>> e = RootSystem(['A',Integer(3)]).ambient_space()
        >>> e.det(Integer(1)/Integer(2))
        (1/2, 1/2, 1/2, 1/2)

  dimension()

    EXAMPLES:

    Sage

        sage: e = RootSystem(["A",3]).ambient_space()
        sage: e.dimension()
        4

    Python

        >>> from sage.all import *
        >>> e = RootSystem(["A",Integer(3)]).ambient_space()
        >>> e.dimension()
        4

  fundamental_weight(i)

    EXAMPLES:

    Sage

        sage: e = RootSystem(['A',3]).ambient_lattice()
        sage: e.fundamental_weights()
        Finite family {1: (1, 0, 0, 0), 2: (1, 1, 0, 0), 3: (1, 1, 1, 0)}

    Python

        >>> from sage.all import *
        >>> e = RootSystem(['A',Integer(3)]).ambient_lattice()
        >>> e.fundamental_weights()
        Finite family {1: (1, 0, 0, 0), 2: (1, 1, 0, 0), 3: (1, 1, 1, 0)}

  highest_root()

    EXAMPLES:

    Sage

        sage: e = RootSystem(['A',3]).ambient_lattice()
        sage: e.highest_root()
        (1, 0, 0, -1)

    Python

        >>> from sage.all import *
        >>> e = RootSystem(['A',Integer(3)]).ambient_lattice()
        >>> e.highest_root()
        (1, 0, 0, -1)

  negative_roots()

    EXAMPLES:

    Sage

        sage: e = RootSystem(['A',3]).ambient_lattice()
        sage: e.negative_roots()
        [(-1, 1, 0, 0),
         (-1, 0, 1, 0),
         (-1, 0, 0, 1),
         (0, -1, 1, 0),
         (0, -1, 0, 1),
         (0, 0, -1, 1)]

    Python

        >>> from sage.all import *
        >>> e = RootSystem(['A',Integer(3)]).ambient_lattice()
        >>> e.negative_roots()
        [(-1, 1, 0, 0),
         (-1, 0, 1, 0),
         (-1, 0, 0, 1),
         (0, -1, 1, 0),
         (0, -1, 0, 1),
         (0, 0, -1, 1)]

  positive_roots()

    EXAMPLES:

    Sage

        sage: e = RootSystem(['A',3]).ambient_lattice()
        sage: e.positive_roots()
        [(1, -1, 0, 0),
         (1, 0, -1, 0),
         (0, 1, -1, 0),
         (1, 0, 0, -1),
         (0, 1, 0, -1),
         (0, 0, 1, -1)]

    Python

        >>> from sage.all import *
        >>> e = RootSystem(['A',Integer(3)]).ambient_lattice()
        >>> e.positive_roots()
        [(1, -1, 0, 0),
         (1, 0, -1, 0),
         (0, 1, -1, 0),
         (1, 0, 0, -1),
         (0, 1, 0, -1),
         (0, 0, 1, -1)]

  root(i, j)

    Note that indexing starts at 0.

    EXAMPLES:

    Sage

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

    Python

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

  simple_root(i)

    EXAMPLES:

    Sage

        sage: e = RootSystem(['A',3]).ambient_lattice()
        sage: e.simple_roots()
        Finite family {1: (1, -1, 0, 0), 2: (0, 1, -1, 0), 3: (0, 0, 1, -1)}

    Python

        >>> from sage.all import *
        >>> e = RootSystem(['A',Integer(3)]).ambient_lattice()
        >>> e.simple_roots()
        Finite family {1: (1, -1, 0, 0), 2: (0, 1, -1, 0), 3: (0, 0, 1, -1)}

  classmethod smallest_base_ring(cartan_type=None)

    Return the smallest base ring the ambient space can be defined upon.

    See also

    `smallest_base_ring()`

    EXAMPLES:

    Sage

        sage: e = RootSystem(["A",3]).ambient_space()
        sage: e.smallest_base_ring()
        Integer Ring

    Python

        >>> from sage.all import *
        >>> e = RootSystem(["A",Integer(3)]).ambient_space()
        >>> e.smallest_base_ring()
        Integer Ring

class sage.combinat.root_system.type_A.CartanType(n)

  Bases: `CartanType_standard_finite`, `CartanType_simply_laced`, `CartanType_simple`

  Cartan Type \(A_n\).

  See also

  `CartanType()`

  AmbientSpace

    alias of `AmbientSpace`

  PieriFactors

    alias of `PieriFactors_type_A`

  ascii_art(label=None, node=None)

    Return an ascii art representation of the Dynkin diagram.

    EXAMPLES:

    Sage

        sage: print(CartanType(['A',0]).ascii_art())
        sage: print(CartanType(['A',1]).ascii_art())
        O
        1
        sage: print(CartanType(['A',3]).ascii_art())
        O---O---O
        1   2   3
        sage: print(CartanType(['A',12]).ascii_art())
        O---O---O---O---O---O---O---O---O---O---O---O
        1   2   3   4   5   6   7   8   9   10  11  12
        sage: print(CartanType(['A',5]).ascii_art(label = lambda x: x+2))
        O---O---O---O---O
        3   4   5   6   7
        sage: print(CartanType(['A',5]).ascii_art(label = lambda x: x-2))
        O---O---O---O---O
        -1  0   1   2   3

    Python

        >>> from sage.all import *
        >>> print(CartanType(['A',Integer(0)]).ascii_art())
        >>> print(CartanType(['A',Integer(1)]).ascii_art())
        O
        1
        >>> print(CartanType(['A',Integer(3)]).ascii_art())
        O---O---O
        1   2   3
        >>> print(CartanType(['A',Integer(12)]).ascii_art())
        O---O---O---O---O---O---O---O---O---O---O---O
        1   2   3   4   5   6   7   8   9   10  11  12
        >>> print(CartanType(['A',Integer(5)]).ascii_art(label = lambda x: x+Integer(2)))
        O---O---O---O---O
        3   4   5   6   7
        >>> print(CartanType(['A',Integer(5)]).ascii_art(label = lambda x: x-Integer(2)))
        O---O---O---O---O
        -1  0   1   2   3

  coxeter_number()

    Return the Coxeter number associated with `self`.

    EXAMPLES:

    Sage

        sage: CartanType(['A',4]).coxeter_number()
        5

    Python

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

  dual_coxeter_number()

    Return the dual Coxeter number associated with `self`.

    EXAMPLES:

    Sage

        sage: CartanType(['A',4]).dual_coxeter_number()
        5

    Python

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

  dynkin_diagram()

    Return the Dynkin diagram of type A.

    EXAMPLES:

    Sage

        sage: a = CartanType(['A',3]).dynkin_diagram(); a                           # needs sage.graphs
        O---O---O
        1   2   3
        A3
        sage: a.edges(sort=True)                                                    # needs sage.graphs
        [(1, 2, 1), (2, 1, 1), (2, 3, 1), (3, 2, 1)]

    Python

        >>> from sage.all import *
        >>> a = CartanType(['A',Integer(3)]).dynkin_diagram(); a                           # needs sage.graphs
        O---O---O
        1   2   3
        A3
        >>> a.edges(sort=True)                                                    # needs sage.graphs
        [(1, 2, 1), (2, 1, 1), (2, 3, 1), (3, 2, 1)]