Hi Christian,
     Just to pile on, I think that this change also breaks Weyl Groups 
(perhaps for the same reason).

'----------------------------------------------------------------------
| Sage Version 4.8, Release Date: 2012-01-20                         |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
Loading Sage library. Current Mercurial branch is: combinat
sage: W = WeylGroup(['A',4,1])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/Applications/sage-4.8/<ipython console> in <module>()

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/combinat/root_system/weyl_group.pyc
 
in WeylGroup(x, prefix)
    146     ct = CartanType(x)
    147     if ct.is_affine():
--> 148         return WeylGroup_gens(ct.root_system().root_space(), 
prefix=prefix)
    149     else:
    150         return WeylGroup_gens(ct.root_system().ambient_space(), 
prefix=prefix)

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/misc/classcall_metaclass.so
 
in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ 
(sage/misc/classcall_metaclass.c:820)()

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/combinat/root_system/weyl_group.pyc
 
in __classcall__(cls, domain, prefix)
    153     @staticmethod
    154     def __classcall__(cls, domain, prefix=None):
--> 155         return super(WeylGroup_gens, cls).__classcall__(cls, 
domain, prefix)
    156 
    157     def __init__(self, domain, prefix):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/misc/cachefunc.pyc
 
in __call__(self, *args, **kwds)
    176             return self.cache[k]
    177         except KeyError:
--> 178             w = self.f(*args, **kwds)
    179             self.cache[k] = w
    180             return w

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/structure/unique_representation.pyc
 
in __classcall__(cls, *args, **options)
    461             True
    462         """
--> 463         instance = typecall(cls, *args, **options)
    464         assert isinstance( instance, cls )
    465         if instance.__class__.__reduce__ == 
UniqueRepresentation.__reduce__:

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/misc/classcall_metaclass.so
 
in sage.misc.classcall_metaclass.typecall 
(sage/misc/classcall_metaclass.c:1140)()

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/combinat/root_system/weyl_group.pyc
 
in __init__(self, domain, prefix)
    173         #MatrixGroup_gens.__init__(self, 
list(self.simple_reflections()))
    174         self._prefix = prefix
--> 175         MatrixGroup_gens.__init__(self, 
[self.morphism_matrix(self.domain().simple_reflection(i)) for i in 
self.index_set()], category = category)
    176 
    177     @cached_method

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/combinat/root_system/weyl_group.pyc
 
in morphism_matrix(self, f)
    207     def morphism_matrix(self, f):
    208         return matrix(self.domain().base_ring(), [f(b).to_vector()
--> 209                            for b in 
self.domain().basis()]).transpose()
    210 
    211     def from_morphism(self, f):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/combinat/free_module.pyc
 
in to_vector(self)
    673             True
    674         """
--> 675         return self._vector_()
    676 
    677     def _acted_upon_(self, scalar, self_on_left = False):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/combinat/free_module.pyc
 
in _vector_(self, new_base_ring)
    650         return vector(new_base_ring, 
    651                       
[new_base_ring(self._monomial_coefficients.get(m, 0))
--> 652                        for m in list(cc)])
    653 
    654     def to_vector(self):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/modules/free_module_element.so
 
in sage.modules.free_module_element.vector 
(sage/modules/free_module_element.c:4328)()

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/categories/fields.pyc
 
in __pow__(self, n)
    184             """
    185             from sage.modules.all import FreeModule
--> 186             return FreeModule(self, n)
    187 
    188     class ElementMethods:

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/structure/factory.so
 
in sage.structure.factory.UniqueFactory.__call__ 
(sage/structure/factory.c:987)()

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/structure/factory.so
 
in sage.structure.factory.UniqueFactory.get_object 
(sage/structure/factory.c:1196)()

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/modules/free_module.pyc
 
in create_object(self, version, key)
    362 
    363         elif base_ring.is_field():
--> 364             return FreeModule_ambient_field(base_ring, rank, 
sparse=sparse)
    365 
    366         elif isinstance(base_ring, 
principal_ideal_domain.PrincipalIdealDomain):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/modules/free_module.pyc
 
in __init__(self, base_field, dimension, sparse)
   4747             Vector space of dimension 3 over Rational Field
   4748         """
-> 4749         FreeModule_ambient_pid.__init__(self, base_field, 
dimension, sparse=sparse)
   4750 
   4751     def _repr_(self):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/modules/free_module.pyc
 
in __init__(self, base_ring, rank, sparse)
   4668             Ambient free module of rank 3 over the principal ideal 
domain Integer Ring
   4669         """
-> 4670         FreeModule_ambient_domain.__init__(self, 
base_ring=base_ring, rank=rank, sparse=sparse)
   4671     
   4672     def _repr_(self):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/modules/free_module.pyc
 
in __init__(self, base_ring, rank, sparse)
   4484             Univariate Polynomial Ring in x over Finite Field of 
size 5
   4485         """
-> 4486         FreeModule_ambient.__init__(self, base_ring, rank, sparse)
   4487 
   4488     def _repr_(self):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/modules/free_module.pyc
 
in __init__(self, base_ring, rank, sparse)
   3959             Ambient free module of rank 4 over the principal ideal 
domain Integer Ring
   3960         """
-> 3961         FreeModule_generic.__init__(self, base_ring, rank=rank, 
degree=rank, sparse=sparse)
   3962 
   3963     def __hash__(self):

/Applications/sage-4.8/local/lib/python2.6/site-packages/sage/modules/free_module.pyc
 
in __init__(self, base_ring, rank, degree, sparse)
    566         """
    567         if not isinstance(base_ring, 
commutative_ring.CommutativeRing):
--> 568             raise TypeError, "base_ring (=%s) must be a commutative 
ring"%base_ring
    569         rank = sage.rings.integer.Integer(rank)
    570         if rank < 0:

TypeError: base_ring (=Universal Cyclotomic Field endowed with the 
Zumbroich basis) must be a commutative ring

-Mike

On Tuesday, 8 May 2012 16:40:05 UTC-4, Christian Stump wrote:
>
> > For the record, there is already a hook to implement this: see 
> > 
> >   
>  sage.combinat.root_system.ambient_space.AmbientSpace.smallest_base_ring 
> >    sage.combinat.root_system.type_A.AmbientSpace.smallest_base_ring 
> >    ... 
> > 
> > Christian: do you envision any non crystallographic root system for 
> > which we would have a manually defined ambient space? 
>
> haven't gotten back to it yet -- no, no new ambient spaces from my side. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sage-combinat-devel/-/aAsKCb3dYjAJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to