Skip to content

Add .h_star_vector to compact rational polytopes #28413

@jplab

Description

@jplab

Since #25091 is merged, we can compute a few more things with normaliz. One important object is the so-called h^*-vector, see https://en.wikipedia.org/wiki/Ehrhart_polynomial#Ehrhart_series for details.

This ticket implements this method. Currently, one has to do the following:

sage: C = polytopes.hypercube(3, backend="normaliz")
sage: C.ehrhart_series().numerator().coefficients()
[1, 23, 23, 1]

which would now become:

sage: C.h_star_vector()

and return an error if the backend is not 'normaliz'...

See the related SageAsk question: https://ask.sagemath.org/question/32505/can-sage-compute-the-h-vector-of-a-polytope/

Eventually, it would be nice to also make this possible for polymake too (it would be interesting to know if they use 'normaliz' for that).

Depends on #28247

CC: @sophiasage @fchapoton @w-bruns @videlec @mkoeppe

Component: geometry

Keywords: polytopes, normaliz

Author: Sophia Elia

Branch/Commit: 48d2a6f

Reviewer: Jean-Philippe Labbé

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions