Generate seed parameters for unit mc-eigenvectors
spec_seeds1.RdGenerates seed parameters for mc-eigenvectors corresponding to unit roots.
Details
Creates a matrix of seed parameters corresponding to unit eigenvalues
of a multi-companion matrix of multi-companion order mo.
len.block gives the sizes of the Jordan blocks corresponding to
eigenvalues equal to one.
In general, the entries are filled with NA's but for some configurations some (or even all) of the entries are uniquely determined up to a linear transformation. In such cases a “canonical” choice is made.
The generated seed parameters can be considered to be "top" or
"bottom", as needed. (TODO: check this claim, I have
forgotten the details but think that this is the reason that it is not
necessary to have an argument for the dimension of the matrix).
spec_seeds1 can be used by model fitting functions to prepare
parameters for estimation but see spec_root1 and
mcSpec for a more comprehensive treatment.
Note
TODO: the treatment of “canonical” cases is incomplete, see also the comments in the source code of the function.
TODO: explain the Inf and -Inf output entries for some
configurations (e.g. the last example below).
"co" in the name of spec_seeds1 is short for coefficient.
Examples
spec_seeds1(c(1), mo = 4) # NA's
#> [,1]
#> [1,] NA
#> [2,] NA
#> [3,] NA
#> [4,] NA
spec_seeds1(c(1,1), mo = 4) # NA's
#> [,1] [,2]
#> [1,] NA NA
#> [2,] NA NA
#> [3,] NA NA
#> [4,] NA NA
spec_seeds1(c(1,1,1), mo = 4) # NA's (but for parameterisation
#> [,1] [,2] [,3]
#> [1,] NA NA NA
#> [2,] NA NA NA
#> [3,] NA NA NA
#> [4,] NA NA NA
# a different approach is used)
spec_seeds1(c(1,1,1,1), mo = 4) # identity matrix but other bases are good too
#> [,1] [,2] [,3] [,4]
#> [1,] 1 0 0 0
#> [2,] 0 1 0 0
#> [3,] 0 0 1 0
#> [4,] 0 0 0 1
spec_seeds1(c(2,2,2,2), mo = 4) # no NA's, tops of gen.evecs can be chosen 0
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#> [1,] 1 0 0 0 0 0 0 0
#> [2,] 0 0 1 0 0 0 0 0
#> [3,] 0 0 0 0 1 0 0 0
#> [4,] 0 0 0 0 0 0 1 0
spec_seeds1(c(2,1,1,1), mo = 4) # (can be improved)
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] -Inf 0 Inf Inf Inf
#> [2,] -Inf 0 Inf Inf Inf
#> [3,] -Inf 0 Inf Inf Inf
#> [4,] -Inf 0 Inf Inf Inf
spec_seeds1(c(2,1), mo = 4) # NA's
#> [,1] [,2] [,3]
#> [1,] NA NA NA
#> [2,] NA NA NA
#> [3,] NA NA NA
#> [4,] NA NA NA