• No results found

CHAPTER 4 NESTED PRODUCT DECOMPOSITION OF A RANK

4.1 Algorithms for Nested U BV Decomposition

The U BV nested product algorithm begins with a hierarchical representation of the compressed matrix C that is obtained from the hierarchically partitioned quasiseparable matrix A, as seen in Figure 4.1. The control algorithm utilizes the binary tree structure of

C and creates a new linked listU BV data structure. Each node of theU BV comprehensive data structure will house each of theUi and Vi sequences of orthogonal transformations, and

Figure 4.2. Illustration of a block 8×8 nested product decomposition. From left to right, the shaded areas in each of the decompositions in the sequence are nested within the current decomposition of the diagonal block.

same binary tree traversal routines that are implemented in the row compression algorithm are also used in the nested product algorithm to access data in the tree. The nested product control algorithm is recursive, and at each recursive call adds a node to the U BV data structure. These navigation methods are presented in detail in Section 3.2.

The control algorithm for the nested product decomposition starts at the first diagonal block, D1, and recursively decomposes matrix C until it reaches the last diagonal block.

This movement creates a nesting effect where everything to the right and below the current diagonal block, Di, is encapsulated in a hierarchical parameterization as seen in Figure 4.2.

Everything in the upper left is represented by a banded matrix B. The algorithm uses Di

as the key for where the U BV decomposition operates on matrix C. The decomposition acts on the rows in and to the right of each Di and forms a basis from the off-diagonal

blocks to the right of each diagonal block. As the algorithm navigates through the binary tree for C, it introduces zeros into the off-diagonal blocks to the right of Di. All elements

directly below the diagonal block already contain zeros from the previous row compression algorithm. The decomposition is accomplished in two stages: the introduction of zeros into the right off-diagonal region withW(l,b) and X(l,b)factors using a transformationUk, followed

by the reduction of the diagonal block into a lower triangular block using transformation

Vk. Repartitioning does occur in the blocks between the two stages, and the processes to

repartition blocks are the same as described in Section 3.6.

The selection of the off-diagonal blocks for the basis formation associated with diagonal block Di is determined by two equivalent characteristics: the off-diagonal block must lie

strictly to the right of Di, and the off-diagonal block should be a left branch in the binary

tree path forDi. The column space for the basis is determined by the appropriateW(l,b). The

rows in Di are identified, and determine which rows in each W(l,b) factor of the off-diagonal

blocks will be in the column space. As the off-diagonal blocks are selected, only the pertinent rows in each W are collected. All columns and rows of each X(l,b) are collected. Hence, the

size of the collection is just a few rows tall and across all columns strictly to the left of the diagonal block. The collection of factors for D1, both in the matrix and as the CollectionD1,

are illustrated in the block 8×8 example in Figure 4.3.

The basis Bi is a set of linearly independent vectors which span the given subspace.

The basis procedure is exactly the same as presented in Section 3.3 where Householder transformations are utilized in an LQ factorization of the CollectionD1. The number of

columns in each factor,W(l,b) and X(l,b), are based on the rank of the lower triangular blocks.

This basis formation procedure isolates the W(l,b) column factors that are relevant to

determining the column space of the region of C into which zeros are to be introduced. AnLQfactorization method is applied to eachX(l,b) factor inCollectionDi to reduce the size of eachX(l,b). TheLQfactorization ofX(l,b)yields a reduced matrix which is then transposed

into lower triangular block form

B1 = h W(3,1)·L(3,1) 0 W(2,1)·L(2,1) 0 W(1,1)·L(1,1) 0 i . (4.5) .

An efficient SVD factorization operates on the intermediate matrix for the basis by first performing a QR decomposition in order to obtain the factor R. Figure 4.3(b) displays

(a) The 8 × 8 block example highlights the collection of factors for diagonal block D1, CollectionD1, in the compressed matrixC.

(b) The factor data structure in the 8×8 block example forCollectionD1 of the off-diagonal blocks

W(3,1), X(3,1), W(2,1), X(2,1), W(1,1), and X(1,1).

Figure 4.3. Illustration of a block 8×8 formation of basis Bi from theW(l,b) and X(l,b)

factors associated with diagonal block Di.

CollectionD1 that is used to compute the basis B1. The sequence of Householder vectors

fromQ are stored in a linked list. The orthogonal matrixU, from the SVD ofR, is reduced to only the first r columns, where r is the rank the R, resulting in ˜U = U(:,1 : r). The final step is to apply the Householder transformations from the linked list to ˜U, producing a basis, Bi, for CollectionDi. The basis procedure method returns the basis, Bi, and basis rank, s. The basis and rank are used to compute unitary transformations that introduce zeros in the upper right off-diagonal blocks of the larger matrix C.