Skip to contents

Generates seed parameters for mc-eigenvectors corresponding to unit roots.

Usage

spec_seeds1(len.block, mo)

Arguments

len.block

lengths of Jordan blocks, a vector of positive integers.

mo

multi-companion order.

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.

Value

a matrix with mo rows and sum(len.block) columns

Author

Georgi N. Boshnakov

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.

See also

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