#6101: computation of induced morphism on homology and cohomology of simplicial
complex morphisms
-------------------------------------+-------------------------------------
       Reporter:  bantieau           |        Owner:  bantieau
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.4
      Component:  algebraic          |   Resolution:
  topology                           |    Merged in:
       Keywords:                     |    Reviewers:
        Authors:                     |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:  u/jhpalmieri       |  698ba79f9837c3c2e83bd358441b4cd4a4073392
  /induced-maps                      |     Stopgaps:
   Dependencies:  #19179, #6102      |
-------------------------------------+-------------------------------------

Comment (by cnassau):

 Hi John,

 This seems pretty interesting. I just started to play around with it and
 was struck by a couple of minor usability issues:
 {{{
 sage: X=simplicial_complexes.BrucknerGrunbaumSphere()
 sage: phi, M = algebraic_topological_model(X, GF(2))
 sage: phi
 Chain homotopy between Chain complex morphism from Chain complex with at
 most 4 nonzero terms over Finite Field of size 2 to Chain complex with at
 most 4 nonzero terms over Finite Field of size 2 and Chain complex
 morphism from Chain complex with at most 4 nonzero terms over Finite Field
 of size 2 to Chain complex with at most 4 nonzero terms over Finite Field
 of size 2
 sage: phi._codomain()
 Trivial chain
 sage: phi._domain()
 Trivial chain
 sage: phi._codomain() is phi._domain()
 False
 }}}

 As you can see, I made the basic mistake of thinking of "phi._domain" as
 private functions, when they are in fact just attributes:
 {{{
 sage: phi._domain
 Chain complex with at most 4 nonzero terms over Finite Field of size 2
 sage: phi._domain is phi._f._domain
 True
 }}}
 The Sage maps that I'm used to (mainly morphisms between
 CombinatorialFreeModules) have public "domain" and "codomain" methods;
 this might have spared me a 5 minute detour in this case. I have no good
 idea, though, what to call the $H_0$ and $H_1$ of a homotopy $H_t$...

 Also, I wonder if phi shouldn't better be printed like
 {{{
 sage: phi
 Chain homotopy between
     Chain complex morphism
       From: Chain complex with at most 4 nonzero terms over Finite Field
 of size 2
       To:   Chain complex with at most 4 nonzero terms over Finite Field
 of size 2
 and Chain complex morphism
       From: Chain complex with at most 4 nonzero terms over Finite Field
 of size 2
       To:   Chain complex with at most 4 nonzero terms over Finite Field
 of size 2
 }}}
 At least this is the way morphisms between combinatorial free modules are
 printed:
 {{{
 sage: A,B=[CombinatorialFreeModule(GF(2),x) for x in [(1,2,3),(2,3,4)]]
 sage: f=A.module_morphism(codomain=B,on_basis = lambda x:x+1) ; f
 Generic morphism:
   From: Free module generated by {1, 2, 3} over Finite Field of size 2
   To:   Free module generated by {2, 3, 4} over Finite Field of size 2
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/6101#comment:10>
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