A linear-time algorithm to compute the conjugate of nonconvex bivariate piecewise linear-quadratic functions
Abstract
We propose the first linear-time algorithm to compute the conjugate of (nonconvex) bivariate piecewise linear-quadratic (PLQ) functions (bivariate quadratic functions defined on a polyhedral subdivision). Our algorithm starts with computing the convex envelope of each quadratic piece obtaining rational functions (quadratic over linear) defined over a polyhedral subdivision. Then we compute the conjugate of each resulting piece to obtain piecewise quadratic functions defined over a parabolic subdivision. Finally we compute the maximum of all those functions to obtain the conjugate as a piecewise quadratic function defined on a parabolic subdivision. The resulting algorithm runs in linear time if the initial subdivision is a triangulation (or has a uniform upper bound on the number of vertexes for each piece). Our open-source implementation in MATLAB uses symbolic computation and rational numbers to avoid floating-point errors, and merges pieces as soon as possible to minimize computation time.
Cite
@article{arxiv.2505.06442,
title = {A linear-time algorithm to compute the conjugate of nonconvex bivariate piecewise linear-quadratic functions},
author = {Tanmaya Karmarkar and Yves Lucet},
journal= {arXiv preprint arXiv:2505.06442},
year = {2025}
}
Comments
to be published in Journal of Global Optimization