Construction of Algorithms for Parallel Addition


An algebraic number $\beta \in \mathbb{C}$ with no conjugate of modulus 1 can serve as the base of a numeration system $(\beta, \mathcal{A})$ with parallel addition, i.e., the sum of two operands represented in base $\beta$ with digits from $\mathcal{A}$ is calculated in constant time, irrespective of the length of the operands. In order to allow parallel addition, sufficient level of redundancy must be given to the alphabet $\mathcal{A}$. The complexity of parallel addition algorithm depends heavily on the size #$\mathcal{A}$ of the alphabet: the bigger alphabet is considered, the lower complexity of the parallel addition algorithm may be reached, and vice versa. Here we aim to find parallel addition algorithms on alphabets of the minimal possible size, for a given base. As the complexity of these algorithms becomes quite huge in general, we introduce a so-called Extending Window Method (EWM) - in fact an algorithm to construct parallel addition algorithms. This method can be applied on bases $\beta$ which are expanding algebraic integers, i.e., $\beta$ whose all conjugates are greater than 1 in modulus. Convergence of the EWM is not guaranteed, nevertheless, we have developed tools for revealing non-convergence, and there is a number of successful applications. Firstly, the EWM provides the same parallel addition algorithms as were previously introduced by A. Avizienis, C.Y. Chow & J.E. Robertson or B. Parhami for integer bases and alphabets. Then, by applying the EWM on selected complex bases $\beta$ with non-integer alphabets $\mathcal{A} \subset \mathbb{Z}[\beta]$, we obtain new results - parallel addition algorithms on alphabets of minimal possible size, which could not be found so far (manually). The EWM is helpful also in the case of block parallel addition.