A class for small multi-companion matrices
SmallMultiCompanion-class.Rd
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")
: ...
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