#17585: Implement coordinate_ring() for free module elements
-------------------------------------+-------------------------------------
       Reporter:  jdemeyer           |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.5
      Component:  linear algebra     |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Jeroen Demeyer     |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/jdemeyer/ticket/17585            |  dbca6bb7915f3084b04af6943689ab0d244d7032
   Dependencies:  #17584, #17694,    |     Stopgaps:
  #13081, #12600                     |
-------------------------------------+-------------------------------------
Changes (by jdemeyer):

 * status:  needs_info => needs_review


Comment:

 Replying to [comment:22 vdelecroix]:
 > 1. Do we really want to allow `non exact` coordinate rings with `exact`
 base ring? You replaced a test about exactness of the base ring with
 exactness of the coordinate ring.
 No, mixing exact and non-exact doesn't really work anyway. I replaced the
 test because it does a computation with the coordinates. If we ever want
 to support non-exact coordinate rings with exact base rings, the
 modification is the right thing to do.

 > 2. What is the point of the `ring` argument of `basis_matrix`? Moreover
 the implementation looks wrong since it returns the matrix `A` (defined
 over the `coordinate_ring`) as soon as `ring`  is the `base_ring`.
 At one point during development of this ticket, I needed an explicit ring
 to work-around #16399. Instead, #16399 got fixed, so this work-around was
 no longer needed. I did keep the change to `basis_matrix()`. Does this
 extra argument really hurt? I could remove it if you want. The
 implementation is correct though: I think you are confusing the
 `base_ring` of the matrix with the `coordinate_ring` of the module.

 > 3. Do we really need the method `coordinate_ring`/`base_ring` defined on
 vectors? These are methods of the parent (and are implemented as such). I
 do not see the point of that much duplication.
 Well, we already have `base_ring()` on both the module and the vectors. If
 you want to change that, please do it on a new ticket. Given that we have
 `base_ring()` for modules and vectors, it makes a lot of sense to do the
 same for `coordinate_ring()`. Besides, the `coordinate_ring()` method
 could really be seen as a method on the vectors: it gives the parent of
 the entries of the vector.

--
Ticket URL: <http://trac.sagemath.org/ticket/17585#comment:23>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to