Opened 3 years ago

Closed 19 months ago

#27086 closed enhancement (fixed)

Simplicity and simpliciality for CombinatorialPolyhedron

Reported by: gh-kliem Owned by:
Priority: major Milestone: sage-9.1
Component: geometry Keywords: Polyhedron, CombinatorialPolyhedron, simple, simplicial, flag
Cc: jipilab Merged in:
Authors: Jonathan Kliem Reviewers: Jean-Philippe Labbé, Laith Rastanawi
Report Upstream: N/A Work issues:
Branch: a19efd6 (Commits, GitHub, GitLab) Commit: a19efd6f63db32799d27aa6af2b7b20c08fbf022
Dependencies: #28606 Stopgaps:

Status badges

Description (last modified by gh-kliem)

We add a function to CombinatorialPolyhedron that returns the largest k such that the polyhedron is k-simple/k-simplicial.

Change History (23)

comment:1 Changed 3 years ago by gh-kliem

  • Type changed from PLEASE CHANGE to enhancement

comment:2 Changed 2 years ago by gh-kliem

  • Description modified (diff)
  • Keywords flag added
  • Summary changed from Add simpliciality and simpliness to CombinatorialPolyhedron to More functions for CombinatorialPolyhedron

comment:3 Changed 2 years ago by gh-kliem

  • Description modified (diff)

comment:4 Changed 2 years ago by gh-kliem

Posting this example, so I won't forget:

An example for simpliness and simpliciality could look like this:

sage: for i in Combinations(6,3):
....:     x.append(list(Integer(j in i) for j in range(6)))
....: P = Polyhedron(vertices=x)
....: C = CombinatorialPolyhedron(P)
....: C.simpliness()
4
....: C.simpliciality()
2
....: C.dimension()
5

One can replace 6 by n and this will alter 4 to n-2 and 5 to n-1.

(This example is taken from lecture notes from Günter M. Ziegler.)

comment:5 Changed 2 years ago by embray

  • Milestone changed from sage-8.7 to sage-8.8

Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)

comment:6 Changed 2 years ago by gh-kliem

  • Milestone changed from sage-8.8 to sage-wishlist

comment:7 Changed 22 months ago by gh-kliem

  • Description modified (diff)
  • Milestone changed from sage-wishlist to sage-9.0
  • Summary changed from More functions for CombinatorialPolyhedron to Simpliness and simpliciality for CombinatorialPolyhedron

comment:8 Changed 22 months ago by gh-kliem

  • Dependencies changed from #26887 to #28606

comment:9 Changed 22 months ago by gh-kliem

  • Authors set to Jonathan Kliem
  • Branch set to public/27086
  • Commit set to 9f6f17276ae9d74847499a81ce6e23c4104ee6f6
  • Status changed from new to needs_review

Last 10 new commits:

37592f9replace attributes by methods; remove empty folder from source
e865f9dremoved attribute Vinv, as its not being used
84ef31badded docstrings to the new methods
588afa4removed method for Vinv
531222dunbounded(self) -> is_bounded(self); _unbounded -> _bounded
fb93bedpartly added simpliness
c8c49c5fixed small mistake in header file
2f0b931Merge branch 'public/28606' of git://trac.sagemath.org/sage into public/27086
1fc57e3method simpliciality
9f6f172method simpliness

comment:10 Changed 22 months ago by git

  • Commit changed from 9f6f17276ae9d74847499a81ce6e23c4104ee6f6 to 6ec50537b56756a753b8c4b44047af451d6b5d38

Branch pushed to git repo; I updated commit sha1. New commits:

6ec5053cached the results; opted out when discovering not 2-simple/simplicial

comment:11 Changed 22 months ago by git

  • Commit changed from 6ec50537b56756a753b8c4b44047af451d6b5d38 to 6fd5b2a1403fa50899e53da51885389508a6f6a6

Branch pushed to git repo; I updated commit sha1. New commits:

6fd5b2ausing cached_method as described in #12951

comment:12 Changed 22 months ago by jipilab

  • Cc jipilab added
  • Reviewers set to Jean-Philippe Labbé
  • Status changed from needs_review to needs_work

I believe that 'simplicity' is more appropriate than simpliness.

comment:13 Changed 22 months ago by gh-kliem

  • Summary changed from Simpliness and simpliciality for CombinatorialPolyhedron to Simplicity and simpliciality for CombinatorialPolyhedron

comment:14 Changed 22 months ago by git

  • Commit changed from 6fd5b2a1403fa50899e53da51885389508a6f6a6 to 50eeaf6fe09902cca9594546b7c82563a938c81e

Branch pushed to git repo; I updated commit sha1. New commits:

50eeaf6simplines -> simplicity

comment:15 Changed 21 months ago by gh-kliem

  • Branch changed from public/27086 to public/27086-reb
  • Commit changed from 50eeaf6fe09902cca9594546b7c82563a938c81e to e36b271c815930feb5f7a87e1358dd46ea54883f
  • Status changed from needs_work to needs_review

Last 10 new commits:

2e3e464removed empty folder being created in source
7701062removed attribute Vinv, as its not being used
1b17f6eadded docstrings to the new methods
c51cdd9removed method for Vinv
dd21f9capplied changes of 28605 to new code from 28625
4f49eacundid change to module list
0f3b121replace attributes by methods; remove attribute Vinv
6550083unbounded(self) -> is_bounded(self); _unbounded -> _bounded
8aaaef5unbounded(self) -> is_bounded(self); _unbounded -> _bounded
e36b271added simplicity and simpliciality to CombinatorialPolyhedron

comment:16 Changed 21 months ago by git

  • Commit changed from e36b271c815930feb5f7a87e1358dd46ea54883f to 8e8ac4e4439dcfd65ce8728e504e7ab0fade5cbd

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

b0eac08replace attributes by methods; remove attribute Vinv
e44a557unbounded(self) -> is_bounded(self); _unbounded -> _bounded
8e8ac4eadded simplicity and simpliciality to CombinatorialPolyhedron

comment:17 Changed 20 months ago by gh-kliem

  • Branch changed from public/27086-reb to public/27086-reb2
  • Commit changed from 8e8ac4e4439dcfd65ce8728e504e7ab0fade5cbd to f131286367b9727f0820c22e55a46ca7be466a43

Rebased again.


New commits:

f131286added simplicity and simpliciality to CombinatorialPolyhedron

comment:18 Changed 20 months ago by git

  • Commit changed from f131286367b9727f0820c22e55a46ca7be466a43 to 2113b470ed94c8dd9c40428be0c3978bcc9b73a7

Branch pushed to git repo; I updated commit sha1. New commits:

2113b47took into account the changes from #28614

comment:19 Changed 19 months ago by embray

  • Milestone changed from sage-9.0 to sage-9.1

Ticket retargeted after milestone closed

comment:20 Changed 19 months ago by gh-LaisRast

  • Status changed from needs_review to needs_work

In simplicity method:

  • I suggest to change the definition of k-simple. Using the definition you give, one needs to know P/F.
    -        A polytope `P` is `k`-simple, if for every face `F`
    -        of codimension `k` the polytope `P/F` is simple.
    +        A polytope `P` is `k`-simple, if every `(d-1-k)`-face
    +        is contained in `k+1` facets of `P` for `1 <= k <= d-1`.
    
  • coface instead of face:
                if face_iter.n_atom_rep() == d + 1:
    -                # The current face is a simplex.
    +                # The current coface is a simplex.
                    face_iter.ignore_supfaces()
    
  • Since you are dealing with cofaces, maybe you need to do the following change
    -        cdef FaceIterator face_iter = self._face_iter(True, -2)
    +        cdef FaceIterator coface_iter = self._face_iter(True, -2)
    

comment:21 Changed 19 months ago by gh-kliem

  • Branch changed from public/27086-reb2 to public/27086-reb3
  • Commit changed from 2113b470ed94c8dd9c40428be0c3978bcc9b73a7 to a19efd6f63db32799d27aa6af2b7b20c08fbf022
  • Status changed from needs_work to needs_review

New commits:

dfa32fcadded simplicity and simpliciality to CombinatorialPolyhedron
e47a144took into account the changes from #28614
a19efd6small changes improving readibilty of code

comment:22 Changed 19 months ago by gh-LaisRast

  • Reviewers changed from Jean-Philippe Labbé to Jean-Philippe Labbé, Laith Rastanawi
  • Status changed from needs_review to positive_review

I believe it is good to go.

comment:23 Changed 19 months ago by vbraun

  • Branch changed from public/27086-reb3 to a19efd6f63db32799d27aa6af2b7b20c08fbf022
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.