Skip to contents

A class for internal use for work with small multi-companion matrices.

Objects from the Class

This class is for internal use.

Objects can be created by calls of the form new("SmallMultiCompanion", Mtop, Mbot, jdMtop, MbotXtop).

Slots

jdMtop:

Object of class "JordanDecomposition" ~~

Mtop:

Object of class "matrix" ~~

Mbot:

Object of class "matrix" ~~

MbotXtop:

Object of class "matrix" ~~

Methods

coerce

signature(from = "SmallMultiCompanion", to = "matrix"): ...

initialize

signature(.Object = "SmallMultiCompanion"): ...

JordanDecomposition

signature(values = "SmallMultiCompanion", vectors = "missing"): ...

Author

Georgi N. Boshnakov

See also

Examples

mat2 <- make_mcmatrix(eigval = c(1), co = cbind(c(1,1,1,1), c(0,1,0,0)), dim = 4,
len.block = c(2))
mat2
#>      [,1] [,2] [,3] [,4]
#> [1,]    0    1    0    0
#> [2,]   -1    2    0    0
#> [3,]    0    1    0    0
#> [4,]    0    1    0    0
## Jordan decomp. of mat2[1:2,1:2]:
x2 <- matrix(c(1,1,-1,0), ncol =2)
jd <- matrix(c(1,0,1,1), ncol = 2)
mat2[1:2,1:2] - x2 %*% jd %*% solve(x2)
#>      [,1] [,2]
#> [1,]    0    0
#> [2,]    0    0
jdobj <- JordanDecomposition(values = 1, vectors = x2, heights = 2)

m1 <- new("SmallMultiCompanion", mat2[1:2, 1:2], Mbot = mat2[3:4, 1:2], jdMtop = jdobj)
m1a <- new("SmallMultiCompanion", Mbot = mat2[3:4, 1:2], jdMtop = jdobj)
as.matrix(m1) - as.matrix(m1a)  # (approx.) 0's
#>      [,1] [,2] [,3] [,4]
#> [1,]    0    0    0    0
#> [2,]    0    0    0    0
#> [3,]    0    0    0    0
#> [4,]    0    0    0    0