, Volume 91, Issue 3, pp 265–284

Calculating optimal addition chains

Open Access


An addition chain is a finite sequence of positive integers 1 = a0a1 ≤ · · · ≤ arn with the property that for all i > 0 there exists a j, k with aiajak and r ≥ i > j ≥ k ≥ 0. An optimal addition chain is one of shortest possible length r denoted l(n). A new algorithm for calculating optimal addition chains is described. This algorithm is far faster than the best known methods when used to calculate ranges of optimal addition chains. When used for single values the algorithm is slower than the best known methods but does not require the use of tables of pre-computed values. Hence it is suitable for calculating optimal addition chains for point values above currently calculated chain limits. The lengths of all optimal addition chains for n ≤ 232 were calculated and the conjecture that l(2n) ≥ l(n) was disproved. Exact equality in the Scholz–Brauer conjecture l(2n − 1) = l(n) + n − 1 was confirmed for many new values.


Addition chains Exponentiation Scholz–Brauer Sequences Optimization 

Mathematics Subject Classification (2000)

11Y16 11Y55 05C20 

Copyright information

© The Author(s) 2010

Authors and Affiliations

  1. 1.Microsoft CorporationRedmondUSA

Personalised recommendations