Opened 9 months ago

Last modified 3 months ago

#32651 new enhancement

Split sage.geometry.polyhedron.base

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.7
Component: refactoring Keywords:
Cc: gh-kliem, jipilab, tscrim Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by gh-kliem)

This is a pretty large module, consisting of 11 kLOC.

We could split it into several modules, each defining an intermediate class (like it is done in sage.matrix.matrix0, matrix1, matrix2).

For example,

  • a module sage.geometry.polyhedron.base0 contains the very basic methods (initialization etc) #32767.
  • a module sage.geometry.polyhedron.base1 could contain the implementation of the methods defined by the ConvexSet_base API, #32776
  • a module sage.geometry.polyhedron.base2 could contain all methods that have to do with lattice points in polyhedra, #32876
  • a module sage.geometry.polyhedron.base3 contains the combinatorial methods, #32884
  • a module sage.geometry.polyhedron.base4 could contain all methods whose implementation needs sage.graphs.graphs, #32889 -- this would help with modularization because then we could conditionalize the doctests via a file-level directive (#30778)
    • vertex_graph, graph, vertex_digraph, vertex_facet_graph
    • hasse_diagram
    • face_lattice, flag_f_vector
    • {combinatorial,restricted}_automorphism_group
    • is_combinatorially_isomorphic
  • a module sage.geometry.polyhedron.base5 could contain all constructions of new polyhedra, #33123
  • a module sage.geometry.polyhedron.base6 could contain all methods related to plotting and affine hull (projection), #33449
  • a module sage.geometry.polyhedron.base7 could contain all methods related to triangulation and volume, #33583

This could also lead to an improvement of the documentation.

Change History (15)

comment:1 Changed 9 months ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 8 months ago by gh-kliem

  • Description modified (diff)

comment:3 Changed 8 months ago by gh-kliem

  • Description modified (diff)

comment:4 Changed 8 months ago by mkoeppe

  • Description modified (diff)

comment:5 Changed 8 months ago by gh-kliem

  • Description modified (diff)

comment:6 Changed 8 months ago by gh-kliem

  • Description modified (diff)

comment:7 Changed 8 months ago by slelievre

  • Description modified (diff)

comment:8 Changed 8 months ago by gh-kliem

  • Description modified (diff)

comment:9 Changed 7 months ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6

comment:10 Changed 6 months ago by gh-kliem

  • Description modified (diff)

comment:11 Changed 4 months ago by gh-kliem

  • Description modified (diff)

comment:12 Changed 3 months ago by gh-kliem

  • Description modified (diff)

comment:13 Changed 3 months ago by gh-kliem

Is this done with #33583? What did you have in mind with "This could also lead to an improvement of the documentation."?

comment:14 Changed 3 months ago by jipilab

That's a great ticket! ... I'm not dead. I expect to be "back on trac" soon!

I would be up for improving the doc and complement it further... I'll slowly go through all this new stuff in polyhedron this Summer.

Thanks for all the work!

comment:15 Changed 3 months ago by mkoeppe

  • Milestone changed from sage-9.6 to sage-9.7
Note: See TracTickets for help on using tickets.