Opened 3 years ago
Closed 2 years ago
#25090 closed enhancement (fixed)
Upgrade Normaliz version to 3.6.3 and PyNormaliz to 1.19
Reported by:  mkoeppe  Owned by:  

Priority:  major  Milestone:  sage8.4 
Component:  packages: optional  Keywords:  IMAPolyGeom 
Cc:  jipilab, ghsebasguts, moritz, vdelecroix, Winfried, mkoeppe, tscrim  Merged in:  
Authors:  Matthias Koeppe, JeanPhilippe Labbé  Reviewers:  Travis Scrimshaw 
Report Upstream:  N/A  Work issues:  
Branch:  36d5473 (Commits, GitHub, GitLab)  Commit:  36d5473d008d2d39a3740ed77783298ee5564e61 
Dependencies:  #22984  Stopgaps: 
Description (last modified by )
Upstream:
(cd upstream && wget 'https://github.com/Normaliz/Normaliz/releases/download/v3.6.3/normaliz3.6.3.tar.gz')
(cd upstream && wget 'https://files.pythonhosted.org/packages/7f/e9/3c15d1fc8ebba8a2ed17fc0f209804dc1240166a686d2f592305efc9d25e/PyNormaliz1.19.tar.gz')
Some more helper functions were included to facilitate the interfacing.
Change History (65)
comment:1 Changed 3 years ago by
 Branch set to u/mkoeppe/pynormaliz2
comment:2 Changed 3 years ago by
 Cc jipilab ghsebasguts added
 Commit set to eaedcc2dfe80f9836f9980318d760d8e32c26e74
comment:3 Changed 3 years ago by
 Branch changed from u/mkoeppe/pynormaliz2 to u/jipilab/pynormaliz2
 Commit changed from eaedcc2dfe80f9836f9980318d760d8e32c26e74 to 4dbdc7d768bb10de57972ae8fefaeefaee2f85e7
New commits:
4dbdc7d  Updated the Cone calls format

comment:4 Changed 3 years ago by
 Branch changed from u/jipilab/pynormaliz2 to u/mkoeppe/pynormaliz2
comment:5 Changed 3 years ago by
 Branch changed from u/mkoeppe/pynormaliz2 to public/pynormaliz2
 Commit changed from 4dbdc7d768bb10de57972ae8fefaeefaee2f85e7 to fcd810188e1ad478d62dd50dfe15316c4aa573e8
 Description modified (diff)
comment:6 Changed 3 years ago by
 Description modified (diff)
comment:7 Changed 3 years ago by
 Commit changed from fcd810188e1ad478d62dd50dfe15316c4aa573e8 to 19d853932f84bcf795ce15118147305ca5bef435
Branch pushed to git repo; I updated commit sha1. New commits:
19d8539  Polyhedron_normaliz: In verbose mode, write out normaliz format files

comment:8 Changed 3 years ago by
 Commit changed from 19d853932f84bcf795ce15118147305ca5bef435 to 4cfcd14cb903546f65b9f17688661e90ba087b7a
Branch pushed to git repo; I updated commit sha1. New commits:
4cfcd14  _normaliz_format: Fix last change

comment:9 Changed 3 years ago by
 Commit changed from 4cfcd14cb903546f65b9f17688661e90ba087b7a to da8ae7a9c50c598f41e7462591f046fc1ce676ee
Branch pushed to git repo; I updated commit sha1. New commits:
da8ae7a  Added data and cone methods to normaliz backend

comment:10 Changed 3 years ago by
 Cc moritz vdelecroix added
 Summary changed from Upgrade pynormaliz to 1.14 or higher (2.0?) to Upgrade pynormaliz to 1.15 or higher (2.0?)
comment:11 Changed 3 years ago by
comment:12 Changed 3 years ago by
 Summary changed from Upgrade pynormaliz to 1.15 or higher (2.0?) to Upgrade Normaliz version to 3.5.4 and PyNormaliz to 1.16
The version numbers are now fixed.
comment:13 Changed 3 years ago by
 Description modified (diff)
comment:14 Changed 3 years ago by
 Branch changed from public/pynormaliz2 to public/pynormaliz1.16_normaliz3.5.4
 Commit changed from da8ae7a9c50c598f41e7462591f046fc1ce676ee to 82d719093a99643ba102d285f705904066380f0b
comment:15 Changed 3 years ago by
Both compile without issues on debianstretch.
comment:16 Changed 3 years ago by
comment:17 Changed 3 years ago by
 Description modified (diff)
comment:18 Changed 3 years ago by
 Cc Winfried added
I am current in Osnabrück with Winfried, and perhaps now would be a good time to refresh this ticket, now that the version 1.12 and other update of Normaliz are already in the box...
There will be a new version of Normaliz released in the next few days, so I would wait until the upstream is updated and then change the ticket. I would do the same with pynormaliz and then go ahead to test it.
Further, with that release, it will make it easier to work with the algebraic polytopes ticket.
comment:19 Changed 3 years ago by
 Cc mkoeppe added
comment:20 Changed 3 years ago by
 Description modified (diff)
 Summary changed from Upgrade Normaliz version to 3.5.4 and PyNormaliz to 1.16 to Upgrade Normaliz version to 3.6.1 and PyNormaliz to 1.17
comment:21 Changed 3 years ago by
 Branch changed from public/pynormaliz1.16_normaliz3.5.4 to public/pynormaliz1.17_normaliz3.6.1
 Commit changed from 82d719093a99643ba102d285f705904066380f0b to 476bbfa4763ad201ebbbce0bb81291ba2c7c6cf4
comment:22 Changed 3 years ago by
 Status changed from new to needs_review
comment:23 Changed 3 years ago by
 Status changed from needs_review to needs_work
 Work issues set to Segfault on empty polyhedron
I get a segmentation fault while testing 'backend_normaliz.py' while running
sage: p = Polyhedron(backend='normaliz') sage: TestSuite(p).run(skip="_test_pickling")
on the empty polyhedron.
comment:24 Changed 3 years ago by
The traceback I get is pasted below. Something wrong in PyNormaliz? with "._test_nonzero_equal()" ?
sage: p = Polyhedron(backend='normaliz') sage: TestSuite(p).run(skip="_test_pickling",verbose=True) running ._test_category() . . . pass running ._test_eq() . . . pass running ._test_new() . . . pass running ._test_nonzero_equal() . . . /home/jplabbe/sage/local/lib/python2.7/sitepackages/cysignals/signals.so(+0x6ad5)[0x7f4ba65eaad5] /home/jplabbe/sage/local/lib/python2.7/sitepackages/cysignals/signals.so(+0x6b7f)[0x7f4ba65eab7f] /home/jplabbe/sage/local/lib/python2.7/sitepackages/cysignals/signals.so(+0xaf84)[0x7f4ba65eef84] /lib/x86_64linuxgnu/libpthread.so.0(+0x110c0)[0x7f4bafb040c0] /home/jplabbe/sage/local/lib/libnormaliz.so.3(_ZN11libnormaliz6MatrixI10__gmp_exprIA1_12__mpz_structS3_EEC2Emm+0x9)[0x7f48e2c7ba29] /home/jplabbe/sage/local/lib/libnormaliz.so.3(_ZN11libnormaliz4ConeI10__gmp_exprIA1_12__mpz_structS3_EE25prepare_input_constraintsERKSt3mapINS_4Type9InputTypeESt6vectorIS9_IS4_SaIS4_EESaISB_EESt4lessIS8_ESaISt4pairIKS8_SD_EEE+0x37)[0x7f48e2cd83e7] /home/jplabbe/sage/local/lib/libnormaliz.so.3(_ZN11libnormaliz4ConeI10__gmp_exprIA1_12__mpz_structS3_EE25process_multi_input_innerERSt3mapINS_4Type9InputTypeESt6vectorIS9_IS4_SaIS4_EESaISB_EESt4lessIS8_ESaISt4pairIKS8_SD_EEE+0x8c5)[0x7f48e2d1ef75] /home/jplabbe/sage/local/lib/libnormaliz.so.3(_ZN11libnormaliz4ConeI10__gmp_exprIA1_12__mpz_structS3_EE19process_multi_inputERKSt3mapINS_4Type9InputTypeESt6vectorIS9_IS4_SaIS4_EESaISB_EESt4lessIS8_ESaISt4pairIKS8_SD_EEE+0xae)[0x7f48e2d2151e]
comment:25 followup: ↓ 27 Changed 3 years ago by
Interesting. I will have a look.
comment:26 Changed 3 years ago by
Please let me know if you think that the problem is in Normaliz and send me the input.
comment:27 in reply to: ↑ 25 Changed 3 years ago by
comment:28 Changed 3 years ago by
It would be good to see the definition of the empty polytope. Then we can investigate the issue further.
comment:29 Changed 3 years ago by
The empty polyhedron runs into a Normaliz segmentation fault if the volume is computed. Will be taken care of.
comment:30 Changed 3 years ago by
I made a verbose=True
in the TestSuite
to see where it fails, and in the _test_nonzero_equal()
it calls bool(self)
and self.parent().zero()
which both produce segfaults on their own:
sage: P_empty = Polyhedron() sage: bool(P_empty) True sage: p = Polyhedron(vertices=[(1, 1)], rays=[(0, 1)],backend='normaliz',verbose=True) # Calling PyNormaliz.NmzCone(**{'subspace': [], 'vertices': [[1, 1, 1]], 'cone': [[0, 1]]}) # 8< Equivalent Normaliz input file 8< amb_space 2 subspace 0 vertices 1 1 1 1 cone 1 0 1 # 8<8<8< sage: bool(p) True sage: p_empty = Polyhedron(backend='normaliz',verbose=True) sage: bool(p_empty)  Unhandled SIGSEGV: A segmentation fault occurred. This probably occurred because a *compiled* module has a bug in it and is not properly wrapped with sig_on(), sig_off(). Python will now terminate.  /usr/local/bin/sage: line 3: 5585 Segmentation fault ~/sage/./sage $@ sage: p_empty = Polyhedron(backend='normaliz',verbose=True) sage: p_empty.parent() Polyhedra in ZZ^0 sage: p_empty.parent().zero()  Unhandled SIGSEGV: A segmentation fault occurred. This probably occurred because a *compiled* module has a bug in it and is not properly wrapped with sig_on(), sig_off(). Python will now terminate.  /usr/local/bin/sage: line 3: 6354 Segmentation fault ~/sage/./sage $@
Note that to create an empty polyhedron with the backend normaliz, no call to normaliz is done. So I do not think that the problem is at this level, but perhaps when dealing with the parents, it tries to call normaliz with something empty and it does not work...
comment:31 Changed 3 years ago by
I could figure out where the segfault occurs and with which input:
# Calling PyNormaliz.NmzCone(**{'inhom_equations': [], 'inhom_inequalities': [[0]]}) # 8< Equivalent Normaliz input file 8< amb_space 0 inhom_equations 0 inhom_inequalities 1 0 # 8<8<8<
The problem occurs in the _init_from_Hrepresentation
, where we get the normaliz data: {'inhom_equations': [], 'inhom_inequalities': [[0]]}
Somehow normaliz/pynormaliz does not like that?
I believe that dealing with the empty polyhedron at the normaliz level might help here?
comment:32 Changed 3 years ago by
The segmentation fault with Volume is not the cause of this problem. It cannot be reproduced with Normaliz itself because amb_space 0 is not a legal value so that Normaliz terminates with an error message.
comment:33 followup: ↓ 34 Changed 3 years ago by
amb_space 0 inhom_equations 0 inhom_inequalities 1 0
does NOT define the empty polytope. The origin in the 0dimensional space satisfies the inequality. If you replace the last0 by 1, you obtain the empty polytope.
comment:34 in reply to: ↑ 33 Changed 3 years ago by
Replying to Winfried:
amb_space 0 inhom_equations 0 inhom_inequalities 1 0does NOT define the empty polytope. The origin in the 0dimensional space satisfies the inequality. If you replace the last0 by 1, you obtain the empty polytope.
Oh, interesting, so probably this would be a good way to initialize the empty polyhedron from the Hrepresentation to pass it to normaliz.
I'll check if I can fix that.
comment:35 followup: ↓ 36 Changed 3 years ago by
The current backend_normaliz
handles the empty polyhedron specially (actually sage has one empty polyhedron for each ambient space dimension!)
If this special casing could be removed completely with the current version of normaliz, that would be great!
comment:36 in reply to: ↑ 35 Changed 3 years ago by
Replying to mkoeppe:
The current
backend_normaliz
handles the empty polyhedron specially (actually sage has one empty polyhedron for each ambient space dimension!) If this special casing could be removed completely with the current version of normaliz, that would be great!
Agreed! I'll have a look if this would work with the new version.
comment:37 Changed 3 years ago by
The embedding dimension is an essential parameter in Normaliz. If any simplification is desired, it must be done on the Sage side.
Sebastian and I have tried to correct all problems related to empty polytopes and to embedding dimension 0. Please pull normaliz/master and test again.
comment:38 Changed 3 years ago by
 Cc tscrim added
comment:39 Changed 3 years ago by
#25707 added a cocoalib package to sage. Should consider adding it as a dependency; but it's currently an experimental package
comment:40 Changed 3 years ago by
How to properly get the 0dimensional polytope consisting of the origin only in the 0dimensional ambient space using the Vrepresentation input consisting of subspace
, vertices
and cone
in normaliz?
# Calling PyNormaliz.NmzCone(**{'subspace': [], 'vertices': [[1]], 'cone': []}) # 8< Equivalent Normaliz input file 8< amb_space 0 subspace 0 vertices 1 1 cone 0 # 8<8<8<
Somehow normaliz does not like the above, which is the format that sage currently gives to normaliz to create the .zero()
element of the parent.
comment:41 Changed 3 years ago by
I have run Normaliz (present master branch on GitHub) on this input. No problem in the output:
1 lattice points in polytope (module generators) 0 Hilbert basis elements of recession monoid 1 vertices of polyhedron 0 extreme rays of recession cone 1 support hyperplanes of polyhedron (homogenized) embedding dimension = 1 affine dimension of the polyhedron = 0 (maximal) rank of recession monoid = 0 (polyhedron is polytope) internal index = 1 dehomogenization: 1 module rank = 1 *********************************************************************** 1 lattice points in polytope (module generators): 1 0 Hilbert basis elements of recession monoid: 1 vertices of polyhedron: 1 0 extreme rays of recession cone: 1 support hyperplanes of polyhedron (homogenized): 1
I think this is correct.The vector [1] is the origin in the 0dim affine space after homogenization.
comment:42 Changed 3 years ago by
Ok, I do not have the latest "normaliz" on my computer...
I do not know exactly how to make sage use a different normaliz than the one installed _within_ sage when doing the usual sage i normaliz
.
Anyhow, if it is possible to get the empty polyhedron and the 0dim polytope in the latest version of normaliz. Then these problems should be fixed. Would it be reasonable to have a tiny release of normaliz soon and we could update this branch?
comment:43 followup: ↓ 44 Changed 3 years ago by
I think the treatment of degenerate situations is o.k. now in normaliz. These minutes I am testing them on Qnormaliz. Once it is o.k., I will malke release 3.6.2.
comment:44 in reply to: ↑ 43 Changed 3 years ago by
Replying to Winfried:
I think the treatment of degenerate situations is o.k. now in normaliz. These minutes I am testing them on Qnormaliz. Once it is o.k., I will malke release 3.6.2.
Great! Thanks a lot!
comment:45 Changed 3 years ago by
Normaliz 3.6.2 released
comment:46 Changed 3 years ago by
 Milestone changed from sage8.2 to sage8.4
comment:47 Changed 3 years ago by
 Description modified (diff)
 Summary changed from Upgrade Normaliz version to 3.6.1 and PyNormaliz to 1.17 to Upgrade Normaliz version to 3.6.3 and PyNormaliz to 1.19
comment:48 Changed 3 years ago by
 Commit changed from 476bbfa4763ad201ebbbce0bb81291ba2c7c6cf4 to 976b93f15caf4b55317dea5e3adeffbf64305a1c
comment:49 Changed 2 years ago by
 Commit changed from 976b93f15caf4b55317dea5e3adeffbf64305a1c to e36973a41e8558ec1c98a26e0708b3577061192f
Branch pushed to git repo; I updated commit sha1. New commits:
e36973a  build/pkgs/normaliz/spkginstall: Update comment

comment:50 Changed 2 years ago by
 Commit changed from e36973a41e8558ec1c98a26e0708b3577061192f to 98d5bd3e945fd171a1d6bd2a0a679c6633826eaa
Branch pushed to git repo; I updated commit sha1. New commits:
98d5bd3  Merge remotetracking branch 'trac/develop' into t/25090/public/pynormaliz1.17_normaliz3.6.1

comment:51 Changed 2 years ago by
 Commit changed from 98d5bd3e945fd171a1d6bd2a0a679c6633826eaa to aa71e2546fa51d89d14a3dc8a7c99236dd258d42
Branch pushed to git repo; I updated commit sha1. New commits:
aa71e25  Merge remotetracking branch 'trac/develop' into t/25090/public/pynormaliz1.17_normaliz3.6.1

comment:52 Changed 2 years ago by
What is the status of this? Is it suppose to be in needs review? Is the empty polyhedron handled correctly now?
comment:53 Changed 2 years ago by
 Status changed from needs_work to needs_review
Empty polyhedron is fixed. Needs review.
comment:54 Changed 2 years ago by
 Description modified (diff)
LGTM overall, but a few methods are missing doctests:
_init_from_normaliz_data
_make_normaliz_cone
Also, INPUT:
items generally do not end with a period.
comment:55 Changed 2 years ago by
 Commit changed from aa71e2546fa51d89d14a3dc8a7c99236dd258d42 to 7907f7ade1f30c6cce5a23dc0786ca434269ef24
Branch pushed to git repo; I updated commit sha1. New commits:
7907f7a  Polyhedron_normaliz: Fix: INPUT: items generally do not end with a period

comment:56 Changed 2 years ago by
 Commit changed from 7907f7ade1f30c6cce5a23dc0786ca434269ef24 to 1e20ef2bfa34b6bd883ceff67cc46480c3ac8df7
Branch pushed to git repo; I updated commit sha1. New commits:
1e20ef2  Polyhedron_normaliz._make_normaliz_cone: Add doctest

comment:57 Changed 2 years ago by
 Commit changed from 1e20ef2bfa34b6bd883ceff67cc46480c3ac8df7 to f3d11a3b03bc410a4a59ed5f877e1b0454fdc12c
Branch pushed to git repo; I updated commit sha1. New commits:
f3d11a3  Polyhedron_normaliz._init_from_normaliz_data: Add doctest

comment:58 Changed 2 years ago by
Ready for review
comment:59 Changed 2 years ago by
 Reviewers set to Travis Scrimshaw
 Status changed from needs_review to positive_review
 Work issues Segfault on empty polyhedron deleted
Thank you. LGTM.
comment:60 Changed 2 years ago by
Thanks for reviewing!
comment:61 Changed 2 years ago by
 Status changed from positive_review to needs_work
sage t long src/sage/geometry/polyhedron/backend_normaliz.py ********************************************************************** File "src/sage/geometry/polyhedron/backend_normaliz.py", line 451, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._get_nmzcone_data Failed example: P._get_nmzcone_data() Exception raised: Traceback (most recent call last): File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 659, in _run self.compile_and_execute(example, compiler, test.globs) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 1070, in compile_and_execute exec(compiled, globs) File "<doctest sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._get_nmzcone_data[1]>", line 1, in <module> P._get_nmzcone_data() File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/geometry/polyhedron/backend_normaliz.py", line 464, in _get_nmzcone_data import PyNormaliz ImportError: No module named PyNormaliz ********************************************************************** File "src/sage/geometry/polyhedron/backend_normaliz.py", line 456, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._get_nmzcone_data Failed example: C = Polyhedron(backend='normaliz',rays=[[1,2],[2,1]]) Exception raised: Traceback (most recent call last): File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 659, in _run self.compile_and_execute(example, compiler, test.globs) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 1070, in compile_and_execute exec(compiled, globs) File "<doctest sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._get_nmzcone_data[2]>", line 1, in <module> C = Polyhedron(backend='normaliz',rays=[[Integer(1),Integer(2)],[Integer(2),Integer(1)]]) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/geometry/polyhedron/constructor.py", line 600, in Polyhedron return parent(Vrep, Hrep, convert=convert, verbose=verbose) File "sage/structure/parent.pyx", line 923, in sage.structure.parent.Parent.__call__ (build/cythonized/sage/structure/parent.c:9706) return mor._call_with_args(x, args, kwds) File "sage/structure/coerce_maps.pyx", line 164, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args (build/cythonized/sage/structure/coerce_maps.c:5112) raise File "sage/structure/coerce_maps.pyx", line 159, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_with_args (build/cythonized/sage/structure/coerce_maps.c:5000) return C._element_constructor(x, *args, **kwds) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/geometry/polyhedron/parent.py", line 517, in _element_constructor_ return self.element_class(self, Vrep, Hrep, **kwds) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/geometry/polyhedron/backend_normaliz.py", line 156, in __init__ Polyhedron_base.__init__(self, parent, Vrep, Hrep, **kwds) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/geometry/polyhedron/base.py", line 124, in __init__ self._init_from_Vrepresentation(vertices, rays, lines, **kwds) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/geometry/polyhedron/backend_normaliz.py", line 263, in _init_from_Vrepresentation self._init_from_normaliz_data(data, verbose=verbose) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/geometry/polyhedron/backend_normaliz.py", line 192, in _init_from_normaliz_data import PyNormaliz ImportError: No module named PyNormaliz ********************************************************************** File "src/sage/geometry/polyhedron/backend_normaliz.py", line 457, in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._get_nmzcone_data Failed example: C._get_nmzcone_data() Exception raised: Traceback (most recent call last): File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 659, in _run self.compile_and_execute(example, compiler, test.globs) File "/mnt/disk/home/release/Sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 1070, in compile_and_execute exec(compiled, globs) File "<doctest sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._get_nmzcone_data[3]>", line 1, in <module> C._get_nmzcone_data() NameError: name 'C' is not defined ********************************************************************** 1 item had failures: 3 of 5 in sage.geometry.polyhedron.backend_normaliz.Polyhedron_normaliz._get_nmzcone_data [12 tests, 3 failures, 0.14 s]  sage t long src/sage/geometry/polyhedron/backend_normaliz.py # 3 doctests failed 
comment:62 Changed 2 years ago by
 Commit changed from f3d11a3b03bc410a4a59ed5f877e1b0454fdc12c to 36d5473d008d2d39a3740ed77783298ee5564e61
Branch pushed to git repo; I updated commit sha1. New commits:
36d5473  src/sage/geometry/polyhedron/backend_normaliz.py: Add # optional  pynormaliz

comment:63 Changed 2 years ago by
 Status changed from needs_work to needs_review
comment:64 Changed 2 years ago by
 Status changed from needs_review to positive_review
Whoops, forgot to test on a machine that did not have (py)normaliz installed. Sorry Volker.
comment:65 Changed 2 years ago by
 Branch changed from public/pynormaliz1.17_normaliz3.6.1 to 36d5473d008d2d39a3740ed77783298ee5564e61
 Resolution set to fixed
 Status changed from positive_review to closed
Last 10 new commits:
Updating patch with upstream fix for wrong number of lattice points.
Merge branch 'u/tscrim/upgrade_noramliz_pynormaliz22984' of git://trac.sagemath.org/sage into u/tscrim/upgrade_noramliz_pynormaliz22984
Upgrade Normaliz to 3.5.2.
Adding tests from comment:24,25 of #22984.
Upgrade PyNormaliz to 1.12
Adapted the polyhedron docstring
Upgrade normaliz to 3.5.3
Merge branch to get docstring adaptation
Merge branch 'develop' of git://trac.sagemath.org/sage into t/25090/pynormaliz2
Update PyNormaliz to 1.14