Package sage :: Package combinat :: Package crystals :: Module spins
[hide private]
[frames] | no frames]

Module spins

source code


Spin Crystals

These are the crystals associated with the three spin
representations: the spin representations of odd
orthogonal groups (or rather their double covers); and
the + and - spin representations of the even orthogonal
groups.

We follow Kashiwara and Nakashima (Journal of Algebra
165, 1994) in representing the elements of the spin Crystal
by sequences of signs +/-. Two other representations
are available as attributes internal_repn and signature
of the crystal element.

* A numerical internal representation, an integer N
such that if N-1 is written in binary and the 1's are
replaced by -, the 0's by +

* The signature, which is a list in which + is replaced
by +1 and - by -1.



Classes [hide private]
  GenericCrystalOfSpins
  Spin
  Spin_crystal_type_B_element
Type B spin representation crystal element
  Spin_crystal_type_D_element
Type D spin representation crystal element
Functions [hide private]
 
CrystalOfSpins(ct)
Return the spin crystal of the given type B.
source code
 
CrystalOfSpinsPlus(ct)
Return the plus spin crystal of the given type D.
source code
 
CrystalOfSpinsMinus(ct)
Return the minus spin crystal of the given type D.
source code
Function Details [hide private]

CrystalOfSpins(ct)

source code 

Return the spin crystal of the given type B.

This is a combinatorial model for the crystal with
highest weight $Lambda_n$ (the n-th fundamental
weight). It has $2^n$ elements, here called Spins.
See also CrystalOfLetters, CrystalOfSpinsPlus
and CrystalOfSpinsMinus.

INPUT:
    ['B',n] -- A CartanType of type B.

EXAMPLES:
    sage: C = CrystalOfSpins(['B',3])
    sage: C.list()
    [[1, 1, 1],
     [1, 1, -1],
     [1, -1, 1],
     [-1, 1, 1],
     [1, -1, -1],
     [-1, 1, -1],
     [-1, -1, 1],
     [-1, -1, -1]]

     sage: [x.signature() for x in C]
     ['+++', '++-', '+-+', '-++', '+--', '-+-', '--+', '---']

TESTS:
    sage: len(TensorProductOfCrystals(C,C,generators=[[C.list()[0],C.list()[0]]]))
    35

CrystalOfSpinsPlus(ct)

source code 

Return the plus spin crystal of the given type D.

This is the crystal with highest weight $Lambda_n$
(the n-th fundamental weight).

INPUT:
    ['D',n] -- A CartanType of type D.

EXAMPLES:
    sage: D = CrystalOfSpinsPlus(['D',4])
    sage: D.list()
    [[1, 1, 1, 1],
     [1, 1, -1, -1],
     [1, -1, 1, -1],
     [-1, 1, 1, -1],
     [1, -1, -1, 1],
     [-1, 1, -1, 1],
     [-1, -1, 1, 1],
     [-1, -1, -1, -1]]

    sage: [x.signature() for x in D]
    ['++++', '++--', '+-+-', '-++-', '+--+', '-+-+', '--++', '----']

TESTS:
    sage: D.check()
    True

CrystalOfSpinsMinus(ct)

source code 

Return the minus spin crystal of the given type D.

This is the crystal with highest weight $Lambda_{n-1}$
(the (n-1)-st fundamental weight).

INPUT:
    ['D',n] -- A CartanType of type D.

EXAMPLES:
    sage: E = CrystalOfSpinsMinus(['D',4])
    sage: E.list()
     [[1, 1, 1, -1],
      [1, 1, -1, 1],
      [1, -1, 1, 1],
      [-1, 1, 1, 1],
      [1, -1, -1, -1],
      [-1, 1, -1, -1],
      [-1, -1, 1, -1],
      [-1, -1, -1, 1]]
    sage: [x.signature() for x in E]
    ['+++-', '++-+', '+-++', '-+++', '+---', '-+--', '--+-', '---+']

TESTS:
    sage: len(TensorProductOfCrystals(E,E,generators=[[E[0],E[0]]]).list())
    35
    sage: D = CrystalOfSpinsPlus(['D',4])
    sage: len(TensorProductOfCrystals(D,E,generators=[[D.list()[0],E.list()[0]]]).list())
    56