Generate objects of class mcSpec
mcSpec.RdGenerate objects of class mcSpec.
Arguments
- dim
- the dimension, a positive integer. 
- mo
- multi-companion order, a.k.a. number of seasons. 
- root1
- roots equal to one, a vector of positive integers of length at most - mo.
- iorder
- integration order, a non-negative integer. 
- siorder
- seasonal integration order, a non-negative integer. 
- order
- order of the periodic filter, a vector of length - mo.
- evtypes
- types of additional eigenvalues, see Details. 
- mo.col
- number of non-zero columns in the top part of the multicompanion matrix, see Details. 
- n.roots
- number of non-zero roots 
- ...
- further arguments to be passed on. 
- .Object
- An object. This argument is not used in calls of - mcSpecand- new, see the details section.
Details
mcSpec(...) and new("mcSpec", ...) create objects from
  class mcSpec. The two calls are equivalent and may contain any
  of the arguments of the initialize method described here, except
  .Object which is generated automatically.
  In both cases the initialize method is called and passed all the
  arguments.
Several ways are provided for the specification of unit roots and they may be combined, as long as the specification is consistent.
roots1 specifies eigenvalues equal to 1 and the size of their
  Jordan chains. iorder and siorder provide convenient
  shortcuts for the special cases which they cover.
iorder specifies the integration order. This corresponds to
  operator \((1-B)\) applied iorder times.
Similarly, siorder specifies the seasonal integration order,
  which corresponds to the operator \((1-B^s)\) applied siorder
  times, where \(s\) is equal to mo. This argument generates
  mo unit roots, each of height (dimension of its Jordan chain)
  siorder.
It is possible to use combinations of these arguments to specify the
  unit roots and all specifications are combined. Care must be taken not
  to exceed dim.
If mo.col is missing, it is set to max(order).
  mo.col may also be the character string "+ones". In this case
  the dimension of the unit roots is added to max(order).
  mo.col may also be set directly by giving it an appropriate
  integer value. TODO: Need more checks for consistency here!
TODO: describe other roots and eigenvectors!
After all specified quantities are prepared, the rest are set to NA's.
If not all eigenvalues are specified, additional eigenvalues are
  introduced to reach dimension dim. By default, if an even
  number of eigenvalues is needed, all of them are specified as complex
  pairs, "cp". If the number is odd, one real eigenvalue is specified
  and the rest are set again to "cp".
Argument evtypes can be used to select a different setting for
  the additional eigenvalues.  It is a character vector in which "r"
  stands for real eigenavalues and "cp" stands for a complex pair. For
  example, if there are two "free" eigenvalues, the automatic choice
  would be a complex pair, "cp". If two real eigenvalues are desired set
  evtypes to c("r","r").
Note: evtypes is for types of additional eigenvalues. Do not
  specify types for eigenvalues equal to one or zero.
References
Boshnakov GN (2002). “Multi-companion matrices.” Linear Algebra Appl., 354, 53–83. ISSN 0024-3795, doi:10.1016/S0024-3795(01)00475-X .
Boshnakov GN, Iqelan BM (2009). “Generation of time series models with given spectral properties.” J. Time Series Anal., 30(3), 349–368. ISSN 0143-9782, doi:10.1111/j.1467-9892.2009.00617.x .
Examples
spec2 <- mcSpec(21, 4, siorder=2, iorder=1)
spec4 <- mcSpec(11, 4, siorder=1, iorder=1)
spec.co2 <- mcSpec(dim = 5, mo = 4, siorder = 1)
spec.co2new <- mcSpec(dim = 5, mo = 4, siorder = 1) # after correcting ev.arg
spec.co2alt <- mcSpec(dim = 6, mo = 4, siorder = 1)
spec.co3 <- mcSpec(dim = 5, mo = 4, root1 = c(1,1,1))
spec.coz1 <- mcSpec(dim = 4, mo = 4, root1 = c(1,1), order = rep(2,4)) # test0 roots
spec.coz2 <- mcSpec(dim = 5, mo = 4, root1 = c(1,1), order = rep(2,4)) # test0 roots
spec.coz3 <- mcSpec(dim = 4, mo = 4, root1 = c(1), order = rep(2,4)) # test0 roots
spec.co4 <- mcSpec(dim = 4, mo = 4, root1 = c(1,1,1))