volesti
volesti copied to clipboard
Implement boundary oracle for integral collocation method
The Integral Collocation method of this paper is implemented in volesti under
include/ode_solvers/integral_collocation.hpp
.
The current state of the solver does not include a boundary oracle (and thus it does not currently support truncation).
The goal of this feature request is to implement a boundary oracle for the method. More specifically the boundary oracle method has to solve the intersection of the trajectory (computed via Lagrange interpolation at the Chebyshev nodes) which is defined by its Chebyshev transform (via using the Chebyshev transform class provided in boost) with the boundary of the H-polytope.
To solve it effectively, I propose converting the Chebyshev transform to a complex polynomial of twice the degree such that the real part of its roots represent solutions of the equation.
So, all in all, we need to
- Compute the polynomial of twice the degree (already implemented)
- Compute the integral of this polynomial (
a[k] x^k -> a[k] / (k + 1) x^{k + 1}
) - Project on each of the facet normals and solve the corresponding polynomial equation numerically (e.g. with MPSolve)
- Keep the smallest positive of the real parts of the complex roots
@vissarion I'd like to know the status of this issue, has it been solved yet? and if not, if I can help.
Hi @JRS296 thanks for your interest I do not know if this issue is the right to get started. I propose to choose one issue from https://github.com/GeomScale/volesti/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22