Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Algebraic polyhedra with Normaliz / e-antic #25097

Closed
mkoeppe opened this issue Apr 3, 2018 · 197 comments
Closed

Algebraic polyhedra with Normaliz / e-antic #25097

mkoeppe opened this issue Apr 3, 2018 · 197 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Apr 3, 2018

Implements polyhedra over embedded algebraic number fields.

        sage: x = polygen(ZZ); P = Polyhedron(vertices=[[sqrt(2)], [AA.polynomial_root(x^3-2, RIF(0,3))]], backend='normaliz')
  • See doctests in src/sage/geometry/polyhedron/backend_normaliz.py and src/sage/geometry/polyhedron/library.py

  • For debugging help, we can write out Normaliz input files and PyNormaliz function calls as a side effect by passing verbose=True.

Depends on #25091
Depends on #27731
Depends on #27965

CC: @w-bruns @videlec @jplab @sebasguts @sagetrac-tmonteil @mo271

Component: geometry

Keywords: IMA-PolyGeom

Author: Matthias Koeppe

Branch/Commit: f94bf37

Reviewer: Vincent Delecroix, Jean-Philippe Labbé

Issue created by migration from https://trac.sagemath.org/ticket/25097

@mkoeppe mkoeppe added this to the sage-8.2 milestone Apr 3, 2018
@videlec
Copy link
Contributor

videlec commented Apr 4, 2018

comment:1

prerequisite: package antic (that has no release yet).

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 4, 2018

Branch: u/mkoeppe/qnormaliz-algebraic

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 4, 2018

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 4, 2018

Dependencies: #25090

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 4, 2018

Last 10 new commits:

117e428Upgrade normaliz to 3.5.3
7057ef4Merge branch to get docstring adaptation
b6ae686Merge branch 'develop' of git://trac.sagemath.org/sage into t/25090/pynormaliz2
eaedcc2Update PyNormaliz to 1.14
4dbdc7dUpdated the Cone calls format
1dcef4c_init_from_normaliz_data: New, use it in _init_from_*representation
fcd8101Updated pynormaliz to 1.15
19d8539Polyhedron_normaliz: In verbose mode, write out normaliz format files
4cfcd14_normaliz_format: Fix last change
ea7a6b8Polyhedron_normaliz: Prepare classes for work over field extensions

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 4, 2018

Commit: ea7a6b8

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 4, 2018

comment:8

Could someone who has worked on / has opinions on the Polyhedron constructor code help here?

What should we do for polyhedra over AA such as the following:

sage: P = polytopes.regular_polygon(3)
sage: P.base_ring()
Algebraic Real Field

If backend=normaliz is requested, should we cast to the appropriate number field via #20181? Or should it be an error?

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@jplab
Copy link

jplab commented Apr 5, 2018

Changed dependencies from #25090 to #25090, #20181

@jplab
Copy link

jplab commented Apr 5, 2018

comment:14

What should we do for polyhedra over AA such as the following:

sage: P = polytopes.regular_polygon(3)
sage: P.base_ring()
Algebraic Real Field

If backend=normaliz is requested, should we cast to the appropriate number field via #20181? Or should it be an error?

I would say the cleanest thing to do once #20181 is done will be to use it! This probably will also simplify the constructor for field.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 6, 2018

Changed commit from ea7a6b8 to 13d27d4

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 6, 2018

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

26dc3e4Added option for embedded NumberField
db778eeMade it possible to deal with complex number fields
13d27d4Merge remote-tracking branch 'trac/public/algnum_to_numberfield' into t/25097/public/25097/qnormaliz-algebraic

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 6, 2018

Changed commit from 13d27d4 to 5af97b3

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 6, 2018

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

5af97b3Polyhedron_normaliz: Separate constructors for QQ, general fields (no cnaceling)

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 8, 2018

comment:18

I put some preliminary code in to do the coercion to number fields inside the Polyhedron_normaliz implementation, using number_field_elements_from_algebraics.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 8, 2018

Changed commit from 5af97b3 to d2aee02

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 8, 2018

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

0f325c0Polyhedron: Allow SR input for normaliz
aa22d44Polyhedron_normaliz._nmz_result: New, use it instead of directly calling PyNormaliz.NmzResult
7e4f1acPolyhedron_normaliz: _init_from_Vrepresentation: Coerce to numberfield
0ba9f6bPolyhedron_normaliz: Pass number field to QNormaliz
d2aee02_init_from_normaliz_data: Separate implementations for QNormaliz, Normaliz

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 8, 2018

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

2bb8958_number_field_elements_from_algebraics_list_of_lists: New, refactor Polyhedron_normaliz using it
a9045bfAdded tests and made them pass
09df646Merge remote-tracking branch 'trac/public/algnum_to_numberfield' into t/25097/public/25097/qnormaliz-algebraic
01d7cfclists of lists of lists of algebraic numbers, actually

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 8, 2018

Changed commit from d2aee02 to 01d7cfc

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 9, 2018

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

d7ecb03Temporary build scripts for normaliz, pynormaliz, pyqnormaliz

@embray
Copy link
Contributor

embray commented Jun 14, 2019

comment:131

Tickets still needing working or clarification should be moved to the next release milestone at the soonest (please feel free to revert if you think the ticket is close to being resolved).

@embray embray modified the milestones: sage-8.8, sage-8.9 Jun 14, 2019
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 19, 2019

Changed commit from ca71cc2 to 4258704

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 19, 2019

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

28b8dbdMerge tag '8.8.rc1' into t/25097/public/normaliz-3.7.0-algebraic
6fcdf05trac 27965: py3 fix in geometry/polyhedron/library.py
3d46bb2Merge branch 't/27965/27965' into t/25097/public/normaliz-3.7.0-algebraic
4258704Fix doctests for changed embedded numberfield repr

@jplab
Copy link

jplab commented Jun 21, 2019

comment:134

Looks good to me now. I would say this is ready and I would put it as positive review, with Vincent also as a reviewer too.

@Vincent: Let us know if you agree. It would be good to know if there are last things to be aware of.

@jplab
Copy link

jplab commented Jun 21, 2019

Changed reviewer from Jean-Philippe Labbé to Vincent Delecroix, Jean-Philippe Labbé

@jplab
Copy link

jplab commented Jul 5, 2019

comment:135

ping!

Any last comments Vincent?

@fchapoton
Copy link
Contributor

comment:136

doctest failure in /library with py3

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 8, 2019

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

23b1cbeMerge tag '8.9.beta1' into t/25097/public/normaliz-3.7.0-algebraic
f94bf37snub_dodecahedron: Disable doctests for broken floating point computation

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 8, 2019

Changed commit from 4258704 to f94bf37

@fchapoton
Copy link
Contributor

comment:139

The last changes looks reasonable to me.

@jplab
Copy link

jplab commented Jul 16, 2019

comment:140

It looks good to me too. I set it to positive review.

Just a FYI: if there are any other comments, next week is the Sage days in Bonn and vdelecroix and me are going to be available to work on follow-ups if need be.

@vbraun
Copy link
Member

vbraun commented Jul 18, 2019

Changed branch from public/25097/qnormaliz-algebraic to f94bf37

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants