English

An automatic system to detect equivalence between iterative algorithms

Optimization and Control 2025-01-13 v4

Abstract

When are two algorithms the same? How can we be sure a recently proposed algorithm is novel, and not a minor twist on an existing method? In this paper, we present a framework for reasoning about equivalence between a broad class of iterative algorithms, with a focus on algorithms designed for convex optimization. We propose several notions of what it means for two algorithms to be equivalent, and provide computationally tractable means to detect equivalence. Our main definition, oracle equivalence, states that two algorithms are equivalent if they result in the same sequence of calls to the function oracles (for suitable initialization). Borrowing from control theory, we use state-space realizations to represent algorithms and characterize algorithm equivalence via transfer functions. Our framework can also identify and characterize some algorithm transformations including permutations of the update equations, repetition of the iteration, and conjugation of some of the function oracles in the algorithm. To support the paper, we have developed a software package named Linnaeus that implements the framework to identify other iterative algorithms that are equivalent to an input algorithm. More broadly, this framework and software advances the goal of making mathematics searchable.

Keywords

Cite

@article{arxiv.2105.04684,
  title  = {An automatic system to detect equivalence between iterative algorithms},
  author = {Shipu Zhao and Laurent Lessard and Madeleine Udell},
  journal= {arXiv preprint arXiv:2105.04684},
  year   = {2025}
}

Comments

This paper documents a software system for identifying equivalence between optimization algorithms. The analysis in this paper has been improved in arxiv:2501.04972

R2 v1 2026-06-24T01:57:59.089Z