On-line algorithms for multiplication and division in real and complex numeration systems - Frougny, Christiane; Pavelka, Marta; Pelantova, Edita; Svobodova, Milena (Discrete mathematics and theoretical computer science, 2019)
A positional numeration system is given by a base and by a set of digits. The base is a real or complex number $β$ such that $|β|>1$, and the digit set $A$ is a finite set of digits including $0$. Thus a number can be seen as a finite or infinite string of digits. An on-line algorithm processes the input piece-by-piece in a serial fashion. On-line arithmetic, introduced by Trivedi and Ercegovac, is a mode of computation where operands and results flow through arithmetic units in a digit serial manner, starting with the most significant digit. In this paper, we first formulate a generalized version of the on-line algorithms for multiplication and division of Trivedi and Ercegovac for the cases that $β$ is any real or complex number, and digits are real or complex. We then define the so-called OL Property, and show that if $(β, A)$ has the OL Property, then on-line multiplication and division are feasible by the Trivedi-Ercegovac algorithms. For a real base $β$ and a digit set $A$ of contiguous integers, the system $(β, A)$ has the OL Property if $# A > |β|$. For a complex base $β$ and symmetric digit set $A$ of contiguous integers, the system $(β, A)$ has the OL Property if $# A > β\overline{β} + |β + \overline{β}|$. Provided that addition and subtraction are realizable in parallel in the system $(β, A)$ and that preprocessing of the denominator is possible, our on-line algorithms for multiplication and division have linear time complexity. Three examples are presented in detail: base $β=\frac{3+\sqrt{5}}{2}$ with digits $A=\{-1,0,1\}$; base $β=2i$ with digits $A = \{-2,-1, 0,1,2\}$; and base $β = -\frac{3}{2} + i \frac{\sqrt{3}}{2} = -1 + ω$, where $ω = \exp{\frac{2iπ}{3}}$, with digits $A = \{0, ± 1, ± ω, ± ω^2 \}$. Comment: Extended version of contribution on 23rd IEEE Symposium on Computer Arithmetic ARITH23