This Article 
 Bibliographic References 
 Add to: 
Householder CORDIC Algorithms
August 1995 (vol. 44 no. 8)
pp. 990-1001

Abstract—Matrix computations are often expressed in terms of plane rotations, which may be implemented using COordinate Rotation DIgital Computer (CORDIC) arithmetic. As matrix sizes increase multiprocessor systems employing traditional CORDIC arithmetic, which operates on two-dimensional (2D) vectors, become unable to achieve sufficient speed. Speed may be increased by expressing the matrix computations in terms of higher dimensional rotations and implementing these rotations using novel CORDIC algorithms—called Householder CORDIC—that extend CORDIC arithmetic to arbitrary dimensions. The method employed to prove the convergence of these multi-dimensional algorithms differs from the one used in the 2D case. After a discussion of scaling factor decomposition, range extension and numerical errors, VLSI implementations of Householder CORDIC processors are presented and their speed and area are estimated. Finally, some applications of the Householder CORDIC algorithms are listed.

[1] H.M. Ahmed,“Signal processing algorithms and architectures,” PhD dissertation, Dept. of Electrical Eng., Stanford Univ., June 1982.
[2] H.M. Ahmed,J.-M. Delosme,, and M. Morf,“Highly concurrent computing structures for matrix arithmetic and signalprocessing,” Computer, pp. 65-82, Jan. 1982.
[3] R.P. Brent,F.T. Luk,, and C.F. Van Loan,“Computation of the singular value decomposition using mesh-connected processors,” J. VLSI Computer Systems, vol. 1, no. 3, pp. 242-270, 1985.
[4] J.R. Cacallaro and F.T. Luk,"CORDIC Arithmetic for a SVD Processor," J. Parallel and Distributed Computing, vol. 5, pp. 271-290, 1988.
[5] J.R. Cavallaro and F.T. Luk,"Floating Point CORDIC for Matrix Computations," Proc. IEEE Int'l Conf. Computer Design, pp. 40-42, 1988.
[6] A.A.J. de Lange and E.F. Deprettere,“Design and implementation of a floating-point quasi-systolicgeneral purpose CORDIC rotator for high-rate parallel data andsignal processing,” Proc. 10th IEEE Symp. Computer Arithmetic, pp. 272-281, July 1991.
[7] J.-M. Delosme,“Algorithms for finite shift-rank processes,” PhD dissertation, Dept. of Electrical Eng., Stanford Univ., 1982.
[8] J.-M. Delosme,“VLSI implementation of rotations in pseudo-Euclidean spaces,” Proc. IEEE Int’l Conf. ASSP, pp. 927-930, Apr. 1983.
[9] J.-M. Delosme,“The matrix exponential approach to elementary operations,” Advanced Algorithms and Architectures for Signal Processing IV, Proc. SPIE 696, pp. 188-195, Aug. 1986.
[10] J.-M. Delosme and I.C.F. Ipsen,“Parallel solution of symmetric positive definite systems with hyperbolic rotations,” Linear Algebra and Applications, vol. 77, pp. 75-111, May 1986.
[11] J.-M. Delosme,“A processor for two dimensional symmetric eigenvalue and singular value arrays,” Proc. 21st Asilomar Conf. Circuits, Systems, and Computers, pp. 217-221, Nov. 1987.
[12] J.-M. Delosme,“Bit-level systolic algorithms for real symmetric and hermitian eigenvalue problems,” J. VLSI Signal Processing, vol. 4, pp. 69-88, Jan. 1992.
[13] A.M. Despain,“Fourier transform computers using CORDIC iterations,” IEEE Trans. Computers, vol. 23, pp. 993-1,001, Oct. 1974.
[14] E.F. Deprettere,P. Dewilde,, and R. Udo,“Pipelined CORDIC architectures for fast VLSI filtering and array processing,” Proc. IEEE Int’l Conf. ASSP, pp. 3:41A.6.1-41A.6.4, Mar. 1984.
[15] M.D. Ercegovac and T. Lang,"Redundant and On-Line CORDIC: Application to Matrix Triangularisation and SVD," IEEE Trans. Computers, vol. 38, no. 6 pp. 725-740, June 1990.
[16] G. Golub and C. Van Loan, Matrix Computations, third ed. Baltimore: Johns Hopkins Univ. Press, 1996.
[17] G. Haviland and A. Tuszynski,“A CORDIC arithmetic processor chip,” IEEE Trans. Computers, vol. 29, no. 2, pp. 68-79, Feb. 1980.
[18] S.-F. Hsiao and J.-M. Delosme, "The CORDIC Householder Algorithm," Proc. 10th Symp. Computer Arithmetic, pp. 256-263, 1991.
[19] S.-F. Hsiao,“Multidimensional CORDIC algorithms, PhD dissertation, Dept. of Electrical Eng., Yale Univ., Dec. 1993.
[20] S.-F. Hsiao and J.-M. Delosme,“Parallel complex singular value decomposition using multidimensional CORDIC algorithms,” Proc. Int’l Conf. Parallel and Distributed Systems, pp. 487-494, Dec. 1993.
[21] Y.H. Hu,"The Quantization Effects of the CORDIC Algorithm," IEEE Trans. Circuits and Systems, vol. 40, no. 4, pp. 834-844, 1992.
[22] Y.M. Hu, “CORDIC-Based VLSI Architectures for Digital Signal Processing,” IEEE Signal Processing Magazine, vol. 9, pp. 16-35, 1992.
[23] Y.H. Hu and H.E. Liao,“CALF: A CORDIC adaptive lattice filter,” IEEE Trans. Signal Processing, vol. 40, no. 4, pp. 990-993, Apr. 1992.
[24] X. Hu and R.G. Harber,“Expanding the range of convergence of the CORDIC algorithm,” IEEE Trans. Computers, vol. 40, no. 1, pp. 13-21, Jan. 1991.
[25] K. Kota and J.R. Cavallaro,“Numerical accuracy and hardware tradeoffs for CORDIC arithmetic for special-purpose processors,” IEEE Trans. Computers, vol. 42, no. 7, pp. 769-779, July 1993.
[26] C. Mazenc,X. Merrheim,, and J.-M. Muller,“Computing functions cos-1 and sin-1 using Cordic,” IEEE Trans. Computers, vol. 42, no. 1, pp. 118-122, Jan. 1993.
[27] C.M. Rader and A.O. Steinhardt,“Hyperbolic householder transformations,” IEEE Trans. ASSP, vol. 34, no. 6, pp. 1,589-1,602, Dec. 1986.
[28] N. Takagi,T. Asada, and S. Yajima,"Redundant CORDIC Methods with a Constant Scale Factor for Sine and Cosine Computation," IEEE Trans. Computers, vol. 40, no. 9, pp. 989-995, Sept. 1991.
[29] A.-J. van der Veen and E.F. Deprettere,“Parallel VLSI matrix pencil algorithm for high resolution direction finding,” IEEE Trans. Signal Processing, vol. 39, pp. 383-394, Feb. 1991.
[30] J.E. Volder,“The CORDIC trigonometric computing technique,” IRE Trans. Electronic Computers, vol. 8, no. 3, pp. 330-334, Sept. 1959.
[31] J.S. Walther,“A unified algorithm for elementary functions,” Proc. AFIPS Spring Joint Computing Conf., vol. 38, pp. 379-385, 1971.

Index Terms:
CORDIC, computer arithmetic, Householder reflections, parallel algorithms, VLSI.
Jean-Marc Delosme, Shen-Fu Hsiao, "Householder CORDIC Algorithms," IEEE Transactions on Computers, vol. 44, no. 8, pp. 990-1001, Aug. 1995, doi:10.1109/12.403715
Usage of this product signifies your acceptance of the Terms of Use.