Extend chains for the top
mc.0chain.dx.RdExtend 0chains of the top left corner to chains for the top left square corner, internal function.
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.