Skip to contents

Extend 0chains of the top left corner to chains for the top left square corner, internal function.

Usage

mc.0chain.dx(mo, mo.col, chF0top, F0bot, tol0 = 1e-12)

Arguments

mo

mc order

mo.col

mc column order, must be less than mo

chF0top

0chains of the top of the mc matrix, a list with one matrix for each chain

F0bot

bottom of the top of the mc matrix, a matrix

tol0

tolerance for declaring a vector to be 0

Value

0chains for the top left mo x mo corner derived from chF0top

Details

For each chain in chF0top there are two possibilities. Let \(v\) be the eigenvector in the chain, i.e. F0top \(\times v=0\). If F0bot \(\times v\) is the zero vector, then the corresponding chain for the larger matrix is obtained by extending the vector to size mo x mo arbitrarily, most naturally with 0s. Otherwise, if F0bot \(\times v\) is not the zero vector, a new eigenvector is (0,...,0,F0bot \(\times v\)) (there are mo.col zeroes here) and the remaining members of the chain are obtained from the given chain by .... Notice that the eigenvector in chF0top (after extension) becomes the second member of the resulting chain, etc.

If the eigenvectors (0,...0,F0bot \(\times v_i\)) are linearly independent the job is done. But they may be linearly dependent. If this is the case some of them need to be dropped and a transformation is performed to obtain proper Jordan chains.

Author

Georgi N. Boshnakov