Finite Precision Arithmetic in Singular Value Decomposition Architectures

Abstract : The singular value decomposition (SVD) is an important matrix algorithm which has many applications in signal processing. However, its use has been limited due to its computational complexity. Several computer architectures have been proposed to compute the SVD using arrays of parallel processors. This thesis derives requirements for the precision of arithmetic units ;(AUs) used in SVD arrays and compare the resource requirements of several architectures. The results are based on the assumption that we are operating on matrices of quantized data. Since the matrices have quantization errors, it is shown that their singular values will have quantization errors which are as large as the data errors. To compute the number of bits needed in SVD AUs, it is required that the AUs have enough bits to keep the round-off errors of the SVD computation smaller than the quantization errors. This analysis shows that we need essentially the same number of bits for either the Hestenes or Jacobi SVD algorithms. If the matrix has been scaled to prevent overflows and if we use properly rounded arithmetic, CORDIC and fixed point AUs require 8 fewer bits than floating point AUs. Our computations indicate that 32 bit floating point AUs are useful only for small arrays of 8-bit data. For 100-by-100 arrays of 16 bit data we need 40-bit floating point AUs. 32-bit fixed point AUs can be used in SVD arrays for large 8-bit matrices or moderate size 16-bit arrays.

[1]  J. Michael Yohe,et al.  Roundings in Floating-Point Arithmetic , 1973, IEEE Transactions on Computers.

[2]  F. Luk Triangular processor array for computing singular values , 1986 .

[3]  R. Brent,et al.  The Solution of Singular-Value and Symmetric Eigenvalue Problems on Multiprocessor Arrays , 1985 .

[4]  Gene H. Golub,et al.  Matrix computations , 1983 .

[5]  Z. Cho,et al.  SVD pseudoinversion image reconstruction , 1981 .

[6]  R. Brent,et al.  Computation of the Singular Value Decomposition Using Mesh-Connected Processors , 1983 .

[7]  Franklin T. Luk,et al.  Computing the Singular-Value Decomposition on the ILLIAC IV , 1980, TOMS.

[8]  Joseph R. Cavallaro,et al.  CORDIC arithmetic for an SVD processor , 1987, 1987 IEEE 8th Symposium on Computer Arithmetic (ARITH).

[9]  M. Hestenes Inversion of Matrices by Biorthogonalization and Related Results , 1958 .

[10]  H. J. Whitehouse,et al.  A Review Of Signal Processing With Systolic Arrays , 1983, Optics & Photonics.

[11]  Jack E. Volder The CORDIC Trigonometric Computing Technique , 1959, IRE Trans. Electron. Comput..

[12]  J. H. Wilkinson The algebraic eigenvalue problem , 1966 .

[13]  G. Forsythe,et al.  The cyclic Jacobi method for computing the principal values of a complex matrix , 1960 .

[14]  Joseph R. Cavallaro,et al.  Architectures For A Cordic SVD Processor , 1986, Optics & Photonics.

[15]  Hassan Masud Ahmed Signal processing algorithms and architectures , 1982 .

[16]  Franklin T. Luk,et al.  The Solution Of Singular Value Problems Using Systolic Arrays , 1984, Optics & Photonics.

[17]  C. Loan The Block Jacobi Method for Computing the Singular Value Decomposition , 1985 .

[18]  Franklin T. Luk,et al.  Systolic Array Computation Of The Singular Value Decomposition , 1982, Other Conferences.

[19]  C. V. Ramamoorthy,et al.  Some Properties of Iterative Square-Rooting Methods Using High-Speed Multiplication , 1972, IEEE Transactions on Computers.

[20]  S. Walther A unified algorithm for elementary functions , 1899 .

[21]  J. Scheidt,et al.  Random Eigenvalue Problems , 1983 .

[22]  J. M. Yohe,et al.  Roundings in floating point arithmetic , 1972, IEEE Symposium on Computer Arithmetic.

[23]  G. Stewart A Jacobi-Like Algorithm for Computing the Schur Decomposition of a Nonhermitian Matrix , 1985 .

[24]  Franklin T. Luk,et al.  A new systolic array for the singular value decomposition , 1986 .