Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#22497 closed enhancement (fixed)

generic latte_int interface to count

Reported by: vdelecroix Owned by:
Priority: major Milestone: sage-7.6
Component: geometry Keywords: days84
Cc: mkoeppe, tmonteil Merged in:
Authors: Vincent Delecroix Reviewers: Matthias Koeppe
Report Upstream: N/A Work issues:
Branch: d5ff154 (Commits) Commit:
Dependencies: Stopgaps:

Description (last modified by vdelecroix)

We provide a file sage/interfaces/latte.py that provides a uniform function count to query the LattE program count (integrate will be dealt with in another ticket). It is used in this ticket to refactor ehrhart_polynomial and integral_points_count.

Prerequisite for #18232.

Change History (15)

comment:1 Changed 3 years ago by vdelecroix

  • Keywords days84 added

comment:2 Changed 3 years ago by tmonteil

Why not putting this in the interfaces section ?

comment:3 Changed 3 years ago by vdelecroix

  • Description modified (diff)
  • Status changed from new to needs_review

comment:4 Changed 3 years ago by vdelecroix

  • Branch set to u/vdelecroix/22497
  • Commit set to be2de2152162d886860df5fc5bfbddb15231e23e

New commits:

be2de2122497: generic interface to LattE integrale count22497: generic

comment:5 Changed 3 years ago by git

  • Commit changed from be2de2152162d886860df5fc5bfbddb15231e23e to cf9f0de7527fa26b9c9d86d8a208c9e99d3071bc

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

cf9f0de22497: generic interface to LattE integrale count

comment:6 Changed 3 years ago by git

  • Commit changed from cf9f0de7527fa26b9c9d86d8a208c9e99d3071bc to 9a0d0a278adb1d7dd3e3128945b9a42d490fc408

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

9a0d0a222497: generic interface to LattE integrale count

comment:7 follow-up: Changed 3 years ago by mkoeppe

Keyword arguments should be provided (perhaps via decorator) for the benefit of tab completion.

comment:8 in reply to: ↑ 7 Changed 3 years ago by vdelecroix

Replying to mkoeppe:

Keyword arguments should be provided (perhaps via decorator) for the benefit of tab completion.

This would be nice to have but not implemented. Did you have something in mind? The implementation I have in mind is a kind of challenge since you have to play with the bytecode of the function...

comment:9 Changed 3 years ago by mkoeppe

  • Reviewers set to Matthias Koeppe
  • Status changed from needs_review to positive_review

OK, separate ticket then

comment:10 Changed 3 years ago by fbissey

I have one failure when latte_int is not installed

sage -t --long /usr/lib64/python2.7/site-packages/sage/interfaces/latte.py
**********************************************************************
File "/usr/lib64/python2.7/site-packages/sage/interfaces/latte.py", line 51, in sage.interfaces.latte.count
Failed example:
    count(P.cdd_Hrepresentation(), cdd=True, ehrhart_polynomial=True)
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib64/python2.7/site-packages/sage/doctest/forker.py", line 501, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/lib64/python2.7/site-packages/sage/doctest/forker.py", line 864, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.interfaces.latte.count[2]>", line 1, in <module>
        count(P.cdd_Hrepresentation(), cdd=True, ehrhart_polynomial=True)
      File "/usr/lib64/python2.7/site-packages/sage/interfaces/latte.py", line 149, in count
        raise RuntimeError("LattE integrale program failed (exit code {})".format(ret_code) + err.strip())
    RuntimeError: LattE integrale program failed (exit code 2):
    usage: count <expected line count>
**********************************************************************
1 item had failures:

I see this test is not marked optional, is it normal?

comment:11 Changed 3 years ago by vdelecroix

  • Status changed from positive_review to needs_work

it is not. Thanks for testing.

comment:12 Changed 3 years ago by git

  • Commit changed from 9a0d0a278adb1d7dd3e3128945b9a42d490fc408 to d5ff154e0bb10e333a3a9c39d3cd20ed9b7b69c2

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

d5ff15422497: generic interface to LattE integrale count

comment:13 Changed 3 years ago by vdelecroix

  • Status changed from needs_work to positive_review

comment:14 Changed 3 years ago by vbraun

  • Branch changed from u/vdelecroix/22497 to d5ff154e0bb10e333a3a9c39d3cd20ed9b7b69c2
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:15 Changed 3 years ago by slabbe

  • Commit d5ff154e0bb10e333a3a9c39d3cd20ed9b7b69c2 deleted

When looking at this branch, I could not understand how the problem solved in #21491 was not reappearing. I tested 7.6.rc0 and everything was fine so I could not understand. I just realized the existence of #22577 which is a follow up of this ticket. So now I understand everything, and everything is great, thank you!

Note: See TracTickets for help on using tickets.