### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Root Systems »
- Root System Types »

# Root system data for type D

class `sage.combinat.root_system.type_D.``AmbientSpace`(root_system, base_ring)

  Bases: `sage.combinat.root_system.ambient_space.AmbientSpace`

  EXAMPLES:

      sage: e = RootSystem(['A',3]).ambient_lattice()
      sage: s = e.simple_reflections()

      sage: L = RootSystem(['A',3]).coroot_lattice()
      sage: e.has_coerce_map_from(L)
      True
      sage: e(L.simple_root(1))
      (1, -1, 0, 0)

  `dimension`()

    EXAMPLES:

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

  `fundamental_weight`(i)

    EXAMPLES:

        sage: RootSystem(['D',4]).ambient_space().fundamental_weights()
        Finite family {1: (1, 0, 0, 0), 2: (1, 1, 0, 0), 3: (1/2, 1/2, 1/2, -1/2), 4: (1/2, 1/2, 1/2, 1/2)}

  `negative_roots`()

    EXAMPLES:

        sage: RootSystem(['D',4]).ambient_space().negative_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),
         (-1, -1, 0, 0),
         (-1, 0, -1, 0),
         (0, -1, -1, 0),
         (-1, 0, 0, -1),
         (0, -1, 0, -1),
         (0, 0, -1, -1)]

  `positive_roots`()

    EXAMPLES:

        sage: RootSystem(['D',4]).ambient_space().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),
         (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, p1, p2)

    Note that indexing starts at 0.

    EXAMPLES:

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

  `simple_root`(i)

    EXAMPLES:

        sage: RootSystem(['D',4]).ambient_space().simple_roots()
        Finite family {1: (1, -1, 0, 0), 2: (0, 1, -1, 0), 3: (0, 0, 1, -1), 4: (0, 0, 1, 1)}

class `sage.combinat.root_system.type_D.``CartanType`(n)

  Bases: `sage.combinat.root_system.cartan_type.CartanType_standard_finite`, `sage.combinat.root_system.cartan_type.CartanType_simply_laced`

  EXAMPLES:

      sage: ct = CartanType(['D',4])
      sage: ct
      ['D', 4]
      sage: ct._repr_(compact = True)
      'D4'

      sage: ct.is_irreducible()
      True
      sage: ct.is_finite()
      True
      sage: ct.is_crystallographic()
      True
      sage: ct.is_simply_laced()
      True
      sage: ct.dual()
      ['D', 4]
      sage: ct.affine()
      ['D', 4, 1]

      sage: ct = CartanType(['D',2])
      sage: ct.is_irreducible()
      False
      sage: ct.dual()
      ['D', 2]
      sage: ct.affine()
      Traceback (most recent call last):
      ...
      ValueError: ['D', 2, 1] is not a valid Cartan type

  TESTS:

      sage: TestSuite(ct).run()

  `AmbientSpace`

    alias of `AmbientSpace`

  `ascii_art`(label=<function <lambda> at 0xef0a53e4>)

    Returns a ascii art representation of the extended Dynkin diagram

    EXAMPLES:

        sage: print CartanType(['D',3]).ascii_art()
        O 3
        |
        |
        O---O
        1   2
        sage: print CartanType(['D',4]).ascii_art()
            O 4
            |
            |
        O---O---O
        1   2   3
        sage: print CartanType(['D',4]).ascii_art(label = lambda x: x+2)
            O 6
            |
            |
        O---O---O
        3   4   5
        sage: print CartanType(['D',6]).ascii_art(label = lambda x: x+2)
                    O 8
                    |
                    |
        O---O---O---O---O
        3   4   5   6   7

  `coxeter_number`()

    Return the Coxeter number associated with `self`.

    EXAMPLES:

        sage: CartanType(['D',4]).coxeter_number()
        6

  `dual_coxeter_number`()

    Return the dual Coxeter number associated with `self`.

    EXAMPLES:

        sage: CartanType(['D',4]).dual_coxeter_number()
        6

  `dynkin_diagram`()

    Returns a Dynkin diagram for type D.

    EXAMPLES:

        sage: d = CartanType(['D',5]).dynkin_diagram(); d
                O 5
                |
                |
        O---O---O---O
        1   2   3   4
        D5
        sage: sorted(d.edges())
        [(1, 2, 1), (2, 1, 1), (2, 3, 1), (3, 2, 1), (3, 4, 1), (3, 5, 1), (4, 3, 1), (5, 3, 1)]

        sage: d = CartanType(['D',4]).dynkin_diagram(); d
            O 4
            |
            |
        O---O---O
        1   2   3
        D4
        sage: sorted(d.edges())
        [(1, 2, 1), (2, 1, 1), (2, 3, 1), (2, 4, 1), (3, 2, 1), (4, 2, 1)]

        sage: d = CartanType(['D',3]).dynkin_diagram(); d
        O 3
        |
        |
        O---O
        1   2
        D3
        sage: sorted(d.edges())
        [(1, 2, 1), (1, 3, 1), (2, 1, 1), (3, 1, 1)]

        sage: d = CartanType(['D',2]).dynkin_diagram(); d
        O   O
        1   2
        D2
        sage: sorted(d.edges())
        []

  `is_atomic`()

    Implements `CartanType_abstract.is_atomic()`

    \(D_2\) is atomic, like all \(D_n\), despite being non irreducible.

    EXAMPLES:

        sage: CartanType(["D",2]).is_atomic()
        True
        sage: CartanType(["D",2]).is_irreducible()
        False

### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Root Systems »
- Root System Types »