mc.0chain.struct | R Documentation |
Compute structural Jordan chains for zero eigenvalues,
mc.0chain.struct(dim, mo, mo.col, chains = list(), sort = TRUE)
dim |
dimension of the mc-matrix, a positive integer |
mo |
multi-companion order |
mo.col |
top order |
chains |
a list of Jordan chains for zero eigenvalues |
sort |
if TRUE sort the chains in descending order of their lengths. |
Structural Jordan chains for 0 eigenvalues are present when
mo.col < dim
.
If chains
is empty, then this function assumes that the
structural chains span the space corresponding to 0 eigenvalues
(equivalently, the mo.col x mo.col
principal submatrix is of
full rank).
Otherwise, the chains given by chains
are amended with the
structural chains. The given chains are usually changed in the
process. (Actually, mc.0chain.struct
doesn't change existing
chains. It only adds new ones if needed, since it assumes that
triangulation has already been done.)
Note that a multi-companion matrix cannot have more than mo
chains corresponding to an eigenvalue. In particular, it is not
appropriate to ignore the possibility for chains of length larger than
1, as is normal in numerical computations, see the references for
details.
a list with with the following components:
eigval |
the eigenvalues (all 0 here), one for each chain |
len.block |
the lengths of the chains |
chains |
a list with one element (a matrix) for each Jordan chain |
The more obscure particular cases need testing.
Georgi N. Boshnakov
mc_0chains
which calls this function.
y742t <- mc.0chain.struct(7, 4, 2) # sort = TRUE is default
y742f<- mc.0chain.struct(7, 4, 2, sort = FALSE)
o <- order(y742f[[2]], decreasing = TRUE)
y742fa <- lapply(y742f, function(x) x[o])
stopifnot(identical(y742t, y742fa))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.