moveoutroots(theta), REAL vector theta |

moveoutroots(theta) where theta is a REAL vector defining the polynomial P(z) = 1 - sum(theta*z^run(length(theta))), returns a new vector theta1 defining a new polynomial P1(z) of the same form which has the same zeros as P(z) except that any zero z0 with |z0| < 1 is replaced by 1/z0. Thus all the zeros of P1(z) are outside the unit circle in the complex plane and moveoutroots(theta) are the coefficients of an invertible MA operator and, when no zero has modulus 1, the coefficients of a stationary (causal) AR operator. moveoutroots assumes the sign convention used by Box and Jenkins and implicit in movavg(), autoreg() and polyroot() (Arsign = -1, Masign = -1). When theta are MA coefficients using the sign convention of Brockwell and Davis (Masign = +1), you should use moveoutroots(-theta). See topic 'MASIGN'. Examples: movoutroots(2) returns 1/2 because 1 - 2*z has zero .5 < 1 and 1 - .5*z has zero 2 > 1. moveoutroots(vector(2,-1.25)) returns vector(1.6, -.8) because 1 - 2*z + 1.25*z^2 has zeros 8 +- .4*i and 1 - 1.6*z + .8*z^2) has roots (1 +- .5*i) = 1/(.8 -+ .4*i) See polyroot(), movavg(), autoreg().

Gary Oehlert 2003-01-15