
    ^Mh                     T    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dS )z3Test functions for linalg.matmul_toeplitz function
    N)toeplitzmatmul_toeplitz)raises)assert_allclosec                   4    e Zd Zd Zd Zd Zd Zd Zd	dZdS )
TestMatmulToeplitzc                 \    t           j                            d          | _        d| _        d S )N*   g7QE=)nprandomRandomStaterng	tolerance)selfs    g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/linalg/tests/test_matmul_toeplitz.pysetup_methodzTestMatmulToeplitz.setup_method   s$    9((,,     c                 J	    g }d} j                             |          } j                             |          } j                             |df          }|                    |||df           d} j                             |          } j                             |          } j                             |df          }|                    |||df           d} j                             |          } j                             |          } j                             |df          }|                    |||df           d} j                             |          } j                             |          } j                             |df          }|                    |||df           d} j                             |          } j                             |          } j                             | j                             dd	          f          }|                    |||df           d} j                             |df          } j                             |df          } j                             | j                             dd	          f          }|                    |||df           d} j                             |df          }d } j                             | j                             dd	          f          }|                    |||dd
f           d} j                             |df          }d } j                             |          }|                    |||df           d} j                             |          } j                             |dz
            } j                             |dz
  df          }|                    |||df           d} j                             |          } j                             |dz            } j                             |dz   j                             dd	          f          }|                    |||df            fd|D              d S )N   sizeF   e   Ti  d   
         c                 $    g | ]} j         | S  )do).0ir   s     r   
<listcomp>z0TestMatmulToeplitz.test_real.<locals>.<listcomp>P   s!    $$$!$$$r   )r   normalappendrandint)r   casesncrxs   `     r   	test_realzTestMatmulToeplitz.test_real   sL   HOOO##HOOO##HOO!QO((aAu%&&&HOOO##HOOO##HOO!QO((aAu%&&&HOOO##HOOO##HOO!QO((aAt_%%%HOOO##HOOO##HOO!QO((aAu%&&&HOOO##HOOO##HOO!TX%5%5a%<%<!=O>>aAu%&&&HOO!QO((HOO!QO((HOO!TX%5%5a%<%<!=O>>aAt_%%%HOO!QO((HOO!TX%5%5a%<%<!=O>>aAtR()))HOO!QO((HOOO##aAu%&&&HOOO##HOO2O&&HOO!B$O++aAt_%%%HOOO##HOOAO&&HOO!Q$(8(8B(?(?!@OAAaAt_%%%$$$$e$$$$$$r   c                 n   d}| j                             |df          | j                             |df          dz  z   }| j                             |df          | j                             |df          dz  z   }| j                             |df          | j                             |df          dz  z   }|                     |||d           d}| j                             |df          | j                             |df          dz  z   }| j                             |dz  df          | j                             |dz  df          dz  z   }| j                             |dz  df          | j                             |dz  df          dz  z   }|                     |||d           d S )	N   r   r   y              ?   Fr   r   )r   r%   r!   r   r)   r*   r+   r,   s        r   test_complexzTestMatmulToeplitz.test_complexR   s   HOO!QO((48??A?+G+G+JJHOO!QO((48??A?+G+G+JJHOO!QO((48??A?+G+G+JJ1aHOO!QO((48??A?+G+G+JJHOO!Q$O++HOO!Q$O++B./HOO!Q$O++HOO!Q$O++B./1ar   c                     g }g }g }|                      |||d           t          j        d          }|                      |||d           d S )NF)r   r   )r!   r   empty)r   r*   r+   r,   s       r   
test_emptyzTestMatmulToeplitz.test_emptya   sV    1aHV1ar   c                    d}| j                             |          }| j                             d|z            }| j                             |          }t          t          t          ||f|d           d}| j                             |          }| j                             |          }| j                             |dz
            }t          t          t          ||f|d           d}| j                             |          }| j                             |dz            }| j                             |dz  dz
            }t          t          t          ||f|d           d S )Nr   r   r   Tr   )r   r%   assert_raises
ValueErrorr   r1   s        r   test_exceptionsz"TestMatmulToeplitz.test_exceptionsj   s6   HOOO##HOO1O%%HOOO##j/Aq61dCCCHOOO##HOOO##HOO1O%%j/Aq61dCCCHOOO##HOOAO&&HOOAaO((j/Aq61dCCCCCr   NFc                    t          j        |          }|t          ||||          }n't          j        |          }t          ||f||          }t          ||          |z  }t	          ||| j        | j                   d S )N)rtolatol)r   ravelr   r   r   r   )r   r,   r*   r+   check_finiteworkersactualdesireds           r   r!   zTestMatmulToeplitz.do   s    HQKK9$Q<AAFFA$aVQ==F1a..1$dn	6 	6 	6 	6 	6 	6r   )NFN)	__name__
__module____qualname__r   r-   r2   r5   r9   r!   r    r   r   r   r      sw        ! ! !?% ?% ?%B          D D D*	6 	6 	6 	6 	6 	6r   r   )__doc__numpyr   scipy.linalgr   r   pytestr   r7   numpy.testingr   r   r    r   r   <module>rJ      s         2 2 2 2 2 2 2 2 * * * * * * ) ) ) ) ) )}6 }6 }6 }6 }6 }6 }6 }6 }6 }6r   