Modified givens rotations for inverse updating in qr decomposition
A systolic array is a matrix of individual signal processing cells, where overall operation of the systolic array depends upon functions of the individual signal processing cells and the interconnection scheme of such signal processing cells.A clock signal is conventionally applied to a systolic array to control data flow therethrough.However, Gentleman and Kung's matrix triangularization and least squares solution is predicated on processing matrices with only real numbers.For a matrix with one or more complex numbers, namely a “complex matrix,” heretofore, a complex-to-real data reduction was performed to convert each individual cell in the complex matrix to a real number before performing a Givens rotation by factoring out the phase before Givens rotations and applying such phase at a later stage.\[\begin\kappa_S(M, p) & = \left\Vert \left\vert M \right\vert \left\vert M^ \right\vert \right\Vert_p \ \kappa_S(M, x, p) & = \left\Vert \left\vert M \right\vert \left\vert M^ \right\vert \left\vert x \right\vert \right\Vert_p\end\]Konstantinos Konstantinides and Kung Yao, “Statistical analysis of effective singular values in matrix rank determination”, IEEE Transactions on Acoustics, Speech and Signal Processing, 36(5), 1988, 757-763. Since this API is not user-facing, there is no commitment to support/deprecate this specific set of functions in future releases. A complex matrix and a modified Givens rotation matrix are obtained for multiplication by a processing unit, such as a systolic array or a CPU, for example, for the nulling of the cell to provide a modified form of the complex matrix.
Additionally, others have proposed various forms of phase factoring for complex-to-real data reduction. is a block diagram of a prior art internal cell 710 of a systolic array for processing complex numbers.298, Real-Time Signal Processing IV (1981) at pages 19-26 (hereinafter “Gentleman and Kung”).