#5598: [with patch, needs work] allow post-creation (pre-use) declaration of
coercions
----------------------+-----------------------------------------------------
 Reporter:  robertwb  |       Owner:  robertwb
     Type:  defect    |      Status:  new     
 Priority:  major     |   Milestone:  sage-4.0
Component:  coercion  |    Keywords:          
----------------------+-----------------------------------------------------

Comment(by ncalexan):

 This is all kinds of awesome, and yet totally useless.  For example, the
 following fails:

 {{{
 x = GF(3)['x'].0
 K.<a> = GF(3^2, 'a', modulus=x^2+1)
 L.<b> = GF(3^2, 'b', modulus=x^2 + x - 1)

 L_into_K = L.hom([a - 2], K, check=False)
 K.register_coercion(L_into_K)
 }}}

 Why?  Because the {{{a-2}}} has used the coercion mechanism for K.  It
 will be essentially impossible to construct morphisms that are
 mathematically interesting without using coercion at some point.

 What is to be done?  I have no great ideas.  Personally I would be happy
 with a flag to {{{register_coercion}}} that "broke the links" of the
 coercion graph, or even tried to {{{reset_cache()}}} on the
 coercion_model.  Notice that I tried this, but it doesn't work, because
 {{{reset_cache}}} doesn't twiddle the flag on each parent.  (That's a bug,
 in my opinion.)

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5598#comment:10>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" 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-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to