ó
áp7]c           @` sY  d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l m	 Z	 m
 Z
 m Z m Z m Z d d l Z d d l m Z d d l m Z d d l m Z d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ  d „  Z! d „  Z" d e f d „  ƒ  YZ# d  e f d! „  ƒ  YZ$ d" e f d# „  ƒ  YZ% d$ „  Z& d% „  Z' d& „  Z( d' „  Z) d( „  Z* d) „  Z+ d* „  Z, d+ „  Z- d, „  Z. d- „  Z/ d. „  Z0 d/ „  Z1 d0 „  Z2 d1 „  Z3 d2 „  Z4 d S(3   s>   
Tests for tools

Author: Chad Fulton
License: Simplified-BSD
i    (   t   divisiont   absolute_importt   print_functionN(   t   assert_allcloset   assert_equalt   assert_array_lesst   assert_array_equalt   assert_almost_equal(   t   solve_discrete_lyapunov(   t   tools(   t   acovft   TestCompanionMatrixc           B` si  e  Z d  e j d d g d d g g ƒ f d d d g e j d d g d  d g g ƒ f d d d d g e j d d d g d  d d g d d d g g ƒ f d e j d d  g d d g g ƒ e j d d	 g d
 d g g ƒ g e j d d  d d	 g d d d
 d g d d d d g d d d d g g ƒ j f e j d  ƒ e j d d g d d g g ƒ f g Z d „  Z RS(   i   i    i   iÿÿÿÿiþÿÿÿiýÿÿÿi   i   i   i   i   i   c         C` s4   x- |  j  D]" \ } } t t j | ƒ | ƒ q
 Wd  S(   N(   t   casesR   R	   t   companion_matrix(   t   selft
   polynomialt   result(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt
   test_cases&   s    (   t   __name__t
   __module__t   npt   arrayt   Tt   int64R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR      s   $!D3t   TestDiffc           B` s3  e  Z e j d  ƒ Z d d d g d d d d d g f e d d d d g d f e d d d d g d f e d d d d d g d f e d d d d d d	 d
 d d g f e d d d d g d f e d d d d d g d f e d d d d d g d f e d d d d d d d d d g f g	 Z d „  Z RS(   i
   i   i   i   i    i   i   i   i<   iT   il   i„   iœ   i   ið   iP  i°  i  ip  c         C` sà   xÙ |  j  D]Î \ } } } } } | } t j | | | | ƒ } t | | ƒ t j | ƒ } t j | | f } t j | | f } t j | | | | ƒ } t | | ƒ t j | ƒ } t j | | | | ƒ } t | | ƒ q
 Wd  S(   N(	   R   R	   t   diffR   t   pdt   SeriesR   t   c_t	   DataFrame(   R   t   seriesR   t	   seas_difft   seasonal_periodsR   t   seasonal_difft   x(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   ?   s    N(   R   R   R   t   arangeR"   t   NoneR   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   +   s   !%+t   TestSolveDiscreteLyapunovc           B` s&   e  Z e d  „ Z d „  Z d „  Z RS(   c         C` s°   | sV t  j | | j ƒ  ƒ } t  j | j d ƒ | } t  j j | | j ƒ  ƒ } nG t  j | | ƒ } t  j | j d ƒ | } t  j j | | j ƒ  ƒ } t  j | | j ƒ S(   Ni    (	   R   t   kront   conjt   eyet   shapet   linalgt   solvet   flattent   reshape(   R   t   at   qt   complex_stept   lhsR"   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   solve_dicrete_lyapunov_direct[   s    c         C` s  t  j d g g ƒ } t  j d g g ƒ } t j | | ƒ } t | | ƒ } t | | ƒ t  j d g g ƒ } t  j d g g ƒ } t j | | ƒ } t | | ƒ } t | | ƒ t  j d g g ƒ } t  j d g g ƒ } t j | | d t ƒ} |  j | | d t ƒ} t | | ƒ d  S(   Ng      à?g      $@y              ð?R0   y      à?      ð?y      à?      ð?(   R   R   R	   R   R   t   TrueR2   (   R   R.   R/   t   actualt   desired(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_univariatek   s    c         C` s3  t  j d d d g ƒ } t j d d g ƒ } t  j | | ƒ } t | | ƒ } t | | ƒ t  j d d d g ƒ } t j d d g ƒ } t  j | | d t ƒ} |  j | | d t ƒ} t | | ƒ t  j d d	 d g ƒ } t j d d g ƒ } t  j | | d t ƒ} |  j | | d t ƒ} t | | ƒ d  S(
   Ni   gš™™™™™Ù¿g      à?g      $@g      @y        š™™™™™¹?R0   yš™™™™™Ù¿š™™™™™¹?yš™™™™™Ù¿š™™™™™¹?(	   R	   R   R   t   diagR   R   t   FalseR2   R3   (   R   R.   R/   R4   R5   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_multivariateƒ   s    (   R   R   R8   R2   R6   R9   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR%   Y   s   	t
   TestConcatc           B` s#  e  Z e j d  ƒ Z d d	 f d
 f d d g f d f d d d g e j d f d f e j d e j d g ƒ f d e d f e j d d d g ƒ e j d g ƒ f d e d f e j	 e d  e d  f e j	 e d d !e d d !f f e j	 e d  e d  f f e j	 e d  e d  f j
 e j	 e d d !e d d !f j
 f d e j	 e d  e d  f j
 f e j e j	 e d  e d  f ƒ e j	 e d d !e d d !f f d e e j	 e d  e d  f f g Z d e j d g ƒ f e f d e j d d g g ƒ f e f g Z d „  Z d „  Z RS(   i
   i   i   i   i   i    c         C` s6   x/ |  j  D]$ } t t j | d  Œ  | d ƒ q
 Wd  S(   Niÿÿÿÿ(   t   validR   R	   t   concat(   R   t   args(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt
   test_valid²   s    c         C` sC   x< |  j  D]1 } t j | d ƒ  t j | d  Œ  Wd  QXq
 Wd  S(   Niÿÿÿÿ(   t   invalidt   pytestt   raisesR	   R<   (   R   R=   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_invalid¶   s    (   i   i   i   (   i   (   i   i   i   i   (   i   i   i   (   i   i   i   i   (   i   i   i   i   (   i   i   i   (   i   i   i   i   (   i   i   i   i   (   i   i   i   (   i   i   i   (   R   R   R   R#   R"   t   r_R   R   R3   R   R   R   R;   t
   ValueErrorR   R?   R>   RB   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR:   œ   s   (3T?!B''	t   TestIsInvertiblec        	   B` sŒ   e  Z d  d g e f d  d g e f d  d  g e f d  d d g e f e j d  d d g ƒ e f e j d  d d g ƒ e f g Z d „  Z	 RS(   i   g      à¿g•Ö&è.>gÍÌÌÌÌÌì?gš™™™™™¹?c         C` s4   x- |  j  D]" \ } } t t j | ƒ | ƒ q
 Wd  S(   N(   R   R   R	   t   is_invertible(   R   R   t
   invertible(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   Ç   s    g¡vÿÿÿï?(
   R   R   R3   R8   R   R   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRE   ¼   s   !t!   TestConstrainStationaryUnivariatec           B` s8   e  Z e j d  g ƒ d d d d f g Z d „  Z RS(   g       @g       Ài   i   g      à?c         C` s:   x3 |  j  D]( \ } } t j | ƒ } t | | ƒ q
 Wd  S(   N(   R   R	   t   constrain_stationary_univariateR   (   R   t   unconstrainedt   constrainedR   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   Ò   s    g      @(   R   R   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRH   Ì   s   't#   TestUnconstrainStationaryUnivariatec           B` sD   e  Z e j d  d d d g ƒ e j d g ƒ f g Z d „  Z RS(   g       Ài   g       @i   g      à?c         C` s:   x3 |  j  D]( \ } } t j | ƒ } t | | ƒ q
 Wd  S(   N(   R   R	   t!   unconstrain_stationary_univariateR   (   R   RK   RJ   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   Þ   s    g      @(   R   R   R   R   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRL   Ø   s   3t   TestStationaryUnivariatec           B` s†   e  Z e j d  g ƒ e j d g ƒ e j d g ƒ e j d g ƒ g Z e j d g ƒ e j d g ƒ e j d g ƒ g Z d „  Z RS(   i    gš™™™™™¹?g      à¿g+‡ÙÎ÷ï?g      $@gö(\Â5DÀg°rh‘í|¿?c         C` s‚   x< |  j  D]1 } t j | ƒ } t j | ƒ } t | | ƒ q
 Wx< |  j D]1 } t j | ƒ } t j | ƒ } t | | ƒ qI Wd  S(   N(   t   constrained_casesR	   RM   RI   R   t   unconstrained_cases(   R   RK   RJ   t   reconstrainedt   reunconstrained(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   ì   s    (   R   R   R   R   RO   RP   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRN   ä   s   B3t   TestValidateMatrixShapec        
   B` sÈ   e  Z d  d d d d f d  d	 d d d f d  d
 d d d f g Z d  d d d d f d  d d d d f d  d d d d f d  d d d d f d  d d d d f d  d d d d f g Z d „  Z d „  Z RS(   t   TESTi   i   i
   i   c         C` s%   x |  j  D] } t j | Œ  q
 Wd  S(   N(   R;   R	   t   validate_matrix_shape(   R   R=   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_valid_cases  s    c         C` s;   x4 |  j  D]) } t j t ƒ  t j | Œ  Wd  QXq
 Wd  S(   N(   R?   R@   RA   RD   R	   RU   (   R   R=   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_invalid_cases  s    (   i   i   N(   i   i   (   i   i   i
   (   i   (   i   i   i   i   (   i   i   (   i   i   (   i   i   i
   (   i   i   i
   (   R   R   R$   R;   R?   RV   RW   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRS   ø   s   	t   TestValidateVectorShapec           B` s   e  Z d  d d d f d  d d d f d  d	 d d f g Z d  d
 d d f d  d d d f d  d d d f d  d d d f g Z d „  Z d „  Z RS(   RT   i   i
   i   c         C` s%   x |  j  D] } t j | Œ  q
 Wd  S(   N(   R;   R	   t   validate_vector_shape(   R   R=   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRV   !  s    c         C` s;   x4 |  j  D]) } t j t ƒ  t j | Œ  Wd  QXq
 Wd  S(   N(   R?   R@   RA   RD   R	   RY   (   R   R=   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRW   &  s    (   i   N(   i   (   i   i
   (   i   i   i
   (   i   (   i   i
   (   i   i
   (   R   R   R$   R;   R?   RV   RW   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRX     s   	c    	      C` sÒ  t  j }  t j d d d g d d d g d d d g g ƒ } t j d d d g d d d g d d d g g ƒ } t j d	 d
 d g d
 d d g d d d g g ƒ } t |  | g | ƒ d | d d ƒt j d d g ƒ } t j d d g d d g g ƒ } t j d d g d d g g ƒ } t j d d g d d g g ƒ } t j d d g d d g g ƒ } t j d d g d d g g ƒ } t j d d  g d! d" g g ƒ } t |  | | g | d# d ƒ| g d d ƒt |  | | g | d# d$ ƒ| | g d d ƒt |  | | g | ƒ | | g d d ƒt |  | | g | d# d% ƒ| | | g d d ƒt |  | | g | d# d& ƒ| | | | g d d ƒt j d' ƒ d } t t j t  j | d# d( ƒƒ t	 | d) t
 ƒd*  ƒ d  S(+   Ng      @i    g      ð?g      à?g®Gáz®ç?gš™™™™™¹?g333333Ó?gš™™™™™É?g      @gÏ÷Sã¥›Ä?gÛù~j¼t“?g—nƒÀò?gÅ °rh‘å?gºI+‡î?t   atolgü©ñÒMbP?g
×£p=
·?g{®Gáz¤?gš™™™™™Ù?g      Ð?gøSã¥›ÄÀ?gL7‰A`å°?g^ºI+Ç?g;ßO—n²?gé&1¬ª?g9´Èv¾Ÿº?gçû©ñÒMÂ?gZd;ßO§?g!°rh‘í¼?gÙÎ÷Sã¥»?gìQ¸…ë¡?gX9´Èv¾Ÿ?g+‡ÙÎ·?gsh‘í|?µ?t   maxlagi   i   i   i   i   t   ffti   (   R	   t-   _compute_multivariate_acovf_from_coefficientsR   R   R   R7   R#   t   squeezet"   _compute_multivariate_sample_acovfR
   R8   (	   t   _acovft   Sigma_ut   Phi_1t   Gamma_0t   Phi_2t   Gamma_1t   Gamma_2t   Gamma_3R"   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_multivariate_acovf,  sV    	#c          C` sz   t  j j d ƒ t  j d ƒ }  t  j j d d ƒ } t t j t  j |  | f d d ƒd t  j	 d d g ƒ d d ƒd  S(	   NiÒ  i'  t   sizeR[   i   i    RZ   g{®Gáz„?(
   R   t   randomt   seedR#   t   normalR   R	   t!   _compute_multivariate_sample_pacfR   R7   (   R"   t   y(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_multivariate_pacfh  s    #t#   TestConstrainStationaryMultivariatec           B` s  e  Z e j d  g g ƒ e j d ƒ e j d  d d d g g ƒ f e j d  g g ƒ g e j d ƒ e j d  d d d g g ƒ g f g Z e j d g g ƒ g e j d g g ƒ e j d g g ƒ g e j d d g d d	 g g ƒ e j d
 d g d d g g ƒ g g Z d „  Z RS(   g       @i   i   g      à?i    id   i2   i   iéÿÿÿi   i
   g333333Ó?iâÿÿÿc   	      C` s  x= |  j  D]2 \ } } } t j | | ƒ } t | d | ƒ q
 WxÖ |  j D]Ë } t | ƒ t k r t j | d j	 d ƒ } n t j | j	 d ƒ } t j | | ƒ \ } } t j
 d g g  t t | ƒ ƒ D] } t j | | ƒ ^ qÌ ƒ j } t t j t j j | ƒ ƒ d ƒ qJ Wd  S(   Ni    i   (   R   R	   t!   constrain_stationary_multivariateR   t   eigval_casest   typet   listR   R(   R)   R   t   ranget   lenR^   R   R   t   absR*   t   eigvals(	   R   RJ   t   error_varianceRK   R   t   covt   _t   it	   companion(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   ƒ  s    	7g      @g      @(   R   R   R   R   R(   R   Rr   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyRp   s  s   ?K'Et%   TestUnconstrainStationaryMultivariatec           B` s›   e  Z e j d  d d d g g ƒ e j d ƒ e j d  g g ƒ f e j d  d d d g g ƒ g e j d ƒ e j d  g g ƒ g f g Z d „  Z RS(   g       @i   i   g      à?c         C` sD   x= |  j  D]2 \ } } } t j | | ƒ } t | d | ƒ q
 Wd  S(   Ni    (   R   R	   t#   unconstrain_stationary_multivariateR   (   R   RK   Ry   RJ   R   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   £  s    g      @g      @(   R   R   R   R   R(   R   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR~   ™  s   ?Kt   TestStationaryMultivariatec           B` s  e  Z e j d  g g ƒ e j d g g ƒ e j d g g ƒ e j d g g ƒ e j d  g g ƒ g e j d d g g ƒ e j d g g ƒ e j d g g ƒ g e j d d g d d	 g g ƒ e j d d
 g d d g g ƒ g e j d d d d
 g d d	 d d g g ƒ g	 Z e j d  g g ƒ e j d g g ƒ e j d g g ƒ e j d  g g ƒ g e j d d g g ƒ e j d g g ƒ e j d g g ƒ g e j d d g d d g g ƒ e j d d g d d g g ƒ g e j d d d d g d d d d g g ƒ g Z d „  Z RS(   i    gš™™™™™¹?g      à¿g+‡ÙÎ÷ï?gš™™™™™é?gš™™™™™É¿g333333Ó?g{®Gáz„?gq=
×£pÍ¿g333333Ã?g¸…ëQ¸ž?gš™™™™™©?g333333Ó¿gö(\Â5DÀg°rh‘í|¿?id   i2   i   i   iéÿÿÿi   i
   g      à?iâÿÿÿc         C` s6  x“ |  j  D]ˆ } t | ƒ t k r? t j | d j d ƒ } n t j | j d ƒ } t j | | ƒ \ } } t j | | ƒ \ } } t	 | | ƒ q
 Wx™ |  j
 D]Ž } t | ƒ t k rÕ t j | d j d ƒ } n t j | j d ƒ } t j | | ƒ \ } } t j | | ƒ \ } } t	 | | d d ƒq  Wd  S(   Ni    RZ   g-Cëâ6?(   RO   Rs   Rt   R   R(   R)   R	   R   Rq   R   RP   (   R   RK   Rz   RJ   R{   RQ   RR   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR   À  s    (   R   R   R   R   RO   RP   R   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyR€   ª  s   $$'!06'?0c          C` ss  d }  d } d } t  j | |  f ƒ } t  j | | |  f ƒ } t  j d d d g d d d g d	 d
 d g g ƒ d  d  … d  d  … t  j f | d  d  … d  d  … d  d  … f <| j ƒ  } d | d <t  j d d d g d	 d
 d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d … d f <t  j d	 d
 d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d  d … d  d  … d f <d | d <d | d <t  j d d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d d  d  … d f <d | d <t  j d d d g d	 d
 d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d <t  j d d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <t  j | ƒ } t  j | j t  j ƒ ƒ } t j	 | | t
 t t d t
 ƒt | | ƒ d  S(   Ni   i   i   i   i   i   i   i   i   i    i!   i   i    i   i   t   inplace(   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   t   zerosR   t   newaxist   copyt   asfortranarrayt   astypet   int32R	   t   reorder_missing_matrixR3   R8   R   (   t   nobst   k_endogt   k_statest   missingt   givenR5   R4   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_reorder_matrix_rowsÖ  sR    P
..

.
.
.c          C` sÇ  d }  d } d } t  j | |  f ƒ } t  j | | |  f ƒ } t  j d d d g d d d g d	 d
 d g g ƒ d  d  … d  d  … t  j f | d  d  … d  d  … d  d  … f <| j ƒ  } d | d <t  j d d d g d d d g d
 d d g g ƒ d  d  … d  d  … t  j f | d  d  … d  d  … d  d  … f <d | d  d  … d d f <d | d  d … d f <t  j d d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d  d  … d  d … d f <d | d <d | d <t  j d d d g d d d g d
 d d g g ƒ | d  d  … d  d  … d f <d | d  d  … d d f <d | d  d  … d d f <d | d <t  j d d d g d d d g d	 d d g g ƒ | d  d  … d  d  … d f <d | d  d  … d d f <d | d <t  j d d d g d d d g d	 d
 d g g ƒ | d  d  … d  d  … d f <d | d  d  … d d f <t  j | ƒ } t  j | j t  j ƒ ƒ } t j	 | | t
 t t
 d t ƒt | d  d  … d  d  … d f | d  d  … d  d  … d f ƒ d  S(   Ni   i   i   i   i   i   i   i   i   i    i!   i   i    i   i   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   R   Rƒ   R„   R…   R†   R‡   R	   Rˆ   R8   R3   R   (   R‰   RŠ   R‹   RŒ   R   R5   R4   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_reorder_matrix_cols
  sR    P
P.

.
.
.c          C` s	  d }  d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } t  j d d d	 g d
 d d g d d d g g ƒ d  d  … d  d  … t  j f | d  d  … d  d  … d  d  … f <| j ƒ  } t  j d d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d  … d d f <t  j d d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d  d … d  d  … d f <d | d  d  … d  d … d f <t  j d d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d  … d d f <d | d d  d  … d f <d | d  d  … d d f <t  j d d	 d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d  … d d f <t  j d d d g d
 d d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d  … d d f <t  j | ƒ } t  j | j t  j ƒ ƒ } t j	 | | t
 t
 t d t
 ƒt | | ƒ d  S(   Ni   i   i   i    i   i   i   i   i   i   i   i   i   i    i!   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   R   Rƒ   R„   R…   R†   R‡   R	   Rˆ   R3   R8   R   (   R‰   RŠ   RŒ   R   R5   R4   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_reorder_submatrix>  s\    




P.....c          C` sP  d }  d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } t  j d d d g d d d g d d d	 g g ƒ d  d  … d  d  … t  j f | d  d  … d  d  … d  d  … f <| j ƒ  } t  j d d d g d d	 d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d  … d d f <t  j d	 d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d  d … d  d  … d f <d | d  d  … d  d … d f <t  j d d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d  … d d f <d | d d  d  … d f <d | d  d  … d d f <t  j d d d g d d	 d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d  … d d f <t  j d d d g d d d g d d d g g ƒ | d  d  … d  d  … d f <d | d d  d  … d f <d | d  d  … d d f <t  j | j ƒ  ƒ } t  j | j t  j ƒ ƒ } t j	 | | t
 t
 t d
 t
 ƒt | | ƒ t  j | j ƒ  ƒ } t j	 | | t
 t
 t
 d
 t
 ƒt | | ƒ d  S(   Ni   i   i   i    i   i   i   i   i!   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   R   Rƒ   R„   R…   R†   R‡   R	   Rˆ   R3   R8   R   (   R‰   RŠ   RŒ   R   R5   R4   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_reorder_diagonal_submatrixx  sd    




P.....c          C` sX  d }  d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d	 <d | d
 <d | d <d | d <t  j | |  f ƒ } t  j d d d g ƒ d  d  … t  j f | d  d  … d  d  … f <| j ƒ  } d d d g | d  d  … d f <d d d g | d  d  … d f <d d d g | d  d  … d f <d d d g | d  d  … d f <d d d g | d  d  … d f <d d d g | d  d  … d f <d d d g | d  d  … d f <d d d g | d  d  … d f <d d d g | d  d  … d f <d d d g | d  d  … d f <t  j | j ƒ  ƒ } t  j | j t  j ƒ ƒ } t j	 | | d t
 ƒt | | ƒ d  S(   Ni   i   i   i    i   i   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   R   Rƒ   R„   R…   R†   R‡   R	   t   reorder_missing_vectorR3   R   (   R‰   RŠ   RŒ   R   R5   R4   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_reorder_vector¶  s4    




Ac       	   C` sR  d }  d } d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } x\ t |  ƒ D]N } t | t  j | d  d  … | f ƒ ƒ } d | d  | … d  d  … | f <q” Wt  j | | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j	 | | | t
 t t d
 t
 ƒt | | ƒ d  S(   Ni   i   i   i   i    i   g      ð?t   ordert   FR   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   t   intt   sumR…   R†   R‡   R	   t   copy_missing_matrixR3   R8   R   (   R‰   RŠ   R‹   RŒ   t   At   tt   nt   B(    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_copy_missing_matrix_rows×  s$    




)#"c       	   C` sR  d }  d } d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } x\ t |  ƒ D]N } t | t  j | d  d  … | f ƒ ƒ } d | d  d  … d  | … | f <q” Wt  j | | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j	 | | | t
 t t
 d
 t ƒt | | ƒ d  S(   Ni   i   i   i   i    i   g      ð?R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   R–   R—   R…   R†   R‡   R	   R˜   R8   R3   R   (   R‰   RŠ   R‹   RŒ   R™   Rš   R›   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_copy_missing_matrix_colsï  s$    




)#"c       	   C` sL  d }  d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } x\ t |  ƒ D]N } t | t  j | d  d  … | f ƒ ƒ } d | d  | … d  | … | f <qŽ Wt  j | | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j	 | | | t
 t
 t d
 t
 ƒt | | ƒ d  S(   Ni   i   i   i    i   i   g      ð?R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   R–   R—   R…   R†   R‡   R	   R˜   R3   R8   R   (   R‰   RŠ   RŒ   R™   Rš   R›   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_copy_missing_submatrix  s"    




)#"c       	   C` s¢  d }  d } t  j | |  f ƒ } d | d
 <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } xe t |  ƒ D]W } t | t  j | d  d  … | f ƒ ƒ } t  j | ƒ | d  | … d  | … | f <qŽ Wt  j | | |  f d d ƒ} t  j | j t  j ƒ ƒ } t	 j
 | | | t t t d	 t ƒt | | ƒ t  j | | |  f d d ƒ} t	 j
 | | | t t t d	 t ƒt | | ƒ d  S(   Ni   i   i   i    i   i   R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   R–   R—   R(   R…   R†   R‡   R	   R˜   R3   R8   R   (   R‰   RŠ   RŒ   R™   Rš   R›   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt$   test_copy_missing_diagonal_submatrix  s(    




),""c          C` s4  d }  d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | |  f ƒ } xS t |  ƒ D]E } t | t  j | d  d  … | f ƒ ƒ } d | d  | … | f <q‹ Wt  j | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j	 | | | d
 t
 ƒt | | ƒ d  S(   Ni   i   i   i    i   i   g      ð?R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   R–   R—   R…   R†   R‡   R	   t   copy_missing_vectorR3   R   (   R‰   RŠ   RŒ   R™   Rš   R›   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_copy_missing_vector9  s"    




)c       	   C` sM  d }  d } d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } xW t |  ƒ D]I } x@ t | ƒ D]2 } | | | f r§ d | | d  d  … | f <q§ q§ Wq” Wt  j | | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j | | | t t	 t	 d
 t ƒt
 | | ƒ d  S(   Ni   i   i   i   i    i   g      ð?R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   R…   R†   R‡   R	   t   copy_index_matrixR3   R8   R   (   R‰   RŠ   R‹   t   indexR™   Rš   R|   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_copy_index_matrix_rowsP  s&    




$"c       	   C` sM  d }  d } d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } xW t |  ƒ D]I } x@ t | ƒ D]2 } | | | f r§ d | d  d  … | | f <q§ q§ Wq” Wt  j | | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j | | | t t	 t d
 t	 ƒt
 | | ƒ d  S(   Ni   i   i   i   i    i   g      ð?R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   R…   R†   R‡   R	   R£   R8   R3   R   (   R‰   RŠ   R‹   R¤   R™   Rš   R|   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_copy_index_matrix_colsi  s&    




$"c       	   C` s`  d }  d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } xp t |  ƒ D]b } xY t | ƒ D]K } | | | f r¡ d | | d  d  … | f <d | d  d  … | | f <q¡ q¡ WqŽ Wt  j | | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j | | | t t t	 d
 t ƒt
 | | ƒ d  S(   Ni   i   i   i    i   i   g      ð?R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   R…   R†   R‡   R	   R£   R3   R8   R   (   R‰   RŠ   R¤   R™   Rš   R|   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_copy_index_submatrix‚  s&    




$"c       	   C` sŽ  d }  d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | | |  f ƒ } xQ t |  ƒ D]C } x: t | ƒ D], } | | | f r¡ d | | | | f <q¡ q¡ WqŽ Wt  j | | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j | | | t t t	 d
 t ƒt
 | | ƒ t  j | | |  f d d	 ƒ} t j | | | t t t d
 t ƒt
 | | ƒ d  S(   Ni   i   i   i    i   i   g      ð?R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (   R   R‚   Ru   R…   R†   R‡   R	   R£   R3   R8   R   (   R‰   RŠ   R¤   R™   Rš   R|   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt"   test_copy_index_diagonal_submatrix›  s*    




""c          C` s/  d }  d } t  j | |  f ƒ } d | d <d | d  d … d f <d | d <d | d <d | d <d | d <t  j | |  f ƒ } xN t |  ƒ D]@ } x7 t | ƒ D]) } | | | f rž d | | | f <qž qž Wq‹ Wt  j | |  f d d	 ƒ} t  j | j t  j ƒ ƒ } t j | | | d
 t ƒt	 | | ƒ d  S(   Ni   i   i   i    i   i   g      ð?R”   R•   R   (   i    i    (   i    i   (   i   i   (   i   i   (   i   i   (
   R   R‚   Ru   R…   R†   R‡   R	   t   copy_index_vectorR3   R   (   R‰   RŠ   R¤   R™   Rš   R|   Rœ   (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   test_copy_index_vector·  s$    




(5   t   __doc__t
   __future__R    R   R   R@   t   numpyR   t   numpy.testingR   R   R   R   R   t   pandasR   t   scipy.linalgR   t   statsmodels.tsa.statespaceR	   t   statsmodels.tsa.apiR
   t   objectR   R   R%   R:   RE   RH   RL   RN   RS   RX   Rh   Ro   Rp   R~   R€   RŽ   R   R   R‘   R“   R   Rž   RŸ   R    R¢   R¥   R¦   R§   R¨   Rª   (    (    (    sJ   lib/python2.7/site-packages/statsmodels/tsa/statespace/tests/test_tools.pyt   <module>   sL   (.C 	<	&,	4	4	:	>	!									