+
    ,i-                         R t ^ RIHt ^ RIHt ^ RIt^ RIHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHt R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR# )z9
Unit test for Linear Programming via Simplex Algorithm.
)deepcopy)dateN)assert_assert_allcloseassert_equal)VisibleDeprecationWarning)raises)_clean_inputs
_LPProblemc            	     B   \        ^^..^.^..^.\        P                  ) \        P                  3R7      p \        V 4      p\	        V 4       \        V P                  VP                  8H  R4       \        V P                  VP                  8H  R4       \        V P                  VP                  8H  R4       \        V P                  VP                  8H  R4       \        V P                  VP                  8H  R4       \        V P                  VP                  8H  R4       R# )	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     Q/usr/lib/python3/dist-packages/scipy/optimize/tests/test__linprog_clean_inputs.pytest_aliasingr      s     

cUScUS 
B rlG"BDDGII<=BGGw||#%EFBGGw||#%EFBGGw||#%EFBGGw||#%EFBII')KL    c            	        \        \        P                  ! ^^.4      \        P                  ! ^^.^^..4      \        P                  ! ^.^..4      \        P                  ! ^^..4      \        P                  ! ^.4      \        P                  ) \        P                  3R
.R7      p \	        V 4      p\        V 4       \        V P                  VP                  RR7       \        V P                  VP                  RR7       \        V P                  VP                  RR7       \        V P                  VP                  RR7       \        V P                  VP                  RR7       \        V P                  VP                  8H  R	4       R# )z+
Similar purpose as `test_aliasing` above.
Nr   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    

((Aq6
XX1v1v&'XXsQCj!XX1vhXXqc]&&"&&!9-
B rlG"BDD'))-JKBGGW\\3STBGGW\\3STBGGW\\3STBGGW\\3STBII')KLr    c            
      @   ^^.p \         P                  ! ^^.^^..4      p\         P                  ! ^^.4      p\         P                  ! ^^.^^..4      p\         P                  ! ^^.4      p\        \        \        4       \        \        \        \        RR7      4       \        \        \        \        WR7      4       \        \        \        \        WRR7      4       \        \        \        \        WR7      4       \        \        \        \        V RVR7      4       \        \        \        \        WR7      4       \        \        \        \        WRR7      4       \        \        \        \        WR7      4       \        \        \        \        V RVR7      4       R# )	r$   N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_inputsr.   A   s   	
AA88aVaV$%D88QFD88aVaV$%D88QFD)]+)]J,>?*mZ!-GH*mZ!T-RS*mZ!-GH*mZ!$T-RS*mZ!-GH*mZ!T-RS*mZ!-GH*mZ!$T-RSr    c            
         . ROp \         P                  P                  ^^4      p^^.^^..p\         P                  P                  ^^^4      p\        \        \
        \        W!V R7      4       \        \        \
        \        WV R7      4       \        \        \
        \        WVR7      4       \        \        \
        \        WV R7      4       \        \        \
        \        WVR7      4       R# )r$   r)   r*   Nr$            )r   randomrandr+   r-   r	   r
   )cbAbad2Dbad3Ds       r   test_too_many_dimensionsr:   T   s    	B
		q!AVaVEIINN1a#E*mZ%b-QR*mZ"r-RS*mZ"5-QR*mZ"r-RS*mZ"5-QRr    c            
          \         P                  P                  ^^4      P                  4       p \         P                  P                  ^4      p\	        \
        \        \        WVR7      4       \	        \
        \        \        WVR7      4       R# )r3   r)   r*   N)r   r4   r5   ravelr+   r-   r	   r
   )badr6   s     r   test_too_few_dimensionsr>   `   sW    
))..A

$
$
&C		B*mZ"R-PQ*mZ"R-PQr    c                     ^p ^p. ROp\         P                  P                  W4      p\         P                  P                  W^,           4      p\         P                  P                  V 4      p\         P                  P                  V ^,           4      pR.V^,           ,          p\        \        \
        \        W$VR7      4       \        \        \
        \        W#VR7      4       \        \        \
        \        W$VR7      4       \        \        \
        \        W#VR7      4       \        \        \
        \        W'R7      4       \         P                  P                  4       ;_uu_ 4       pVP                  \        R4       \        \        \
        \        V^^.^^.^^.. RO.R7      4       RRR4       R#   + '       g   i     R# ; i)	r1   r)   r*   )r   r   Creating an ndarray from raggedNr0       r$   )r3         )r   r4   r5   r+   r-   r	   r
   testingsuppress_warningsfilterr   )	mnr   AgoodAbadbgoodbbad	boundsbadsups	            r   test_inconsistent_dimensionsrP   g   s.   	A	AAIINN1 E99>>!U#DIINN1E99>>!a% DAE"I*mZ!U-ST*mZ!d-ST*mZ!U-ST*mZ!d-ST*mZ!-NO		%	%	'	'3

,.OPj- 1q!fq!fq!fi-PQ	S 
(	'	'	's   )AF66G	c                     \        ^^.\        P                  ! ^^.^^..4      \        P                  ! ^^.4      \        P                  ! ^^.^^..4      \        P                  ! ^^.4      R.R7      p Rp\        \        \
        V P                  VR7      4       \        \        \
        V P                  VR7      4       \        \        \
        V P                  VR7      4       \        \        \
        V P                  VR7      4       \        \        \
        V P                  VR7      4       \        \        \
        V P                  VR7      4       \        \        \
        V P                  R	R7      4       \        \        \
        V P                  R	.R7      4       \        \        \
        V P                  R	.R7      4       \        \        \
        V P                  R.R7      4       \        \        \
        V P                  RR.R7      4       \        \        \
        V P                  ^\        R
^^4      3.R7      4       \        \        \
        V P                  ^^...R7      4       R# )r$   r   hellor(   r   r   r   r   r   hii  NrA   )r$    r$   r1   )	r
   r   r%   r+   r,   r	   _replacer-   r   )r   r=   s     r   test_type_errorsr\   |   s   	a&XX1v1v&'XXq!fXX1v1v&'XXq!fx
B C)]BKK#K,>?)]BKKSK,AB)]BKKSK,AB)]BKKSK,AB)]BKKSK,AB*mR[[[-DE*mR[[[-EF*mR[[[-GH*mR[[$[-IJ*mR[[	[-JK*mR[[@Q[-RS)]++q$tQ*;&<%=+>@*mR[[1a&
[-KLr    c            
         \        ^^.\        P                  ! ^^.^^..4      \        P                  ! ^^.4      \        P                  ! ^^.^^..4      \        P                  ! ^^.4      R.R7      p \        \        \
        V P                  ^ R.R7      4       \        \        \
        V P                  \        P                  ^ .R7      4       \        \        \
        V P                  ^ \        P                  ) .R7      4       \        \        \
        V P                  \        P                  ^ .R7      4       \        \        \
        V P                  ^^.R^..R7      4       \        \        \
        V P                  \        P                  ^.R7      4       \        \        \
        V P                  ^^.^\        P                  ) ..R7      4       \        \        \
        V P                  ^\        P                  .R7      4       R# )	r$   r   Nr(   rS   rT   rU   rV   rA   )	r
   r   r%   r+   r-   r	   r[   r   nan)r   s    r   test_non_finite_errorsr_      sr   	a&XX1v1v&'XXq!fXX1v1v&'XXq!fx
B *mR[[At9[-EF*mR[[BFFA;[-GH*mR[[Aw<[-HI*mR[[BFFA;[-GH*mR[[1vay>Q[-RS*mR[[rvvqk[-JK*mR[[1vBFF7|>T[-UV*mR[[q"&&k[-JKr    c            	      $   \        ^^.^^.^^..^^.^^.^^..^^.RR7      p \        V 4      p\        VP                  \        P
                  ! V P                  4      4       \        VP                  \        P
                  ! V P                  4      4       \        VP                  \        P
                  ! V P                  4      4       \        VP                  \        P
                  ! V P                  4      4       \        VP                  \        P
                  ! V P                  4      4       \        VP                  ^ \        P                  3.^,          4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       R# )r$   Nr   rY   r1   )r1   r1   )r
   r	   r   r   r   r%   r   r   r   r   r   r   r   r   shaper   
lp_cleaneds     r   test__clean_inputs1re      sr   	a&!fq!fV!fq!fV
B r"JJLL"((244.1JOORXXbgg%67JOORXXbgg%67JOORXXbgg%67JOORXXbgg%67""a[MA$56JLL$&+JOO!!V+R0JOO!!T)2.JOO!!V+R0JOO!!T)2.r    c            	         \        ^^..^^..^RR7      p \        V 4      p\        VP                  \        P
                  ! V P                  4      4       \        VP                  \        P
                  ! V P                  4      4       \        VP                  \        P
                  ! V P                  4      4       \        VP                  \        P
                  ! V P                  4      4       \        VP                  \        P
                  ! V P                  4      4       \        VP                  R.4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       R# )r$   r   rY   NrA   )r$   )r$   r$   )r
   r	   r   r   r   r%   r   r   r   r   r   r   r   rb   rc   s     r   test__clean_inputs2rg      sG   	
cUcU
B r"JJLL"((244.1JOORXXbgg%67JOORXXbgg%67JOORXXbgg%67JOORXXbgg%67""VH-JLL$&+JOO!!V+R0JOO!!T)2.JOO!!V+R0JOO!!T)2.r    c            	         \        ^^..\        P                  P                  ^^4      ^.^..\        P                  P                  ^^4      ^.^..R.R7      p \	        V 4      p\        VP                  \        P                  ! ^^.4      4       \        VP                  \        P                  ! ^^.4      4       \        VP                  \        P                  ! ^^.4      4       \        VP                  R.^,          4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       \        VP                  P                  R8H  R4       R# )r$   r   rY   NrA   ra   )r
   r   r4   r5   r	   r   r   r%   r   r   r   r   r   rb   rc   s     r   test__clean_inputs3ri      s   	q6(YY^^Aq!cA3ZYY^^Aq!cA3Zx
B r"JJLL"((Aq6"23JOORXXq!f%56JOORXXq!f%56""VHqL1JLL$&+JOO!!T)2.JOO!!T)2.r    c            
      n   \        ^^.R7      p \        \        \        V P	                  RR7      4       \        \        \        V P	                  R.R7      4       \
        P                  P                  4       ;_uu_ 4       pVP                  \        R4       \        \        \        V P	                  RR.R7      4       RRR4       \        \        \        V P	                  . ROR7      4       \        . ROR7      p \        \        \        V P	                  RR.R7      4       R#   + '       g   i     Ln; i)	r$   r(   rW   r@   N)r$   r1   r1   rZ   )rZ   rZ   rZ   r0   )
r
   r+   r-   r	   r[   r   rE   rF   rG   r   )r   rO   s     r   test_bad_boundsrk      s    	q!f	B*mR[[	[-JK*mR[[[-LM		%	%	'	'3

,.OPj-kk&))<k=	? 
( *m++%=+>@ 
l	#B*m++lL%A+BD 
(	's    >D$$D4	c            	      v   \        ^^.R7      p \        V 4      p\        VP                  ^ \        P
                  3.^,          4       \        V P                  . R7      4      p\        VP                  ^ \        P
                  3.^,          4       \        V P                  . .R7      4      p\        VP                  ^ \        P
                  3.^,          4       \        V P                  RR7      4      p\        VP                  R.^,          4       \        V P                  R.R7      4      p\        VP                  R.^,          4       \        V P                  R.R7      4      p\        VP                  ^\        P
                  3.^,          4       \        V P                  R.R7      4      p\        VP                  \        P
                  ) ^3.^,          4       \        V P                  R\        P
                  ) R3.R7      4      p\        VP                  \        P
                  ) \        P
                  3.^,          4       \        . ROR7      p \        V 4      p\        VP                  ^ \        P
                  3.^,          4       \        V P                  RR7      4      p\        VP                  R.^,          4       \        V P                  R.R7      4      p\        VP                  R.^,          4       \        V P                  R.R7      4      p\        VP                  ^\        P
                  3.^,          4       \        V P                  R.R7      4      p\        VP                  \        P
                  ) ^3.^,          4       \        V P                  R\        P
                  ) R3R\        P
                  3\        P
                  ) \        P
                  3.R7      4      p\        VP                  \        P
                  ) \        P
                  3.^,          4       R# )	r$   r(   rW   NrZ   )r$   Nr#   )NNr0   )r
   r	   r   r   r   r   r[   rc   s     r   test_good_boundsrm     s!   	q!f	Br"J""a[MA$56r{{"{56J""a[MA$56r{{2${78J""a[MA$56r{{&{9:J""VHqL1r{{6({;<J""VHqL1r{{9+{>?J""a[MA$56r{{9+{>?J""rvvgq\NQ$67r{{<266'42Q{RSJ""rvvgrvv%6$7!$;<	l	#Br"J""a[MA$56r{{&{9:J""VHqL1r{{6({;<J""VHqL1r{{9+{>?J""a[MA$56r{{9+{>?J""rvvgq\NQ$67r{{<57VVGT?48"&&>57VVGRVV3D3F{  G HJ ""rvvgrvv%6$7!$;<r    ) __doc__copyr   datetimer   numpyr   numpy.testingr   r   r   numpy.exceptionsr   pytestr   r+   scipy.optimize._linprog_utilr	   r
   r   r&   r.   r:   r>   rP   r\   r_   re   rg   ri   rk   rm    r    r   <module>rw      sn       @ @ 6 * BM4M0T&	SRS*M8L(/4/4/,D$0=r    