Lambda-Lifting in Quadratic Time
نویسندگان
چکیده
Lambda-lifting is a program transformation used in compilers and in partial evaluators and that operates in cubic time. In this article, we show how to reduce this complexity to quadratic time, and we present a flow-sensitive lambda-lifter that also works in quadratic time. Lambda-lifting transforms a block-structured program into a set of recursive equations, one for each local function in the source program. Each equation carries extra parameters to account for the free variables of the corresponding local function and of all its callees. It is the search for these extra parameters that yields the cubic factor in the traditional formulation of lambda-lifting, which is due to Johnsson. This search is carried out by a transitive closure. Instead, we partition the call graph of the source program into strongly connected components, based on the simple observation that all functions in each component need the same extra parameters and thus a transitive closure is not needed. We therefore simplify the search for extra parameters by treating each strongly connected component instead of each function as a unit, thereby reducing the time complexity of lambda-lifting from O(n3 log n) to O(n2 log n), where n is the size of the program. Since a lambda-lifter can output programs of size O(n2), we believe that our algorithm is close to optimal. ∗A preliminary version of this article was presented at FLOPS’02 [16]. †Address: Ny Munkegade, Building 540, DK-8000 Aarhus C, Denmark. Phone: (+45) 89 42 33 69. Fax: (+45) 89 42 32 55. E-mail: [email protected] Home page: http://www.daimi.au.dk/~danvy ‡Basic Research in Computer Science (www.brics.dk), funded by the Danish National Research Foundation. §Address: IT-Byen, Aabogade 34, DK-8200 Aarhus C, Denmark. Phone: (+45) 89 42 56 66. Fax: (+45) 89 42 56 24. E-mail: [email protected] Home page: http://www.daimi.au.dk/~ups
منابع مشابه
Lifting and recombination techniques for absolute factorization
In the vein of recent algorithmic advances in polynomial factorization based on lifting and recombination techniques, we present new faster algorithms for computing the absolute factorization of a bivariate polynomial. The running time of our probabilistic algorithm is less than quadratic in the dense size of the polynomial to be factored.
متن کاملHigher dimensional 3-adic CM construction
We outline a method for the construction of hyperelliptic curves of genus 2 over small number fields whose Jacobian has complex multiplication and ordinary good reduction at the prime 3. We prove the existence of a quasi-quadratic time algorithm for canonically lifting in characteristic 3 based on equations defining a higher dimensional analogue of the classical modular curve X0(3). We give a d...
متن کاملTheta lifts of Bianchi modular forms and applications to paramodularity
We explain how the work of Johnson-Leung and Roberts on lifting Hilbert modular forms for real quadratic fields to Siegel modular forms can be adapted to imaginary quadratic fields. For this, we use archimedean results from Harris, Soudry and Taylor and replace the global arguments of Roberts by the non-vanishing result of Takeda. As an application of our lifting result, we exhibit an abelian s...
متن کاملTighter Lifting-Free Convex Relaxations for Quadratic Matching Problems
In this work we study convex relaxations of quadratic optimisation problems over permutation matrices. While existing semidefinite programming approaches can achieve remarkably tight relaxations, they have the strong disadvantage that they lift the original n×n-dimensional variable to an n2×n2-dimensional variable, which limits their practical applicability. In contrast, here we present a lifti...
متن کاملMATHEMATICAL ENGINEERING TECHNICAL REPORTS The Quadratic Semi-Assignment Polytope
We study a polytope which arises from a mixed integer programming formulation of the quadratic semi-assignment problem. We introduce an isomorphic projection in order to transform the polytope to another essentially equivalent and tractable polytope. As a result, some basic polyhedral properties, such as the dimension, the affine hull, and the trivial facets, are obtained in quite a simple way....
متن کامل