Ë
    âQ(hž-  ã                   ó²   — d Z ddlZddlmZmZmZ ddlmZ	 ddl
mZmZ ddlmZ ddlmZ ddlmZ d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)z9
Unit test for Linear Programming via Simplex Algorithm.
é    N)Úassert_Úassert_allcloseÚassert_equal)Úraises)Ú_clean_inputsÚ
_LPProblem)ÚVisibleDeprecationWarning)Údeepcopy)Údatec            	      ó@  — t        ddggdgdggdgt        j                   t        j                  f¬«      } t        | «      }t	        | «       t        | j                  |j                  k(  d«       t        | j                  |j                  k(  d«       t        | j                  |j                  k(  d«       t        | j                  |j                  k(  d«       t        | j                  |j                  k(  d«       t        | j                  |j                  k(  d«       y	)
zº
    Test for ensuring that no objects referred to by `lp` attributes,
    `c`, `A_ub`, `b_ub`, `A_eq`, `b_eq`, `bounds`, have been modified
    by `_clean_inputs` as a side effect.
    é   ©ÚcÚA_ubÚb_ubÚA_eqÚb_eqÚboundsúc modified by _clean_inputsúA_ub modified by _clean_inputsúb_ub modified by _clean_inputsúA_eq modified by _clean_inputsúb_eq modified by _clean_inputsú bounds modified by _clean_inputsN)r   ÚnpÚinfr
   r   r   r   r   r   r   r   r   ©ÚlpÚlp_copys     úm/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/optimize/tests/test__linprog_clean_inputs.pyÚtest_aliasingr!      sÞ   € ô 
Ø
ØˆcˆUØˆSØˆcˆUØˆSÜ—‘�œŸ™Ð ô
€Bô �r‹l€Gä�"ÔäˆB�D‰D�G—I‘IÑÐ<Ô=ÜˆB�G‰G�w—|‘|Ñ#Ð%EÔFÜˆB�G‰G�w—|‘|Ñ#Ð%EÔFÜˆB�G‰G�w—|‘|Ñ#Ð%EÔFÜˆB�G‰G�w—|‘|Ñ#Ð%EÔFÜˆB�I‰I˜Ÿ™Ñ'Ð)KÕLó    c            	      ó  — t        t        j                  ddg«      t        j                  ddgddgg«      t        j                  dgdgg«      t        j                  ddgg«      t        j                  dg«      t        j                   t        j                  fdg¬«      } t	        | «      }t        | «       t        | j                  |j                  d¬«       t        | j                  |j                  d¬«       t        | j                  |j                  d¬«       t        | j                  |j                  d	¬«       t        | j                  |j                  d
¬«       t        | j                  |j                  k(  d«       y)z3
    Similar purpose as `test_aliasing` above.
    r   é   ©Nr   r   r   )Úerr_msgr   r   r   r   r   N)r   r   Úarrayr   r
   r   r   r   r   r   r   r   r   r   r   s     r    Útest_aliasing2r(   '   s  € ô 
Ü
�(‰(�A�q�6Ó
Ü�X‰X˜˜1�v  1˜vÐ&Ó'Ü�X‰X˜�s˜Q˜C�jÓ!Ü�X‰X˜˜1�v�hÓÜ�X‰X�q�c‹]Ü—&‘&�œ"Ÿ&™&Ð! 9Ð-ô
€Bô �r‹l€Gä�"Ôä�B—D‘D˜'Ÿ)™)Ð-JÕKÜ�B—G‘G˜WŸ\™\Ð3SÕTÜ�B—G‘G˜WŸ\™\Ð3SÕTÜ�B—G‘G˜WŸ\™\Ð3SÕTÜ�B—G‘G˜WŸ\™\Ð3SÕTÜˆB�I‰I˜Ÿ™Ñ'Ð)KÕLr"   c            	      óB  — ddg} t        j                  ddgddgg«      }t        j                  ddg«      }t        j                  ddgddgg«      }t        j                  ddg«      }t        t        t        «       t        t        t        t        d ¬«      «       t        t        t        t        | |¬«      «       t        t        t        t        | |d ¬«      «       t        t        t        t        | |¬«      «       t        t        t        t        | d |¬«      «       t        t        t        t        | |¬«      «       t        t        t        t        | |d ¬«      «       t        t        t        t        | |¬	«      «       t        t        t        t        | d |¬«      «       y )
Nr   r$   ©r   )r   r   ©r   r   r   )r   r   )r   r   ©r   r   r   )r   r   )r   r'   Úassert_raisesÚ	TypeErrorr   r   Ú
ValueError)r   r   r   r   r   s        r    Útest_missing_inputsr0   ?   s   € Ø	
ˆAˆ€AÜ�8‰8�a˜�V˜a ˜VÐ$Ó%€DÜ�8‰8�Q˜�FÓ€DÜ�8‰8�a˜�V˜a ˜VÐ$Ó%€DÜ�8‰8�Q˜�FÓ€Dä”)œ]Ô+Ü”)œ]¬J¸Ô,>Ô?Ü”*œm¬Z¸!À$Ô-GÔHÜ”*œm¬Z¸!À$ÈTÔ-RÔSÜ”*œm¬Z¸!À$Ô-GÔHÜ”*œm¬Z¸!À$ÈTÔ-RÔSÜ”*œm¬Z¸!À$Ô-GÔHÜ”*œm¬Z¸!À$ÈTÔ-RÔSÜ”*œm¬Z¸!À$Ô-GÔHÜ”*œm¬Z¸!À$ÈTÔ-RÕSr"   c            	      óè  — g d¢} t         j                  j                  dd«      }ddgddgg}t         j                  j                  ddd«      }t        t        t
        t        ||| ¬«      «       t        t        t
        t        | || ¬«      «       t        t        t
        t        | ||¬«      «       t        t        t
        t        | || ¬«      «       t        t        t
        t        | ||¬«      «       y )N©r   r$   é   é   r4   r   r$   r3   r+   r,   )r   ÚrandomÚrandr-   r/   r   r   )ÚcbÚAÚbad2DÚbad3Ds       r    Útest_too_many_dimensionsr;   R   s¬   € Ú	€BÜ
�	‰	�‰�q˜!Ó€AØ�ˆV�a˜�VÐ€EÜ�I‰I�N‰N˜1˜a Ó#€EÜ”*œm¬Z¸%ÀaÈbÔ-QÔRÜ”*œm¬Z¸"À5ÈrÔ-RÔSÜ”*œm¬Z¸"À1È5Ô-QÔRÜ”*œm¬Z¸"À5ÈrÔ-RÔSÜ”*œm¬Z¸"À1È5Ô-QÕRr"   c            	      ó"  — t         j                  j                  dd«      j                  «       } t         j                  j                  d«      }t	        t
        t        t        || |¬«      «       t	        t
        t        t        || |¬«      «       y )Nr4   r+   r,   )r   r5   r6   Úravelr-   r/   r   r   )Úbadr7   s     r    Útest_too_few_dimensionsr?   ^   s[   € Ü
�)‰)�.‰.˜˜AÓ
×
$Ñ
$Ó
&€CÜ	�‰�‰˜Ó	€BÜ”*œm¬Z¸"À3ÈRÔ-PÔQÜ”*œm¬Z¸"À3ÈRÔ-PÕQr"   c                  ó`  — d} d}g d¢}t         j                  j                  | |«      }t         j                  j                  | |dz   «      }t         j                  j                  | «      }t         j                  j                  | dz   «      }dg|dz   z  }t        t        t
        t        |||¬«      «       t        t        t
        t        |||¬«      «       t        t        t
        t        |||¬«      «       t        t        t
        t        |||¬«      «       t        t        t
        t        ||¬«      «       t         j                  j                  «       5 }|j                  t        d	«       t        t        t
        t        |ddgdd
gd
dgg d¢g¬«      «       d d d «       y # 1 sw Y   y xY w)Nr$   r4   r2   r   ©r   r   r+   r,   )r   r   úCreating an ndarray from raggedr3   )r4   é   é   )r   r5   r6   r-   r/   r   r   ÚtestingÚsuppress_warningsÚfilterr	   )	ÚmÚnr   ÚAgoodÚAbadÚbgoodÚbbadÚ	boundsbadÚsups	            r    Útest_inconsistent_dimensionsrP   e   sC  € Ø	€AØ	€AÚ€Aä�I‰I�N‰N˜1˜aÓ €EÜ�9‰9�>‰>˜!˜Q ™UÓ#€DÜ�I‰I�N‰N˜1Ó€EÜ�9‰9�>‰>˜!˜a™%Ó €DØ�˜A ™EÑ"€IÜ”*œm¬Z¸!À$ÈUÔ-SÔTÜ”*œm¬Z¸!À%ÈdÔ-SÔTÜ”*œm¬Z¸!À$ÈUÔ-SÔTÜ”*œm¬Z¸!À%ÈdÔ-SÔTÜ”*œm¬Z¸!ÀIÔ-NÔOÜ	�‰×	%Ñ	%Ó	'ð S¨3Ø�
‰
Ô,Ð.OÔPÜ”j¤-Ü  1¨q°!¨f°q¸!°f¸qÀ!¸fÂiÐ-PÔQô	S÷S÷ Sñ Sús   ÅAF$Æ$F-c                  óØ  — t        ddgt        j                  ddgddgg«      t        j                  ddg«      t        j                  ddgddgg«      t        j                  ddg«      dg¬«      } d}t        t        t
        | j                  |¬«      «       t        t        t
        | j                  |¬«      «       t        t        t
        | j                  |¬«      «       t        t        t
        | j                  |¬	«      «       t        t        t
        | j                  |¬
«      «       t        t        t
        | j                  |¬«      «       t        t        t
        | j                  d¬«      «       t        t        t
        | j                  dg¬«      «       t        t        t
        | j                  dg¬«      «       t        t        t
        | j                  dg¬«      «       t        t        t
        | j                  ddg¬«      «       t        t        t
        | j                  dt        ddd«      fg¬«      «       t        t        t
        | j                  ddggg¬«      «       y )Nr   r$   rA   r   Úhellor*   ©r   ©r   ©r   ©r   ©r   Úhi)r   Ú ©r   r$   iä  é   )	r   r   r'   r-   r.   r   Ú_replacer/   r   )r   r>   s     r    Útest_type_errorsr]   z   sÄ  € Ü	Øˆaˆ&Ü�X‰X˜˜1�v  1˜vÐ&Ó'Ü�X‰X�q˜!�fÓÜ�X‰X˜˜1�v  1˜vÐ&Ó'Ü�X‰X�q˜!�fÓØˆxô
€Bð €Cä”)œ]¨B¯K©K¸#¨KÓ,>Ô?Ü”)œ]¨B¯K©K¸S¨KÓ,AÔBÜ”)œ]¨B¯K©K¸S¨KÓ,AÔBÜ”)œ]¨B¯K©K¸S¨KÓ,AÔBÜ”)œ]¨B¯K©K¸S¨KÓ,AÔBä”*œm¨R¯[©[À¨[Ó-DÔEÜ”*œm¨R¯[©[À¨[Ó-EÔFÜ”*œm¨R¯[©[ÀÀ¨[Ó-GÔHÜ”*œm¨R¯[©[À$À¨[Ó-IÔJÜ”*œm¨R¯[©[ÀÀ	¨[Ó-JÔKÜ”*œm¨R¯[©[ÀÈÐ@Q¨[Ó-RÔSÜ”)œ]Ø—+‘+ q¬$¨t°Q¸Ó*;Ð&<Ð%=�+Ó>ô@ä”*œm¨R¯[©[À1ÀaÀ&ÀÀ
¨[Ó-KÕLr"   c            
      ó  — t        ddgt        j                  ddgddgg«      t        j                  ddg«      t        j                  ddgddgg«      t        j                  ddg«      dg¬«      } t        t        t
        | j                  dd g¬«      «       t        t        t
        | j                  t        j                  dg¬«      «       t        t        t
        | j                  dt        j                   g¬«      «       t        t        t
        | j                  t        j                  dg¬«      «       t        t        t
        | j                  ddgd dgg¬«      «       t        t        t
        | j                  t        j                  dg¬«      «       t        t        t
        | j                  ddgdt        j                   gg¬	«      «       t        t        t
        | j                  dt        j                  g¬
«      «       y )Nr   r$   rA   r   r   r*   rS   rT   rU   rV   )	r   r   r'   r-   r/   r   r\   r   Únan)r   s    r    Útest_non_finite_errorsr`   –   sr  € Ü	Øˆaˆ&Ü�X‰X˜˜1�v  1˜vÐ&Ó'Ü�X‰X�q˜!�fÓÜ�X‰X˜˜1�v  1˜vÐ&Ó'Ü�X‰X�q˜!�fÓØˆxô
€Bô ”*œm¨R¯[©[¸A¸t¸9¨[Ó-EÔFÜ”*œm¨R¯[©[¼B¿F¹FÀA¸;¨[Ó-GÔHÜ”*œm¨R¯[©[¸AÄÇÁ¸w¸<¨[Ó-HÔIÜ”*œm¨R¯[©[¼B¿F¹FÀA¸;¨[Ó-GÔHä”*œm¨R¯[©[ÀÀ1¸vÈÈaÀyÐ>Q¨[Ó-RÔSÜ”*œm¨R¯[©[¼r¿v¹vÀq¸k¨[Ó-JÔKÜ”*œm¨R¯[©[ÀÀ1¸vÈÌBÏFÉFÈ7À|Ð>T¨[Ó-UÔVÜ”*œm¨R¯[©[¸qÄ"Ç&Á&¸k¨[Ó-JÕKr"   c                  ó  — t        ddgddgddggddgddgddggddgd ¬«      } t        | «      }t        |j                  t	        j
                  | j                  «      «       t        |j                  t	        j
                  | j                  «      «       t        |j                  t	        j
                  | j                  «      «       t        |j                  t	        j
                  | j                  «      «       t        |j                  t	        j
                  | j                  «      «       t        |j                  dt        j                  fgdz  «       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       y )Nr   r$   r   r   ©r$   rY   )r$   r$   )r   r   r   r   r   r'   r   r   r   r   r   r   r   r   Úshape©r   Ú
lp_cleaneds     r    Útest__clean_inputs1rf   ª   sr  € Ü	Øˆaˆ&Ø�!ˆf�q˜!�fÐØ�ˆVØ�!ˆf�q˜!�fÐØ�ˆVØô
€Bô ˜rÓ"€Jä�J—L‘L¤"§(¡(¨2¯4©4£.Ô1Ü�J—O‘O¤R§X¡X¨b¯g©gÓ%6Ô7Ü�J—O‘O¤R§X¡X¨b¯g©gÓ%6Ô7Ü�J—O‘O¤R§X¡X¨b¯g©gÓ%6Ô7Ü�J—O‘O¤R§X¡X¨b¯g©gÓ%6Ô7Ü�×"Ñ" a¬¯© [ M°AÑ$5Ô6äˆJ�L‰L×Ñ $Ñ&¨Ô+ÜˆJ�O‰O×!Ñ! VÑ+¨RÔ0ÜˆJ�O‰O×!Ñ! TÑ)¨2Ô.ÜˆJ�O‰O×!Ñ! VÑ+¨RÔ0ÜˆJ�O‰O×!Ñ! TÑ)¨2Õ.r"   c                  óÎ  — t        ddggddggdd¬«      } t        | «      }t        |j                  t	        j
                  | j                  «      «       t        |j                  t	        j
                  | j                  «      «       t        |j                  t	        j
                  | j                  «      «       t        |j                  t	        j
                  | j                  «      «       t        |j                  t	        j
                  | j                  «      «       t        |j                  dg«       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       y )Nr   rA   r   )r   rY   )r   r   )r   r   r   r   r   r'   r   r   r   r   r   r   r   rc   rd   s     r    Útest__clean_inputs2rh   Ä   sG  € Ü	Ø
ØˆcˆUØØˆcˆUØØô
€Bô ˜rÓ"€Jä�J—L‘L¤"§(¡(¨2¯4©4£.Ô1Ü�J—O‘O¤R§X¡X¨b¯g©gÓ%6Ô7Ü�J—O‘O¤R§X¡X¨b¯g©gÓ%6Ô7Ü�J—O‘O¤R§X¡X¨b¯g©gÓ%6Ô7Ü�J—O‘O¤R§X¡X¨b¯g©gÓ%6Ô7Ü�×"Ñ" V HÔ-äˆJ�L‰L×Ñ $Ñ&¨Ô+ÜˆJ�O‰O×!Ñ! VÑ+¨RÔ0ÜˆJ�O‰O×!Ñ! TÑ)¨2Ô.ÜˆJ�O‰O×!Ñ! VÑ+¨RÔ0ÜˆJ�O‰O×!Ñ! TÑ)¨2Õ.r"   c            	      óÔ  — t        ddggt        j                  j                  dd«      dgdggt        j                  j                  dd«      dgdggdg¬«      } t	        | «      }t        |j                  t        j                  ddg«      «       t        |j                  t        j                  ddg«      «       t        |j                  t        j                  ddg«      «       t        |j                  dgdz  «       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       t        |j                  j                  dk(  d«       y )Nr   r$   rA   r   rb   rY   )r   r   r5   r6   r   r   r   r'   r   r   r   r   r   rc   rd   s     r    Útest__clean_inputs3rj   Þ   s  € Ü	Øˆqˆ6ˆ(Ü�Y‰Y�^‰^˜A˜qÓ!Øˆc�A�3ˆZÜ�Y‰Y�^‰^˜A˜qÓ!Øˆc�A�3ˆZØˆxô
€Bô ˜rÓ"€Jä�J—L‘L¤"§(¡(¨A¨q¨6Ó"2Ô3Ü�J—O‘O¤R§X¡X¨q°!¨fÓ%5Ô6Ü�J—O‘O¤R§X¡X¨q°!¨fÓ%5Ô6Ü�×"Ñ" V H¨q¡LÔ1äˆJ�L‰L×Ñ $Ñ&¨Ô+ÜˆJ�O‰O×!Ñ! TÑ)¨2Ô.ÜˆJ�O‰O×!Ñ! TÑ)¨2Õ.r"   c            	      óN  — t        ddg¬«      } t        t        t        | j	                  d¬«      «       t        t        t        | j	                  dg¬«      «       t
        j                  j                  «       5 }|j                  t        d«       t        t        t        | j	                  ddg¬«      «       d d d «       t        t        t        | j	                  g d¢¬«      «       t        g d	¢¬«      } t        t        t        | j	                  d	d	g¬«      «       y # 1 sw Y   ŒfxY w)
Nr   r$   r*   )r   r$   r$   rW   rB   rZ   )rZ   rZ   rZ   r2   )
r   r-   r/   r   r\   r   rE   rF   rG   r	   )r   rO   s     r    Útest_bad_boundsrl   ô   sà   € Ü	�q˜!�fÔ	€Bä”*œm¨R¯[©[À	¨[Ó-JÔKÜ”*œm¨R¯[©[ÀÀ¨[Ó-LÔMÜ	�‰×	%Ñ	%Ó	'ð ?¨3Ø�
‰
Ô,Ð.OÔPÜ”j¤-Ø—k‘k¨&°)Ð)<�kÓ=ô	?÷?ô ”*œmØ—+‘+Ò%=�+Ó>ô@ô 
’lÔ	#€Bä”*œmØ—+‘+ l°LÐ%A�+ÓBõD÷?ð ?ús   Á8>DÄD$c            	      ó  — t        ddg¬«      } t        | «      }t        |j                  dt        j
                  fgdz  «       t        | j                  g ¬«      «      }t        |j                  dt        j
                  fgdz  «       t        | j                  g g¬«      «      }t        |j                  dt        j
                  fgdz  «       t        | j                  d¬«      «      }t        |j                  dgdz  «       t        | j                  dg¬«      «      }t        |j                  dgdz  «       t        | j                  dg¬«      «      }t        |j                  dt        j
                  fgdz  «       t        | j                  dg¬«      «      }t        |j                  t        j
                   dfgdz  «       t        | j                  d	t        j
                   d fg¬«      «      }t        |j                  t        j
                   t        j
                  fgdz  «       t        g d
¢¬«      } t        | «      }t        |j                  dt        j
                  fgdz  «       t        | j                  d¬«      «      }t        |j                  dgdz  «       t        | j                  dg¬«      «      }t        |j                  dgdz  «       t        | j                  dg¬«      «      }t        |j                  dt        j
                  fgdz  «       t        | j                  dg¬«      «      }t        |j                  t        j
                   dfgdz  «       t        | j                  d	t        j
                   d fd t        j
                  ft        j
                   t        j
                  fg¬«      «      }t        |j                  t        j
                   t        j
                  fgdz  «       y )Nr   r$   r*   r   rW   rZ   )r   Nr%   )NNr2   r4   )r   r   r   r   r   r   r\   rd   s     r    Útest_good_boundsrn     s!  € Ü	�q˜!�fÔ	€Bä˜rÓ"€JÜ�×"Ñ" a¬¯© [ M°AÑ$5Ô6ä˜rŸ{™{°"˜{Ó5Ó6€JÜ�×"Ñ" a¬¯© [ M°AÑ$5Ô6ä˜rŸ{™{°2°$˜{Ó7Ó8€JÜ�×"Ñ" a¬¯© [ M°AÑ$5Ô6ä˜rŸ{™{°&˜{Ó9Ó:€JÜ�×"Ñ" V H¨q¡LÔ1ä˜rŸ{™{°6°(˜{Ó;Ó<€JÜ�×"Ñ" V H¨q¡LÔ1ä˜rŸ{™{°9°+˜{Ó>Ó?€JÜ�×"Ñ" a¬¯© [ M°AÑ$5Ô6ä˜rŸ{™{°9°+˜{Ó>Ó?€JÜ�×"Ñ"¤r§v¡v g¨q \ N°QÑ$6Ô7ä˜rŸ{™{°<Ä2Ç6Á6À'È4ÀÐ2Q˜{ÓRÓS€JÜ�×"Ñ"¤r§v¡v g¬r¯v©vÐ%6Ð$7¸!Ñ$;Ô<ä	’lÔ	#€Bä˜rÓ"€JÜ�×"Ñ" a¬¯© [ M°AÑ$5Ô6ä˜rŸ{™{°&˜{Ó9Ó:€JÜ�×"Ñ" V H¨q¡LÔ1ä˜rŸ{™{°6°(˜{Ó;Ó<€JÜ�×"Ñ" V H¨q¡LÔ1ä˜rŸ{™{°9°+˜{Ó>Ó?€JÜ�×"Ñ" a¬¯© [ M°AÑ$5Ô6ä˜rŸ{™{°9°+˜{Ó>Ó?€JÜ�×"Ñ"¤r§v¡v g¨q \ N°QÑ$6Ô7ä˜rŸ{™{°<Ü57·V±V°G¸T°?Ø48¼"¿&¹&°>Ü57·V±V°G¼R¿V¹VÐ3Dð3F˜{ó  Gó H€Jô �×"Ñ"¤r§v¡v g¬r¯v©vÐ%6Ð$7¸!Ñ$;Õ<r"   ) Ú__doc__Únumpyr   Únumpy.testingr   r   r   Úpytestr   r-   Úscipy.optimize._linprog_utilr   r   Úscipy._lib._utilr	   Úcopyr
   Údatetimer   r!   r(   r0   r;   r?   rP   r]   r`   rf   rh   rj   rl   rn   © r"   r    ú<module>rx      sn   ðñó ß @Ñ @Ý *ß BÝ 6Ý Ý òMò4Mò0Tò&	SòRòSò*Mò8Lò(/ò4/ò4/ò,Dó$0=r"   