Stating our computational complexity estimates, we will assume the customary computational models of arithmetic and Boolean Random Access Machines (RAM modeles) and their parallel modifications (PRAM models) [AHU74], [KR90], [Qui94]. The estimates can be restated immediately in terms of the model of [BSS89] as well as the arithmetic and Boolean circuits [Gat86]. Moreover, to large extent, our results on computational complexity are model independent. They are reduced to invocation of a few fundamental operations such as the computation of the inner products and convolutions of vector pairs and discrete Fourier transform, for which effective algorithms are available under all the above models as well as under some more realistic models of parallel computing [Lei92].
We will write and to denote the sequential arithmetic and Boolean time bounds O(t(N)) and O(T(N)) , respectively, for the input size N . Under parallel models of computing, we will write or to denote the simultaneous time and arithmetic or Boolean processor bounds O(t(N)) and O(p(N)) , respectively. We will assume Brent's scheduling principle, according to which a simple processor needs time O(pt) to simulate the work of p processors performed in time t . In other words, the parallel cost bounds or imply the sequential cost bounds or , respectively.