#6099: [with patch, needs work] morphisms of simplicial complexes and the
associated chain complex morphisms
--------------------------------+-------------------------------------------
 Reporter:  bantieau            |       Owner:  bantieau  
     Type:  enhancement         |      Status:  new       
 Priority:  minor               |   Milestone:  sage-4.0.3
Component:  algebraic topology  |    Keywords:            
 Reviewer:                      |      Author:            
   Merged:                      |  
--------------------------------+-------------------------------------------

Comment(by jhpalmieri):

 It's great that you're working on this.  It looks very good, but there are
 a few issues:

  - in the docstring for effective_vertices, you might mention that it
 returns a Simplex.  The docstring could start "The set of vertices
 belonging to some face, as a simplex", and you could also put in a doctest
 like
 {{{
 sage: type(S.effective_vertices())
 <class 'sage.homology.simplicial_complex.Simplex'>
 }}}

  - I had a few doctest failures which I think are fixed in #6309 (two
 extra periods), but they should be fixed here.

  - Is it a good idea to have {{{domain}}} and {{{codomain}}} methods for
 morphisms?  I can imagine someone wanting to use the domain of the fiber
 product, for example, but they won't see the {{{_domain}}} attribute on
 tab completion.

  - You don't have 100% documentation and doctest coverage.  Type 'sage
 -coverage ...insert_path_here.../sage/homology' to get a summary.  When
 you do this, note that messages like
  {{{
  Possibly wrong (function name doesn't occur in doctests):
          * _repr_(self):
  }}}
  can be avoided if you add "# indirect doctest", like this:
  {{{
             sage: x = i.associated_chain_complex_morphism()
             sage: x # indirect doctest
  }}}

  - Should "product" be renamed "fiber_product" so it's less ambiguous?

  - I wonder if {{{ChainComplexMorphism}}} should inherit from
 {{{ModuleElement}}} rather than {{{SageObject}}}.  Then you would define a
 method {{{_mul_}}} (rather than {{{__mul__}}}), and similarly for
 {{{_add_}}}, and you could also define {{{_lmul_}}} and {{{_rmul_}}} to
 deal with scalar multiplication.  Check the Sage reference manual, the
 "Coercion" section.  (This section is newly added to the reference manual,
 as of Sage 4.0.1 or 4.0.2, I think.)

  - I'm attaching a small patch which adds the new files to the reference
 manual.  (This involves editing one file, doc/en/reference/homology.rst,
 and also because of the way reST works, I had to change
  {{{
  - D. Benjamin Antieau <[email protected]> (2009.06)
  }}}
  to
  {{{
  - \D. Benjamin Antieau <[email protected]> (2009.06)
  }}}
  (The "D." at essentially the beginning of the line seemed to tell Sphinx
 that this was part of a numbered list, starting with number 4.)  Feel free
 to incorporate my changes and produce one single patch which does
 everything here.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6099#comment:3>
Sage <http://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 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