On Tue, Jan 03, 2012 at 01:17:14AM -0800, Bruce wrote:
> This seems to me to be either a bug or a deficiency:
>
> sage: KZ = WeylCharacterRing('A1',base_ring=ZZ,style="coroots")
> sage: KS =
> WeylCharacterRing('A1',base_ring=SFASchur(ZZ),style="coroots")
> sage: a = KZ([1])
> sage: KS(a)
>
> produces an error.
>
> More generally I was hoping that given (commutative) rings R and S and
> a ring homomorphism
> phi : R --> S that the category framework would then provide the
> homomorphism from
> WeylCharacterRing('A1',base_ring=R) to
> WeylCharacterRing('A1',base_ring=S)
> but in view of the above I have now lost confidence.
This would be a natural feature, but it is indeed not yet implemented.
It should not be difficult, but requires a bit of thought to integrate
properly in the coercion framework. Please create a ticket! Maybe this
will trigger a volunteer :-)
> Is there a simple way to achieve this? Here R would probably be
> symmetric functions and there are several definitions of the same
> homomorphism, depending on the choice of basis.
You can construct the homomorphism by hand, and register it:
sage: KZ = WeylCharacterRing('A1',base_ring=ZZ,style="coroots")
sage: KS = WeylCharacterRing('A1',base_ring=SFASchur(ZZ),style="coroots")
sage: a = KZ([1])
sage: phi = KZ.module_morphism(KS.monomial)
sage: phi(a)
s[]*A1(1)
sage: phi.register_as_coercion()
sage: KS(a)
s[]*A1(1)
Note that the registering must be done early in the Sage session
(before any coercion lookup between KZ and KS.
Cheers,
Nicolas
--
Nicolas M. ThiƩry "Isil" <[email protected]>
http://Nicolas.Thiery.name/
--
You received this message because you are subscribed to the Google Groups
"sage-combinat-devel" group.
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.