
    tKg                     L    d Z ddlZddlmZmZ ddlmZ ddl	m
Z
  G d d      Zy)z3Test functions for linalg.matmul_toeplitz function
    N)toeplitzmatmul_toeplitz)raises)assert_allclosec                   2    e Zd Zd Zd Zd Zd Zd ZddZy)	TestMatmulToeplitzc                 Z    t         j                  j                  d      | _        d| _        y )N*   g7QE=)nprandomRandomStaterng	tolerance)selfs    k/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/linalg/tests/test_matmul_toeplitz.pysetup_methodzTestMatmulToeplitz.setup_method   s    99((,     c                 ^	   g }d}| j                   j                  |      }| j                   j                  |      }| j                   j                  |df      }|j                  |||df       d}| j                   j                  |      }| j                   j                  |      }| j                   j                  |df      }|j                  |||df       d}| j                   j                  |      }| j                   j                  |      }| j                   j                  |df      }|j                  |||df       d}| j                   j                  |      }| j                   j                  |      }| j                   j                  |df      }|j                  |||df       d}| j                   j                  |      }| j                   j                  |      }| j                   j                  || j                   j                  dd	      f      }|j                  |||df       d}| j                   j                  |df      }| j                   j                  |df      }| j                   j                  || j                   j                  dd	      f      }|j                  |||df       d}| j                   j                  |df      }d }| j                   j                  || j                   j                  dd	      f      }|j                  |||dd
f       d}| j                   j                  |df      }d }| j                   j                  |      }|j                  |||df       d}| j                   j                  |      }| j                   j                  |dz
        }| j                   j                  |dz
  df      }|j                  |||df       d}| j                   j                  |      }| j                   j                  |dz        }| j                   j                  |dz  | j                   j                  dd	      f      }|j                  |||df       |D cg c]  } | j                  |  c} y c c}w )N   sizeF   e   Ti  d   
         )r   normalappendrandintdo)r   casesncrxis          r   	test_realzTestMatmulToeplitz.test_real   s   HHOOO#HHOOO#HHOO!QO(aAu%&HHOOO#HHOOO#HHOO!QO(aAu%&HHOOO#HHOOO#HHOO!QO(aAt_%HHOOO#HHOOO#HHOO!QO(aAu%&HHOOO#HHOOO#HHOO!TXX%5%5a%<!=O>aAu%&HHOO!QO(HHOO!QO(HHOO!TXX%5%5a%<!=O>aAt_%HHOO!QO(HHOO!TXX%5%5a%<!=O>aAtR()HHOO!QO(HHOOO#aAu%&HHOOO#HHOO2O&HHOO!B$O+aAt_%HHOOO#HHOOAO&HHOO!Q$(8(8B(?!@OAaAt_%#$e!e$$s   R*c                 t   d}| j                   j                  |df      | j                   j                  |df      dz  z   }| j                   j                  |df      | j                   j                  |df      dz  z   }| j                   j                  |df      | j                   j                  |df      dz  z   }| j                  |||d       d}| j                   j                  |df      | j                   j                  |df      dz  z   }| j                   j                  |dz  df      | j                   j                  |dz  df      dz  z   }| j                   j                  |dz  df      | j                   j                  |dz  df      dz  z   }| j                  |||d       y )	N   r   r   y              ?   Fr   r   )r   r   r"   r   r$   r%   r&   r'   s        r   test_complexzTestMatmulToeplitz.test_complexR   s   HHOO!QO(488??A?+G+JJHHOO!QO(488??A?+G+JJHHOO!QO(488??A?+G+JJ1aHHOO!QO(488??A?+G+JJHHOO!Q$O+HHOO!Q$O+B./HHOO!Q$O+HHOO!Q$O+B./1ar   c                     g }g }g }| j                  |||d       t        j                  d      }| j                  |||d       y )NF)r   r   )r"   r   empty)r   r%   r&   r'   s       r   
test_emptyzTestMatmulToeplitz.test_emptya   sC    1aHHV1ar   c                    d}| j                   j                  |      }| j                   j                  d|z        }| j                   j                  |      }t        t        t        ||f|d       d}| j                   j                  |      }| j                   j                  |      }| j                   j                  |dz
        }t        t        t        ||f|d       d}| j                   j                  |      }| j                   j                  |dz        }| j                   j                  |dz  dz
        }t        t        t        ||f|d       y )Nr   r   r   Tr   )r   r   assert_raises
ValueErrorr   r-   s        r   test_exceptionsz"TestMatmulToeplitz.test_exceptionsj   s   HHOOO#HHOO1O%HHOOO#j/Aq61dCHHOOO#HHOOO#HHOO1O%j/Aq61dCHHOOO#HHOOAO&HHOOAaO(j/Aq61dCr   Nc                     |t        ||||      }nt        ||f||      }t        ||      |z  }t        ||| j                  | j                         y )N)rtolatol)r   r   r   r   )r   r'   r%   r&   check_finiteworkersactualdesireds           r   r"   zTestMatmulToeplitz.do   sR    9$Q<AF$aVQ=F1a.1$dnn	6r   )NFN)	__name__
__module____qualname__r   r)   r.   r1   r5   r"    r   r   r   r      s"    !?%B  D*6r   r   )__doc__numpyr   scipy.linalgr   r   pytestr   r3   numpy.testingr   r   r@   r   r   <module>rF      s$     2 * ){6 {6r   