| 1 | initial version |
Currently, there isn't an easy way to specify the choice of simple roots.
If you really want to work with a different set of roots, here's the best way to do it. For the sake of this example, we'll pretend we're working in type A.
1) Create a class MyAmbientSpace which subclasses sage.combinat.root_system.ambient_space.AmbientSpace. The main method you'll need to implement is simple_root(i) which returns the simple root associated with i in the index set. You'll also need implement methods like smallest_base_ring and dimension. See sage.combinat.root_system.type_A for an example.
from sage.combinat.root_system.ambient_space import AmbientSpace
class MyAmbientSpace(AmbientSpace):
def simple_root(self, i):
...
...
2) Create a class MyCartanType which is a subclass of the current Cartan type, and set its AmbientSpace attribute to your MyAmbientSpace class:
from sage.combinat.root_system.type_A import CartanType as CartanTypeA
class MyCartanType(CartanTypeA):
AmbientSpace = MyAmbientSpace
3) Instantiate a root system based on your "new" CartanType:
my_a = MyCartanType(3)
R = RootSystem(my_a)
That root system should now use the simple roots you specified.
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.