Changes between Version 29 and Version 30 of Ticket #5891


Ignore:
Timestamp:
05/07/14 08:59:40 (5 years ago)
Author:
nthiery
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #5891 – Description

    v29 v30  
    1313
    1414Status and roadmap: http://trac.sagemath.org/sage_trac/wiki/CategoriesRoadMap
     15
     16Some of the things done in this ticket:
     17
     18- Categories:
     19  - Infrastructure:
     20    - sage.categories.category (500 lines of code)
     21    - sage.structure.parent (100 lines of code)
     22    - class manipulation: (25 lines of code)
     23  - All the mathematical categories of Axiom and MuPAD (Courtesy of Teresa Gomez Diaz)
     24    (except *WithSeveralBases which are not needed anymore; see .abstract_category())
     25    See the category graph: attachment:sage-category-graph.pdf
     26  - (Infinite/Finite)EnumeratedSets (with example) (Courtesy of Florent Hivert)
     27  - Semigroups                      (with example, basic methods, subquotients)
     28  - FiniteSemigroups                (with example, cayley graphs, basic representation theory, ...)
     29  - ModulesWithBasis                (with example, morphisms)
     30  - HopfAlgebras & friends          (with a couple examples)
     31  - Cleanup:
     32    - Have unique representation by default (no need to inherit from Category_uniq)
     33    - Have construction / reduce by default
     34    - Can systematically use the idiom P in Rings()
     35  - Lattice structure (join, meet); meet needs cleanup; join and meet
     36    should be swapped.
     37
     38- Reorganization of the Sage library to start using the category framework:
     39  - Groups:
     40    - AbelianGroup_class.__init__ was missing a call to Groups.__init__
     41    - Support for Group.__init__(category = ...)
     42    - AbelianGroups was renamed to CommutativeAdditiveGroups (idem for Semigroups, ...)
     43      (note: AbelianGroup are about commutative multiplicative groups)
     44  - NumberFields: bug fix (categories-numberfield_homset-nt.patch):
     45    Hom(SomeNumberField,SomeVectorSpace) returned a numberfield homset
     46  - Fixed some import loops
     47  - Square MatrixSpace in Algebras(...)
     48  - Added temporary list() methods to:
     49    - FreeModule_generic
     50    - MatrixSpace_generic
     51    - Set_object_enumerated
     52    - ParentWithAdditiveAbelianGens
     53    - ParentWithMultiplicativeAbelianGens
     54    They should eventually be inherited from the EnumeratedSets() category
     55  - Added sage.sets.finite_enumerated_set
     56  - Naming conventions and cleanup:
     57    - parent.product(x,y)   parent.product    parent.product_on_basis
     58      (was: multiply, _multiply, multiply_basis, _multiply_basis)
     59    - parent.summation(x,y) parent.summation        # risk of confusion with infinite summation / ...
     60
     61    - parent.sum ([x,y,z,y])
     62    - parent.prod([x,y,z,y])
     63
     64    - parent.coproduct, parent.coproduct_on_basis, parent.coproduct_on_generators
     65    - parent.antipode, parent.antipode_on_basis, parent.antipode_on_generators
     66    - cat.example()  cat.counter_example()
     67    - A.one() A.zero() a.is_one() a.is_zero()   A(1) A(0) when it makes sense
     68      A.one_element() A.zero_element() deprecated in the doc; fully deprecated later
     69      Transitional aliases one = one_element, zero = zero_element
     70    - Use class.an_instance() whenever meaningful
     71    - parent.an_element() parent.some_elements(); possibly parent.example() parent.counterexample()
     72    - all_weakly_super_categories -> all_super_categories(proper=False)