
    xf                      |   d dl Zd dlmZmZmZ d dlZd dlmZ d Zd Z	ej                  j                  dej                  d   D  cg c]  } | dvr| 
 c}       d	        Zej                  j                  dej                  d   D  cg c]  } | dvr| 
 c}       d
        Zd Zd Zd Zd Zd Zd Zyc c} w c c} w )    N)	bandwidthissymmetricishermitian)raisesc                      d} t         j                  d   D ]F  }t        j                  | | g|      }|dv rt        t        t
        |       6|dk(  r<t        |      }H y N   All)dtypeeUVOMmG)np	typecodeszerosr   	TypeErrorr   )ntA_s       P/usr/lib/python3/dist-packages/scipy/linalg/tests/test_cythonized_array_utils.pytest_bandwidth_dtypesr      sY    	A\\%  HHaV1%=9i+#X!A    c                      t        j                  g d      } t        t        t        |        t        j                  g dg dgg      } t        t        t        |        y N)         )   r	      )r   arrayr   
ValueErrorr   r   s    r   test_bandwidth_non2d_inputr#      s>    
A
:y!$
9i()*A
:y!$r   Tr
   eGUVOMmc                 t   d}d}t        j                  ||g| d      }d|t        |      D cg c]  }| c}t        |      D cg c]  }| c}f<   d|t        ||z
        D cg c]  }| c}t        ||      D cg c]  }| c}f<   d|t        d|      D cg c]  }| c}t        |dz
        D cg c]  }| c}f<   d|t        ||      D cg c]  }| c}t        ||z
        D cg c]  }| c}f<   t        |      ||fk(  sJ y c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )N   r   Fr   orderr   r   r   ranger   )r$   r   kRxs        r   test_bandwidth_square_inputsr0      s    	A	A
!Qq,A67A%(Qqq2Aa223;<A%!*Qq5A;7a778;<A%1+QqE!A#J 7q 778;<A%1+QqE!A#J 7q 778Q<Aq6!!!	 27 7 7s/   	D	D
&	D?	D!
	D&8	D+
	D01	D5
c                 z   d\  }}d}t        j                  ||g| d      }d|t        |      D cg c]  }| c}t        |      D cg c]  }| c}f<   d|t        ||z
        D cg c]  }| c}t        ||      D cg c]  }| c}f<   d|t        d|      D cg c]  }| c}t        |dz
        D cg c]  }| c}f<   d|t        ||      D cg c]  }| c}t        ||z
        D cg c]  }| c}f<   t        |      ||fk(  sJ y c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )N)
   r'   r	   r(   r)   r   r+   )r$   r   mr-   r.   r/   s         r   test_bandwidth_rect_inputsr4   (   s    DAq	A
!Qq,A67A%(Qqq2Aa223;<A%!*Qq5A;7a778;<A%1+QqE!A#J 7q 778;<A%1+QqE!A#J 7q 778Q<Aq6!!!	 27 7 7s/   	D		D
)	D	D$
 	D);	D.
	D34	D8
c                     d} t         j                  d   D ]j  }t        j                  | | g|      }|dv r+t        t        t
        |       t        t        t        |       K|dk(  rQt        |      sJ t        |      rjJ  y r   )r   r   r   r   r   r   r   )r   r   r   s      r   "test_issymetric_ishermitian_dtypesr6   6   st    	A\\%  	"HHaV1%=9k1-9k1-#Xq>!>q>!>	"r   c                     t        j                  g d      } t        t        t        |        t        t        t
        |        t        j                  g dg dgg      } t        t        t        |        t        t        t
        |        t        j                  g dg dg      } t        t        t        |        t        t        t
        |        y r   )r   r    r   r!   r   r   r"   s    r   *test_issymmetric_ishermitian_invalid_inputr8   D   s    
A
:{A&
:{A&
9i()*A
:{A&
:{A&
)Y'(A
:{A&
:{A&r   c                  R   t        j                  dd      j                  t              j	                  dd      } | t        j                  dd      j                  t              j	                  dd      dz  z  } | t         j
                  z  } | | j                  z   } t        |       sJ y Nr   r2   r   r	                 ?)r   arangeastypecomplexreshapepir$   r   r"   s    r    test_issymetric_complex_decimalsrB   P   s    
		!R(00A6A2q		 	 	)	1	1!Q	7	::AJA	ACCAq>>r   c                  n   t        j                  dd      j                  t              j	                  dd      } | t        j                  dd      j                  t              j	                  dd      dz  z  } | t         j
                  z  } | | j                  j                         z   } t        |       sJ y r:   )	r   r=   r>   r?   r@   rA   r$   conjr   r"   s    r   !test_ishermitian_complex_decimalsrE   Y   s    
		!R(00A6A2q		 	 	)	1	1!Q	7	::AJA	ACCHHJAq>>r   c                  V   d} t         j                  j                  d      }|j                  d| | g      }||j                  z  }|j                  | | g      }||z  |j                  z  }t        |d      sJ t        |dd      sJ t        |dd	      sJ t        |d
d	      sJ y )Nr'   i[      @highsize绽|=atol        rM   rtol-q=vIh%<=)r   randomRandomStateuniformr$   standard_normalr   r   rngr/   ypzs         r   $test_issymmetric_approximate_resultsr\   b   s    
A
))

	
*C1a&)A	ACCAQF#A	AAqu%%%qu2...qr...qu5111r   c                     d} t         j                  j                  d      }|j                  d| | g      }||j                  z  }|j                  | | g      |j                  | | g      dz  z   }||z  |j                         j                  z  }t        |d      sJ t        |dd	      sJ t        |dd
	      sJ t        |dd
	      sJ y )Nr'   ih:rG   rH   r<   rK   rL   rN   rO   rQ   rR   )r   rS   rT   rU   r$   rV   rD   r   rW   s         r   $test_ishermitian_approximate_resultsr^   o   s    
A
))

	
*C1a&)A	ACCAQF#c&9&91a&&A"&DDA	A

Aqu%%%qu2...qr...qu5111r   )numpyr   scipy.linalgr   r   r   pytestr   r   r#   markparametrizer   r0   r4   r6   r8   rB   rE   r\   r^   )r/   s   0r   <module>rd      s     < <  	% ",,u*= 6Q"#9"4  ! 6 7	"7	" ",,u*= 6Q"#9"4  ! 6 7	"7	""	'
2
2k66s   B4
B9
