
    >qj                        d dl Zd dlmZmZmZ d dlmZ d dlZd dlm	Z	 d dl
mZ ej                  ej                  ej                  ej                  ej                   ej"                  ej$                  ej&                  ej(                  ej*                  ej,                  ej.                  ej0                  fZeej4                  j7                  d      d               Zej4                  j;                  de      d	        Zeej4                  j;                  de      d
               Zeej4                  j7                  d      d               Z d Z!d Z"d Z#d Z$d Z%y)    N)	bandwidthissymmetricishermitian)skip_xp_invalid_arg)raises)assert_equalzignore::DeprecationWarningc            	         d} t         D ]$  }t        t        j                  | | g|            }& t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g	}|D ].  }t        t        t        t        j                  | | g|             0 y )N   dtype)BANDWIDTH_DTYPESr   npzerosfloat16
longdoubleclongdoublebytes_str_voidobject_
datetime64timedelta64r   	TypeError)ndt_unsupported_dtypess       m/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/scipy/linalg/tests/test_cythonized_array_utils.pytest_bandwidth_dtypesr      s     	
A 2bhh1vR012 **bmmR^^))RWWbggrzz--9 ! Ay)RXXq!fB%?@A    Tc                    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 t        j                  g dg dg dg dg dg d	g d
g d
g      }t        |      dk(  sJ t        j                  g dg dg dgg dg dg dgg dg dg dgg dg dg dgg dg dg dgg      }t        |      \  }}t        |g d       t        |g d       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      Fr   order   )r(   r(   r   r   r   r   r   r   )r(   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r(   r(   r(   )r   r   r   r   r   r(   r   r   )   r)   )r(   r   r   )r   r(   r   )r   r   r(   )r   r   r   )r   r(           )r   r   r)   r)   r(   )r   r)   r   r)   r)   )r   r   ranger   arrayr   )r!   r   kRxAlohis           r   test_bandwidth_square_inputsr3      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!!!
        	 		A Q<6!!!
	9-	9-	9-	9-	:.	
	A q\FB_%_%9 27 7 7s/   	G 	G
&	G
?	G
	G8	G
	G1	G#
c                    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 t        j                  t        j
                  d|             }t        |      \  }}t        |ddg       t        |d	d	g       t        j                  t        j
                  d|             }	t        |	      \  }}t        |d	d	g       t        |ddg       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)   r5   r)   r   	   r   )r   r   r+   r   trilonesr   triu)
r!   r   mr-   r.   r/   R2r1   r2   R3s
             r   test_bandwidth_rect_inputsr=   D   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!!!	1-	.Br]FBaVaV	1-	.Br]FBaVaV 27 7 7s/   	F=		G
)	G	G
 	G;	G
	G4	G 
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 )Nr
   Allr   eUVOMmG)r   	typecodesr   r   r   r   r   )r   tr0   s      r   "test_issymetric_ishermitian_dtypesrD   \   sv     	
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 )N)r(   r)      )r$   r
      )r   r,   r   
ValueErrorr   r   r0   s    r   *test_issymmetric_ishermitian_invalid_inputrJ   l   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(   r5   rF   r
                 ?)r   arangeastypecomplexreshapepir!   r   rI   s    r    test_issymetric_complex_decimalsrT   x   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 rL   )	r   rO   rP   rQ   rR   rS   r!   conjr   rI   s    r   !test_ishermitian_complex_decimalsrW      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绽|=atolr*   r_   rtol-q=vIh%<=)r   randomRandomStateuniformr!   standard_normalr   r   rngr/   ypzs         r   $test_issymmetric_approximate_resultsrm      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:rY   rZ   rN   r]   r^   r*   r`   rb   rc   )r   rd   re   rf   r!   rg   rV   r   rh   s         r   $test_ishermitian_approximate_resultsro      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   scipy.conftestr   pytestr   numpy.testingr   boolint8int16int32int64uint8uint16uint32uint64float32float64	complex64
complex128r   markfilterwarningsr   parametrizer3   r=   rD   rJ   rT   rW   rm   ro    r    r   <module>r      s?    < < .   & GGGGRXXrxxHHbiiBIIJJ

LL"--  89	A : 	A ./!& 0!&H ./ 0 , 89" : "	'
2
2r    