Package sage :: Package combinat :: Package root_system :: Module cartan_type :: Class CartanType_abstract
[hide private]
[frames] | no frames]

Class CartanType_abstract

source code

                      object --+    
                               |    
structure.sage_object.SageObject --+
                                   |
                                  CartanType_abstract
Known Subclasses:
type_dual.CartanType, dynkin_diagram.DynkinDiagram_class, type_reducible.CartanType, CartanType_simple


Abstract class for cartan types

Subclasses should implement:

type()
dynkin_diagram()
cartan_matrix()
is_finite()
is_affine()
is_irreducible()



Instance Methods [hide private]
 
type(self)
Returns the type of self, or None if unknown.
source code
 
rank(self)
Returns the rank of self.
source code
 
dual(self)
Returns the dual cartan type, possibly just as a formal dual.
source code
 
type_string(self)
Returns a string suitable for type-specific code dispatch...
source code
 
is_reducible(self)
Report whether the root system is reducible (i.e.
source code
 
is_irreducible(self)
Report whether this Cartan type is irreducible (i.e.
source code
 
is_finite(self)
Returns whether this Cartan type is finite.
source code
 
is_affine(self)
Returns whether self is affine.
source code
 
is_crystalographic(self)
Returns whether this Cartan type is simple laced...
source code
 
is_simple_laced(self)
Returns whether this Cartan type is simple laced...
source code
 
index_set(self)
Returns the index set for self.
source code
 
root_system(self)
Returns the root system associated to self.
source code

Inherited from structure.sage_object.SageObject: __hash__, __new__, __repr__, _axiom_, _axiom_init_, _gap_, _gap_init_, _gp_, _gp_init_, _interface_, _interface_init_, _interface_is_cached_, _kash_, _kash_init_, _macaulay2_, _macaulay2_init_, _magma_, _magma_init_, _maple_, _maple_init_, _mathematica_, _mathematica_init_, _maxima_, _maxima_init_, _octave_, _octave_init_, _pari_, _pari_init_, _r_init_, _sage_, _singular_, _singular_init_, category, db, dump, dumps, plot, rename, reset_name, save, version

Inherited from object: __delattr__, __getattribute__, __init__, __reduce__, __reduce_ex__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

rank(self)

source code 

Returns the rank of self.

EXAMPLES:
    sage: CartanType(['A', 4]).rank()
    4
    sage: CartanType(['A', 7, 2]).rank()
    4
    sage: CartanType(['I', 8]).rank()
    2

dual(self)

source code 

Returns the dual cartan type, possibly just as a formal dual.

EXAMPLES:
    sage: CartanType(['F',4]).dual()
    ['F', 4]^*

type_string(self)

source code 

Returns a string suitable for type-specific code dispatch

EXAMPLES:

is_reducible(self)

source code 

Report whether the root system is reducible (i.e. not simple),
that is whether it can be factored as a product of root
systems.

EXAMPLES:
  sage: CartanType("A2xB3").is_reducible()
  True
  sage: CartanType(['A',2]).is_reducible()
  False

is_irreducible(self)

source code 

Report whether this Cartan type is irreducible (i.e. simple)

is_finite(self)

source code 

Returns whether this Cartan type is finite.

EXAMPLES:
    sage: CartanType(['A',4]).is_finite()
    True
    sage: CartanType(['A',4,1]).is_finite()
    False

is_affine(self)

source code 

Returns whether self is affine.

EXAMPLES:
    sage: CartanType(['A', 3]).is_affine()
    False
    sage: CartanType(['A', 3, 1]).is_affine()
    True

is_crystalographic(self)

source code 

Returns whether this Cartan type is simple laced

EXAMPLES:
    sage: [ [t, t.is_crystalographic() ] for t in CartanType.samples(finite=True) ]
    [[['A', 1], True], [['A', 5], True],
    [['B', 5], True], [['C', 5], True], [['D', 5], True],
    [['E', 6], True], [['E', 7], True], [['E', 8], True],
    [['F', 4], True], [['G', 2], True],
    [['I', 5], False], [['H', 3], False], [['H', 4], False]]

TESTS:
    sage: all(t.is_crystalographic() for t in CartanType.samples(affine=True))
    True

is_simple_laced(self)

source code 

Returns whether this Cartan type is simple laced

EXAMPLES:
    sage: [ [t, t.is_simply_laced() ] for t in CartanType.samples() ]
    [[['A', 1], True], [['A', 5], True],
    [['B', 5], False], [['C', 5], False], [['D', 5], True],
    [['E', 6], True], [['E', 7], True], [['E', 8], True],
    [['F', 4], False], [['G', 2], False], [['I', 5], False], [['H', 3], False], [['H', 4], False],
    [['A', 1, 1], False], [['A', 5, 1], True],
    [['B', 5, 1], False], [['C', 5, 1], False], [['D', 5, 1], True],
    [['E', 6, 1], True], [['E', 7, 1], True], [['E', 8, 1], True],
    [['F', 4, 1], False], [['G', 2, 1], False],
    [['A', 2, 2], False], [['A', 10, 2], False], [['A', 9, 2], False], [['D', 5, 2], False], [['D', 4, 3], False], [['E', 6, 2], False]]

index_set(self)

source code 

Returns the index set for self.

EXAMPLES:
    sage: CartanType(['A', 3, 1]).index_set()
    [0, 1, 2, 3]
    sage: CartanType(['D', 4]).index_set()
    [1, 2, 3, 4]

root_system(self)

source code 

Returns the root system associated to self.

EXAMPLES:
    sage: CartanType(['A',4]).root_system()
    Root system of type ['A', 4]