Ë
    çÿæišš ã                   ó8  — d Z ddlZddlZddlZddlZddlmZ ddlm	Z	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dlZddlZd
Z	 ddlmZ d
Z	 ddl Z ddl!m"Z# d„ Z$d„ Z%d„ Z&d„ Z'	 	 dUd„Z(dVd„Z)d„ Z*dWd„Z+d„ Z,dXd„Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3dZ4dZ5dZ6dZ7dZ8 G d„ d«      Z9ejt                  jw                  d «       G d!„ d"e9«      «       Z<ejt                  jw                  d «       G d#„ d$e9«      «       Z=ejt                  jw                  d «       G d%„ d&e9«      «       Z> G d'„ d(e9«      Z? G d)„ d*e<«      Z@ G d+„ d,e<«      ZA G d-„ d.e<«      ZB G d/„ d0e=«      ZCer G d1„ d2e=«      ZDer G d3„ d4e=«      ZE G d5„ d6e=«      ZF G d7„ d8e=«      ZGejt                  jw                  d «       G d9„ d:«      «       ZH G d;„ d<e>«      ZI G d=„ d>e>«      ZJ G d?„ d@e?«      ZK G dA„ dBe?«      ZL G dC„ dD«      ZMejt                  jw                  d «       G dE„ dF«      «       ZN G dG„ dHeN«      ZO G dI„ dJeN«      ZP G dK„ dLeN«      ZQejt                  jw                  d «       G dM„ dN«      «       ZR G dO„ dPeR«      ZS G dQ„ dReR«      ZT G dS„ dTeR«      ZUy# e$ r dZY �Œ4w xY w# e$ r dZY �Œ5w xY w)Yz"
Unit test for Linear Programming
é    N)ÚVisibleDeprecationWarning)Úassert_Úassert_allcloseÚassert_equalÚassert_array_less)Úraises)ÚlinprogÚOptimizeWarning)Úapprox_derivative)ÚMatrixRankWarning)ÚLinAlgWarningT)ÚUmfpackWarningF)Úcholeskyc                 ó’   — t        | j                   d«       t        | j                  |k  d«       t        | j                  dd«       y )NúIncorrectly reported successz)Incorrectly reported number of iterationsé   z(Failed to report iteration limit reached©r   Úsuccessr   Ústatus)ÚresÚmaxiters     úv/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/scipy/optimize/tests/test_linprog.pyÚ_assert_iteration_limit_reachedr   "   s8   € Ü�—‘ˆOÐ;Ô<ÜˆC�K‰K˜'Ñ!Ð#NÔOÜ�—‘˜QÐ JÕKó    c                 ó`   — t        | j                   d«       t        | j                  dd«       y )Núincorrectly reported successé   z"failed to report infeasible statusr   ©r   s    r   Ú_assert_infeasibler   (   s$   € ä�—‘ˆOÐ;Ô<Ü�—‘˜QÐ DÕEr   c                 ó`   — t        | j                   d«       t        | j                  dd«       y )Nr   é   z!failed to report unbounded statusr   r   s    r   Ú_assert_unboundedr"   .   s$   € ä�—‘ˆOÐ;Ô<Ü�—‘˜QÐ CÕDr   c                 ób   — t        | j                   d«       t        | j                  dv d«       y )Nr   ©r   é   z%failed to report optimization failure)r   r   r   r   s    r   Ú)_assert_unable_to_find_basic_feasible_solr&   4   s)   € ô �—‘ˆOÐ;Ô<ÜˆC�J‰J˜&Ð Ð"IÕJr   c                 ó  — | j                   s'd| j                  › d| j                  › �}t        |«      ‚t	        | j                  d«       |�t        | j                  |d||¬«       |�t        | j                  |d||¬«       y y )Nzlinprog status z, message: r   z*converged to an unexpected objective value©Úerr_msgÚrtolÚatolz#converged to an unexpected solution)r   r   ÚmessageÚAssertionErrorr   r   ÚfunÚx)r   Údesired_funÚ	desired_xr*   r+   Úmsgs         r   Ú_assert_successr3   >   s�   € ð
 �;Š;Ø §
¡
˜|¨;°s·{±{°mÐDˆÜ˜SÓ!Ð!ä�—‘˜QÔØÐÜ˜Ÿ™ Ø LØ!¨õ	.ð ÐÜ˜Ÿ™˜yØ EØ!¨ö	.ð r   c           	      ó  — |€t         j                  j                  d«      n|}| | dz  dz   z  dz  }t        j                  | dz  «      | dz  z  dz   }|j	                  | dz  | | «      }t        j
                  | dz  | | f«      }g }g }t        | dz  «      D ]N  }|j                  «       }d||dd…dd…f<   |j                  |j                  «       «       |j                  d«       ŒP t        | «      D ]\  }t        | «      D ]L  }	|j                  «       }d|dd…||	f<   |j                  |j                  «       «       |j                  d«       ŒN Œ^ t        | «      D ]X  }|j                  «       }|dd…|dd…f   |dd…|dd…f<   |j                  |j                  «       «       |j                  |«       ŒZ t        | «      D ]X  }|j                  «       }|dd…dd…|f   |dd…dd…|f<   |j                  |j                  «       «       |j                  |«       ŒZ |j                  «       }|dd…t        | «      t        | «      f   |dd…t        | «      t        | «      f<   |j                  |j                  «       «       |j                  |«       |j                  «       }|dd…t        | «      t        d|  dz
  d«      f   |dd…t        | «      t        d|  dz
  d«      f<   |j                  |j                  «       «       |j                  |«       t        j                  t        j                  |«      t        ¬«      }
t        j                  |t        ¬«      }|j                  |
j                  d   «      }|
||||fS )zÞ
    Generates a linear program for which integer solutions represent an
    n x n magic square; binary decision variables represent the presence
    (or absence) of an integer 1 to n^2 in each position of the square.
    Nl   ²g»-ˆhP r   r   r%   éÿÿÿÿ©Údtype)ÚnpÚrandomÚdefault_rngÚarangeÚreshapeÚzerosÚrangeÚcopyÚappendÚflattenÚarrayÚvstackÚfloatÚshape)ÚnÚrngÚMÚnumbersr=   ÚA_listÚb_listÚiÚA_rowÚjÚAÚbÚcs                r   Úmagic_squarerR   R   së  € ð :=¸Œ"�)‰)×
Ñ
Ð 4Ô
5È#€CØ	ˆQ�‰T�A‰X‰˜Ñ€Aä�i‰i˜˜1™‹o  A¡Ñ%¨Ñ)€Gà�o‰o˜a ™d A qÓ)€Gä�H‰H�a˜‘d˜A˜q�\Ó"€Eà€FØ€Fô �1�a‘4Ž[ˆØ—
‘
“ˆØˆˆa’’Aˆg‰Ø�‰�e—m‘m“oÔ&Ø�‰�aÕð	 ô �1ŽXˆÜ�q–ˆAØ—J‘J“LˆEØˆE’!�Q˜�'‰NØ�M‰M˜%Ÿ-™-›/Ô*Ø�M‰M˜!Õñ	 ð ô �1ŽXˆØ—
‘
“ˆØ ¢ A¢q Ñ)ˆŠa�’Aˆg‰Ø�‰�e—m‘m“oÔ&Ø�‰�aÕð	 ô �1ŽXˆØ—
‘
“ˆØ ¢¢A q Ñ)ˆŠa’�Aˆg‰Ø�‰�e—m‘m“oÔ&Ø�‰�aÕð	 ð �J‰J‹L€EØ#*ª1¬e°A«h¼¸a»Ð+@Ñ#A€EŠ!ŒU�1‹X”u˜Q“xÐ
Ñ Ø
‡M�M�%—-‘-“/Ô"Ø
‡M�M�!ÔØ�J‰J‹L€Eà’”5˜“8œU 2¨ r¨A¡v¨rÓ2Ð2Ñ3ð 
Š!ŒU�1‹X”u˜R !  a¡¨Ó,Ð
,Ñ-à
‡M�M�%—-‘-“/Ô"Ø
‡M�M�!Ôä
�‰”—‘˜6Ó"¬%Ô0€AÜ
�‰�œuÔ%€AØ�
‰
�1—7‘7˜1‘:Ó€Aàˆa��G˜QÐÐr   c                 óH  — t         j                  j                  d«      }|j                  | |f¬«       }t        j                  | | |z  f«      }t        j                  | «      }t        | «      D ]  }|dz   }d||||z  ||z  …f<   || z  ||<   Œ  t        j                  || |z  f«      }t        j                  |«      }	t        |«      D ]  }|dz   }d|||d|…f<   d|	|<   Œ t        j                  ||f«      }
t        j                  ||	f«      }|
||j                  «       fS )z‰ -> A b c LP test: m*n vars, m+n constraints
        row sums == n/m, col sums == 1
        https://gist.github.com/denis-bz/8647461
    l   —-ž!jÙ ©Úsizer   N)	r8   r9   r:   Úexponentialr=   r>   rC   ÚhstackÚravel)ÚmrF   rG   rQ   ÚArowÚbrowrN   Új1ÚAcolÚbcolrO   rP   s               r   Úlpgen_2dr_   ”   s!  € ô
 �)‰)×
Ñ
Ð 4Ó
5€CØ
�/‰/  1˜vˆ/Ó
&Ð&€AÜ�8‰8�Q˜˜A™�JÓ€DÜ�8‰8�A‹;€DÜ�1ŽXˆØ�‰UˆØ !ˆˆQ��A‘�b˜1‘f�ˆ_ÑØ�a‘%ˆˆQŠð ô
 �8‰8�Q˜˜A™�JÓ€DÜ�8‰8�A‹;€DÜ�1ŽXˆØ�‰UˆØˆˆQ���1�ˆW‰ØˆˆQŠð ô
 	�	‰	�4˜�,Ó€AÜ
�	‰	�4˜�,Ó€Aàˆa�—‘“ˆ?Ðr   c                 óH  — t         j                  j                  d«      }d\  }}}|j                  |«      dz
  }|j                  ||f«      dz
  }|j                  |«      dz
  }|j                  ||f«      dz
  }|j                  |«      dz
  }	|j                  |«       }
|j                  |«      }t         j                   |
|
|j                  «        k  <   t         j                  |||j                  «       kD  <   t        j                  |
|f«      j
                  }|||||	|fS )Nl   ±¶) )é
   é   é2   ç      à?)r8   r9   r:   ÚinfrC   ÚT)ÚseedrG   Úm_eqÚm_ubrF   rQ   ÚA_ubÚb_ubÚA_eqÚb_eqÚlbÚubÚboundss                r   Úvery_random_genrq   ¯   s  € Ü
�)‰)×
Ñ
 Ó
0€CØ�M€Dˆ$�Ø�
‰
�1‹�cÑ€AØ�:‰:�t˜Q�iÓ  Ñ$€DØ�:‰:�dÓ˜CÑ€DØ�:‰:�t˜Q�iÓ  Ñ$€DØ�:‰:�dÓ˜CÑ€DØ
�*‰*�Q‹-ˆ€BØ	�‰�A‹€BÜ Ÿf™f˜W€B€rˆS�Z‰Z‹\ˆMÑÑÜŸF™F€B€rˆC�J‰J‹LÑÑÜ�Y‰Y˜˜B�xÓ ×"Ñ"€FØˆd�D˜$  fÐ,Ð,r   c                  ó\   — g d¢} g d¢g d¢g d¢g d¢g}g d¢}g d¢g}dg}g d	¢}d
}| ||||||fS )N)r5   é   r%   éúÿÿÿ)éùÿÿÿru   é   é	   )r   r5   éýÿÿÿr   )ra   éöÿÿÿru   é   )rv   r5   r!   r%   )rx   rv   rt   rv   )ry   r   r   éøÿÿÿéüÿÿÿ)gkæ¤€‹–²?gòsÚÑð?r   güØkª¾Lá?gŽqY†:^@© )rQ   rj   rk   rl   rm   Úx_starÚf_stars          r   Únontrivial_problemr€   ¿   sO   € Ú€AÚÚÚÚð€Dò €DÚÐ€DØˆ4€DÚ5€FØ€FØˆd�D˜$  f¨fÐ4Ð4r   c                 óÈ  — t         j                  j                  d«      }|j                  dd||f¬«      }|j	                  |«      }|j                  dd||f¬«      }|||z  z  |j                  dd|¬«      z   }t        j
                  ||z   «      }	d|	d| t        j                  j                  d|z  ||z   f«      }
d}t        |«      D ]J  }||dd…|f   z  |
|d|…f<   d|
|||z   f<   d|z  |dd…|f   z  |
|dz   d|…f<   d|
|dz   ||z   f<   |dz  }ŒL |
j                  «       }
t        j                  d|z  «      }||ddd…<   | |ddd…<   d	g|z  d
g|z  z   }|	|
||fS )zë
    Training data is {(x0, y0), (x1, y2), ..., (xn-1, yn-1)}
        x in R^d
        y in R
    n: number of training samples
    d: dimension of x, i.e. x in R^d
    phi: feature map R^d -> R^m
    m: dimension of feature space
    l   Õp^vn´? r   r   rT   çñhãˆµøä>Nr   r5   ©NN©r   N)r8   r9   r:   ÚnormalÚstandard_normalÚonesÚscipyÚsparseÚ	lil_arrayr>   Útocscr=   )rg   rY   ÚdrF   rG   ÚphiÚw_truer/   ÚyrQ   rj   ÚidxÚiirk   Úbndss                  r   Úl1_regression_probr“   Í   s£  € ô �)‰)×
Ñ
Ð 4Ó
5€CØ
�*‰*�Q˜  A ˆ*Ó
'€CØ× Ñ  Ó#€FØ�
‰
�1�a˜q !˜fˆ
Ó%€AØ�#˜‘'Ñ˜SŸZ™Z¨¨4°a˜ZÓ8Ñ8€Aô 	�‰��!‘‹€AØ€A€b€q€EÜ�<‰<×!Ñ! 1 Q¡3¨¨!© *Ó-€DØ
€CÜ�AŽhˆØ˜a¢ 2 ™h™ˆˆS�"�1�"ˆW‰ØˆˆS�!�B‘$ˆY‰Ø˜S™& 1¢Q¨ U¡8Ñ+ˆˆS�‰U�B�Q�BˆY‰ØˆˆS�‰U�A�b‘Dˆ[ÑØˆq‰‰ð ð �:‰:‹<€DÜ�8‰8�A�a‘C‹=€DØ€DˆˆˆAˆ�JØ�€DˆˆˆAˆ�JØˆ>˜!Ñ˜y˜k¨!™mÑ+€DØˆd�D˜$ÐÐr   c                 óD  ‡— i Šˆfd„}t        j                  ddg«      }ddgddgddgg}g d¢}t        ||||| j                  ¬«      }t	        |d	dd
g¬«       t        ‰d   |d   «       t        ‰d   |d   «       t        ‰d   |d   «       t        ‰d   |d   «       y )Nc                 óÀ  •— | j                  d«      }| j                  d«      }t        | j                  d«      dv «       t        | j                  d«      t        d«      v «       t        t        | j                  d«      t        «      «       t        t        |t
        «      «       t        t        |t        «      «       | d   ‰d<   | d	   ‰d	<   | d
   ‰d
<   | d   ‰d<   y )Nr,   ÚcompleteÚphase©r   r   r   r%   Únitr/   r.   ÚslackÚcon)Úpopr   r>   Ú
isinstanceÚintÚboolÚstr)r   r,   r–   Úlast_cbs      €r   Úcbz!generic_callback_test.<locals>.cbô   s¹   ø€ Ø—'‘'˜)Ó$ˆØ—7‘7˜:Ó&ˆä�—‘˜Ó  FÐ*Ô+Ü�—‘˜Ó!¤U¨1£XÐ-Ô.Ü”
˜3Ÿ7™7 5›>¬3Ó/Ô0Ü”
˜8¤TÓ*Ô+Ü”
˜7¤CÓ(Ô)à˜3‘xˆ�‰Ø˜U™ˆ�‰Ø˜w™<ˆ�ÑØ˜U™ˆ�Šr   rx   éþÿÿÿr   r   r   ©ra   rs   r%   ©rj   rk   ÚcallbackÚmethodç      2Àrv   ©r0   r1   r.   r/   r›   rš   )r8   rB   r	   r§   r3   r   )Úselfr¢   rQ   rj   rk   r   r¡   s         @r   Úgeneric_callback_testr«   ð   s­   ø€ à€Gô$ô 	�‰�"�b�Ó€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DÚ€DÜ
�!˜$ T°B¸t¿{¹{Ô
K€Cä�C U°q¸!°fÕ=Ü�G˜E‘N C¨¡JÔ/Ü�G˜C‘L # c¡(Ô+Ü�G˜E‘N C¨¡JÔ/Ü�G˜GÑ$ c¨'¡lÕ3r   c                  ó:  — t        j                  ddg«      } ddgddgddgg}g d¢}t        t        t        | ||d¬«       t        t        t        | ||d	¬«       d
}t        j                  t        |¬«      5  t	        | ||ddi¬«       d d d «       y # 1 sw Y   y xY w)Nrx   r£   r   r   r   r¤   úekki-ekki-ekki©rj   rk   r§   z
highs-ekkiz>Unrecognized options detected: {'rr_method': 'ekki-ekki-ekki'}©ÚmatchÚ	rr_method©rj   rk   Úoptions)r8   rB   Úassert_raisesÚ
ValueErrorr	   ÚpytestÚwarnsr
   )rQ   rj   rk   r,   s       r   Ú test_unknown_solvers_and_optionsr¸     s”   € Ü
�‰�"�b�Ó€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DÚ€Dä”*œgØ˜$ TÐ2BõDä”*œgØ˜$ T°,õ@àN€GÜ	�‰”o¨WÖ	5Ü�˜ 4Ø$Ð&6Ð7õ	9÷ 
6×	5Ñ	5ús   Á6BÂBc                  óŽ   — t        j                  ddg«      } ddgddgddgg}g d¢}t        | ||d¬«      }t        |d	dd
g¬«       y )Nrx   r£   r   r   r   r¤   Úhighs©r§   r¨   rv   r©   )r8   rB   r	   r3   )rQ   rj   rk   r   s       r   Útest_choose_solverr¼     sQ   € ä
�‰�"�b�Ó€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DÚ€Dä
�!�T˜4¨Ô
0€CÜ�C U°q¸!°fÖ=r   c                  óf  — t        j                  t        «      5  t        dd¬«       d d d «       t        j                  t        «      5  t        dd¬«       d d d «       t        j                  t        «      5  t        dd¬«       d d d «       y # 1 sw Y   ŒhxY w# 1 sw Y   ŒExY w# 1 sw Y   y xY w)Nr   úinterior-pointr»   úrevised simplexÚsimplex)r¶   r·   ÚDeprecationWarningr	   r}   r   r   Útest_deprecationrÂ   (  sr   € Ü	�‰Ô(Õ	)Ü�Ð*Õ+÷ 
*ä	�‰Ô(Õ	)Ü�Ð+Õ,÷ 
*ä	�‰Ô(Õ	)Ü�˜)Õ$÷ 
*Ð	)÷	 
*Ð	)úç	)Ð	)úç	)Ð	)ús#   šBÁ	BÁ8B'ÂBÂB$Â'B0c            	      ó”  — t        dd¬«      } d}| j                  dk(  sJ ‚| j                  j                  |«      sJ ‚t	        d«      \  }}}}}dgt        |«      z  }dgt        |«      z  }dd	i}	t        ||||d|	|¬
«      } d}| j                  dk(  sJ ‚| j                  j                  |«      sJ ‚ddi}	t        ||||d|	¬«      } d}| j                  dk(  sJ ‚| j                  j                  |«      sJ ‚t        ddd¬«      } d}| j                  dk(  sJ ‚| j                  j                  |«      sJ ‚t        dd¬«      } d}| j                  dk(  sJ ‚| j                  j                  |«      sJ ‚ddlm}
  |
dd«      \  }}d}|dk(  sJ ‚|j                  |«      sJ ‚ |
d d «      \  }}d}|dk(  sJ ‚|j                  |«      sJ ‚y )Nr   rº   r»   z6Optimization terminated successfully. (HiGHS Status 7:r   rv   ©r   r   Ú
time_limitçš™™™™™¹?)rQ   rl   rm   rp   r§   r³   Úintegralityz%Time limit reached. (HiGHS Status 13:r   ra   úhighs-ds©rQ   rl   rm   rp   r§   r³   z*Iteration limit reached. (HiGHS Status 14:)r   r5   )rp   r§   z+The problem is infeasible. (HiGHS Status 8:r   r5   z+The problem is unbounded. (HiGHS Status 10:r!   )Ú_highs_to_scipy_status_messageé:   zHello!z;The HiGHS status code was not recognized. (HiGHS Status 58:r%   z>HiGHS did not provide a status code. (HiGHS Status None: None))r	   r   r,   Ú
startswithrR   ÚlenÚscipy.optimize._linprog_highsrÊ   )r   r2   rO   rP   rQ   rI   rH   rp   rÇ   r³   rÊ   r   r,   s                r   Útest_highs_status_messagerÏ   1  sì  € Ü
�!˜GÔ
$€CØ
B€CØ�:‰:˜Š?Ðˆ?Ø�;‰;×!Ñ! #Ô&Ð&Ð&ä& q›/Ñ€A€qˆ!ˆW�aØˆXœ˜A›Ñ€FØ�#œ˜A›‘,€KØ˜SÐ!€GÜ
�A˜A A¨f¸WØ!¨{ô<€Cà
1€CØ�:‰:˜Š?Ðˆ?Ø�;‰;×!Ñ! #Ô&Ð&Ð&à˜"ˆo€GÜ
�A˜A A¨f¸ZØ!ô#€Cà
6€CØ�:‰:˜Š?Ðˆ?Ø�;‰;×!Ñ! #Ô&Ð&Ð&ä
�!˜G¨GÔ
4€CØ
7€CØ�:‰:˜Š?Ðˆ?Ø�;‰;×!Ñ! #Ô&Ð&Ð&ä
�"˜WÔ
%€CØ
7€CØ�:‰:˜Š?Ðˆ?Ø�;‰;×!Ñ! #Ô&Ð&Ð&åLÙ4°R¸ÓB�O€FˆGØ
G€CØ�QŠ;Ðˆ;Ø×Ñ˜cÔ"Ð"Ð"á4°T¸4Ó@�O€FˆGØ
J€CØ�QŠ;Ðˆ;Ø×Ñ˜cÔ"Ð"Ñ"r   c                  ó2   — t        ddgddggdgddg¬«       y )Nr   r5   r   ç      À©rj   rk   rÇ   )r	   r}   r   r   Útest_bug_17380rÓ   ^  s    € ÜˆQ�ˆF˜2˜q˜'˜¨$¨¸aÀ¸VÖDr   c                   ó8  — e 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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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(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEdD„ ZFdE„ ZGdF„ ZHdG„ ZIdH„ ZJdI„ ZKdJ„ ZLdK„ ZMdL„ ZNdM„ ZOePj¢                  j¥                  eSj¨                  dNk(  dO¬P«      dQ„ «       ZUyR)SÚLinprogCommonTestsa�  
    Base class for `linprog` tests. Generally, each test will be performed
    once for every derived class of LinprogCommonTests, each of which will
    typically change self.options and/or self.method. Effectively, these tests
    are run for many combination of method (simplex, revised simplex, and
    interior point) and options (such as pivoting rule or sparse treatment).
    c                 ó   — t        | «       y ©N)r«   ©rª   s    r   Útest_callbackz LinprogCommonTests.test_callbackz  s
   € Ü˜dÕ#r   c                 óv   — t        dd«      \  }}}t        |||| j                  ddi¬«      }t        |d¬«       y )Nrb   ÚdispT©rj   rk   r§   r³   çü‘šf½OÀ©r0   ©r_   r	   r§   r3   ©rª   rO   rP   rQ   r   s        r   Ú	test_dispzLinprogCommonTests.test_disp}  s<   € ä˜2˜rÓ"‰ˆˆ1ˆaÜ�a˜a a°·±Ø% t˜nô.ˆä˜Ð);Ö<r   c                 ó”   — ddg}ddgddgg}ddg}d}d}t        |||||f| j                  | j                  ¬	«      }t        |d
¬«       y )Nr5   r%   rx   r   r   rv   rƒ   ©rx   N)rj   rk   rp   r³   r§   éêÿÿÿrÞ   )r	   r³   r§   r3   )rª   rQ   rO   rP   Ú	x0_boundsÚ	x1_boundsr   s          r   Útest_docstring_examplez)LinprogCommonTests.test_docstring_example„  s_   € à�ˆGˆØ�!ˆW�q˜!�fÐˆØ�ˆFˆØ ˆ	Øˆ	Ü�a˜a a°¸IÐ0FØ"Ÿl™l°4·;±;ô@ˆä˜¨Ö-r   c           	      ór   — dg}dgg}d}t        t        t        |||| j                  | j                  ¬«       y )Nr   Úhello©rl   rm   r§   r³   )r´   Ú	TypeErrorr	   r§   r³   )rª   rQ   rl   rm   s       r   Útest_type_errorz"LinprogCommonTests.test_type_error�  s:   € ð ˆCˆØ�ˆuˆØˆÜ”i¤Ø˜d¨Ø!Ÿ[™[°$·,±,ö	@r   c           
      ób  — t        j                  dg«      }t        j                  dgg«      }t        j                  dg«      }|j                  «       }dt         j                  f}t	        |||t
        t        || j                  | j                  ¬«      }t        |ddg¬«       t        ||«       y )Nç      ð?ç      @ç      À©r§   r³   r|   r©   )r8   rB   r?   re   r	   rl   rm   r§   r³   r3   r   )rª   rQ   rj   Ú	b_ub_origrk   rp   r   s          r   Útest_aliasing_b_ubz%LinprogCommonTests.test_aliasing_b_ub™  s‰   € ô �H‰H�c�U‹OˆÜ�x‰x˜#˜˜Ó ˆÜ—H‘H˜c˜U“Oˆ	Ø�~‰~ÓˆØœŸ™�ˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸°tÕ<Ü˜	 4Õ(r   c           
      ób  — t        j                  dg«      }t        j                  dgg«      }t        j                  dg«      }|j                  «       }dt         j                  f}t	        |t
        t        |||| j                  | j                  ¬«      }t        |ddg¬«       t        ||«       y )Nrî   rï   rð   rñ   r!   r©   )r8   rB   r?   re   r	   rj   rk   r§   r³   r3   r   )rª   rQ   rl   Ú	b_eq_origrm   rp   r   s          r   Útest_aliasing_b_eqz%LinprogCommonTests.test_aliasing_b_eq¦  s‰   € ô �H‰H�c�U‹OˆÜ�x‰x˜#˜˜Ó ˆÜ—H‘H˜c˜U“Oˆ	Ø�~‰~ÓˆØœŸ™�ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨°q°cÕ:Ü˜	 4Õ(r   c           
      ó–   — dg}dgg}dg}dgg}dg}d}t        ||||||| j                  | j                  ¬«      }t        |ddg¬«       y )Nrî   rï   g       @)ç      ð¿ç      $@rñ   r   r©   )r	   r§   r³   r3   ©rª   rQ   rj   rk   rl   rm   rp   r   s           r   Útest_non_ndarray_argsz(LinprogCommonTests.test_non_ndarray_args³  sb   € ð ˆEˆØ�ˆwˆØˆuˆØ�ˆwˆØˆuˆØˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨°q°cÖ:r   c                 ó8  ‡ — t        j                  ddg«      }ddgddgddgg}g d¢}	 	 dˆ fd„	}‰ j                  D �ci c]  }|‰ j                  |   “Œ }}d|d	<   t        j                  t
        «      5   |||||¬
«       d d d «       y c c}w # 1 sw Y   y xY w)Nrx   r£   r   r   r   r¤   c           
      ó@   •— t        | |||||‰j                  |¬«       y ©Nrñ   ©r	   r§   )rQ   rj   rk   rl   rm   rp   r³   rª   s          €r   Úfz2LinprogCommonTests.test_unknown_options.<locals>.fÅ  s    ø€ ä�A�t˜T 4¨¨vØŸ;™;°ö9r   é*   Úspamr²   )NNNNNN)r8   rB   r³   r¶   r·   r
   )rª   rQ   rj   rk   r   ÚkeyÚos   `      r   Útest_unknown_optionsz'LinprogCommonTests.test_unknown_optionsÀ  sž   ø€ Ü�H‰H�b˜"�XÓˆØ�A�˜˜A˜  A Ð'ˆÚˆà,0Ø.2õ	9ð
 04¯|ª|Ó<©|¨ˆS�$—,‘,˜sÑ#Ñ#¨|ˆÐ<Øˆˆ&‰	ä�\‰\œ/Õ*Ùˆa�d ¨qÕ1÷ +Ð*ùò =÷ +Ð*ús   ¾BÁ5BÂBc           	      ó8  — t        j                  ddgddgddgg«      }t        j                  g d¢«      }t        j                  ddg«       }dt         j                  fgt        |«      z  }dgt        |«      z  }t	        j
                  t        «      5  t        ||||| j                  |¬«      }d d d «       t         j                  j                  j                  dd	g«       t         j                  j                  |j                  d
«       y # 1 sw Y   Œ`xY w)Nr5   r   r!   r   ©r   é   r  r   ©rQ   rj   rk   rp   r§   rÇ   çÍÌÌÌÌÌü?çffffff@çffffffÀ)r8   rB   re   rÍ   r¶   r·   r
   r	   r§   Útestingr   r/   r.   ©rª   rj   rk   rQ   rp   rÇ   r   s          r   Útest_integrality_without_highsz1LinprogCommonTests.test_integrality_without_highsÐ  sÛ   € ô �x‰x˜"˜a˜ 1 a &¨1¨a¨&Ð1Ó2ˆÜ�x‰xšÓ$ˆÜ�X‰X�q˜!�fÓÐˆà”b—f‘f�+�¤ Q£Ñ'ˆØ�cœC ›F‘lˆä�\‰\œ/Õ*Ü˜A D¨t¸FØ!%§¡¸+ôGˆC÷ +ô 	�
‰
×"Ñ" 3§5¡5¨3°¨*Ô5Ü
�
‰
×"Ñ" 3§7¡7¨DÕ1÷ +Ð*ús   ÂDÄDc                 ó°  ‡ — dˆ fd„	}t        t        |g d¢ddg¬«       t        j                  «       5  t        j                  ddt
        «       t        t        |g d¢g d¢¬«       d d d «       t        t        |g d¢d	dg¬«       t        t        |d
dgd
dggd
dg¬«       t        t        |d
dgd
ggd
g¬«       t        t        |d
dgd
dggd
dg¬«       t        t        |d
dgd
ggd
g¬«       t        t        |d
dgd
gd
¬«       d‰ j                  v r‰ j                  d   ry t        t        |d
dgt        j                  d«      d
¬«       y # 1 sw Y   ŒçxY w)Nc           
      óT   •— t        | |||||‰j                  ‰j                  ¬«       y rþ   ©r	   r§   r³   ©rQ   rj   rk   rl   rm   rp   rª   s         €r   r   z1LinprogCommonTests.test_invalid_inputs.<locals>.fä  ó$   ø€ Ü�A�t˜T 4¨¨vØŸ;™;°·±ö>r   ©r   r   r!   r˜   ©r!   r%   ©rp   ÚignorezCreating an ndarray from ragged)r˜   r  )r!   r%   é   ©r   r£   r   r   )rj   rk   )rl   rm   Ú_sparse_presolve)r   r   r!   )rj   rm   ©NNNNN)	r´   rµ   ÚwarningsÚcatch_warningsÚfilterwarningsr   r³   r8   r=   )rª   r   s   ` r   Útest_invalid_inputsz&LinprogCommonTests.test_invalid_inputsâ  s8  ø€ õ	>ô
 	”j !¢Y¸ÀÐ7GÕHÜ×$Ñ$Õ&Ü×#Ñ#ØÐ;Ô=VôXäœ* aªÒ;VÕW÷ 'ô 	”j !¢Y¸ÀÐ7HÕIô 	”j ! a¨ V°A°q°6°(À!ÀQÀÕHÜ”j ! a¨ V°A°3°%¸q¸cÕBÜ”j ! a¨ V°A°q°6°(À!ÀQÀÕHÜ”j ! a¨ V°A°3°%¸q¸cÕBÜ”j ! a¨ V°1°#¸AÕ>ð  $§,¡,Ñ.Ø—‘Ð/Ò0Øô 	”j ! a¨ V´"·(±(¸9Ó2EÈAÖN÷' 'Ð&ús   ³3EÅEc           	      óÐ  ‡ — dˆ fd„	}t         j                  j                  d«      }d}d}t        j                  j                  ||fd|¬«      }|j                  |«      }|j                  |«      }||j                  |«      z   }||j                  |«      z
  }	t        j                  |	|f«      }
||z  }‰ j                  dv rNt        t        d‰ j                  › d	�¬
«      5  t        ||||
‰ j                  ‰ j                  ¬«       d d d «       y i ‰ j                  ¥}‰ j                  dv rd|d<   t        ||||
‰ j                  |¬«      }|j                  sJ ‚y # 1 sw Y   y xY w)Nc           
      óT   •— t        | |||||‰j                  ‰j                  ¬«       y rþ   r  r  s         €r   r   z5LinprogCommonTests.test_sparse_constraints.<locals>.f  r  r   l   °QûxD;éd   é–   rd   )ÚdensityrG   >   rÀ   r¿   zMethod 'z.' does not support sparse constraint matrices.r¯   rÉ   >   r¾   Tr‰   r  )r8   r9   r:   rˆ   r‰   Úrandom_arrayr†   Úcolumn_stackr§   r´   rµ   r	   r³   r   )rª   r   rG   rY   rF   rl   Úx_validrQ   ro   rn   rp   rm   r³   r   s   `             r   Útest_sparse_constraintsz*LinprogCommonTests.test_sparse_constraintsÿ  s[  ø€ õ	>ô �i‰i×#Ñ#Ð$4Ó5ˆØˆØˆÜ�|‰|×(Ñ(¨!¨Q¨¸À#Ð(ÓFˆØ×%Ñ% aÓ(ˆØ×Ñ Ó"ˆØ�s—z‘z !“}Ñ$ˆØ�s—z‘z !“}Ñ$ˆÜ—‘ " b Ó*ˆØ�g‰~ˆà�;‰;Ð8Ñ8äœz°8¸D¿K¹K¸=ð INð 2Nö Oä˜! $¨T¸&Ø#Ÿ{™{°D·L±LõB÷Oð Oð '˜Ÿ™Ð&ˆGØ�{‰{Ð0Ñ0Ø$(�˜Ñ!ä˜A D¨t¸FØ!%§¡°gô?ˆCà—;’;Ð‘;÷Oð Oús   Ã"&EÅE%c                 óª   — g d¢}g d¢g d¢g d¢g}g d¢}d}t        |||| j                  d|i¬«      }t        ||«       t        |j                  |«       y )	N©r%   rs   r!   r   r   r   ©r   r  r!   r5   r   r   ©r!   ç      @rs   r   r5   r   ©rs   ra   r%   r   r   r5   ©é¹   é›   iX  r!   r   rê   )r	   r§   r   r   r™   )rª   rQ   rO   rP   r   r   s         r   Útest_maxiterzLinprogCommonTests.test_maxiter   sY   € âˆâÚ!Ú ð"ˆò ˆØˆÜ�a˜a a°·±Ø(¨'Ð2ô4ˆä'¨¨WÔ5Ü�S—W‘W˜gÕ&r   c                 ó¸  — | j                   j                  dd«      }t        dgd| j                  | j                   ¬«      }t	        |dd«       |rt        |j                  d«       t        g d¢g d¢| j                  | j                   ¬«      }t	        |d	g d
¢«       |rt        |j                  d«       t        ddgddg| j                  | j                   ¬«      }t	        |dddg«       |rt        |j                  d«       t        g d¢g d¢g d¢gddgg d¢| j                  | j                   ¬«      }t	        |dg d¢«       |rt        |j                  d«       y y )NÚpresolveTr   )r   r   ©rp   r§   r³   r   r  ))r  r  )r5   r5   )r!   r!   r  )r  r5   r!   )r   r!   r   )r   r   r   ©r   r   r   ©r   r   r   rz   ))éûÿÿÿr  )r   ra   )ç      @r:  ©rl   rm   rp   r§   r³   é   )r   rz   r:  )r³   Úgetr	   r§   r3   r   r™   ©rª   Údo_presolver   s      r   Útest_bounds_fixedz$LinprogCommonTests.test_bounds_fixed.  s#  € ð
 —l‘l×&Ñ& z°4Ó8ˆä�q�c &Ø!Ÿ[™[°$·,±,ô@ˆä˜˜Q Ô"ÙÜ˜Ÿ™ !Ô$ä’iÒ(BØ!Ÿ[™[°$·,±,ô@ˆä˜˜R¢Ô,ÙÜ˜Ÿ™ !Ô$ä�q˜!�f f¨fÐ%5Ø!Ÿ[™[°$·,±,ô@ˆä˜˜Q  A Ô'ÙÜ˜Ÿ™ !Ô$ä’i¢y²)Ð&<ÀAÀqÀ6Ú;Ø!Ÿ[™[°$·,±,ô@ˆô 	˜˜R¢Ô-ÙÜ˜Ÿ™ !Õ$ð r   c                 óð  — | j                   j                  dd«      }t        dgd| j                  | j                   ¬«      }t	        |«       |rt        |j                  d«       t        dgdg| j                  | j                   ¬«      }t	        |«       |rt        |j                  d«       t        g d¢g d¢| j                  | j                   ¬«      }t	        |«       |rt        |j                  d«       y y )	Nr5  Tr   r  r6  r   r  ))r  r   r˜   r  )r³   r=  r	   r§   r   r   r™   r>  s      r   Útest_bounds_infeasiblez)LinprogCommonTests.test_bounds_infeasibleN  s½   € ð
 —l‘l×&Ñ& z°4Ó8ˆä�q�c '°$·+±+ÀtÇ|Á|ÔTˆÜ˜3ÔÙÜ˜Ÿ™ !Ô$ä�q�c 7 )°D·K±KÈÏÉÔVˆÜ˜3ÔÙÜ˜Ÿ™ !Ô$ä’iÒ(@Ø!Ÿ[™[°$·,±,ô@ˆä˜3ÔÙÜ˜Ÿ™ !Õ$ð r   c                 óÀ  ‡ — ‰ j                   j                  dd«      }| xr ‰ j                  dk(  }g d¢}dt        j                  t        j                  fdg}dt        j                   t        j                   fdg}|r¢ˆ fd„}t        j                  t        «      5  t        j                  t        «      5   |||¬«       d d d «       d d d «       t        j                  t        «      5  t        j                  t        «      5   |||¬«       d d d «       d d d «       y t        ||‰ j                  ‰ j                   ¬	«      }t        |«       |rt        |j                  d
«       t        ||‰ j                  ‰ j                   ¬	«      }t        |«       |rt        |j                  d
«       y y # 1 sw Y   ŒîxY w# 1 sw Y   ŒòxY w# 1 sw Y   Œ¸xY w# 1 sw Y   y xY w)Nr5  TrÀ   r  r˜   r  c                 óN   •— t        | |‰j                  ‰j                  ¬«      }|S )Nr6  r  )rQ   rp   r   rª   s      €r   Úgz6LinprogCommonTests.test_bounds_infeasible_2.<locals>.gv  s$   ø€ Ü˜a¨Ø%)§[¡[¸$¿,¹,ôH�à�
r   r  ©rQ   rp   r§   r³   r   )r³   r=  r§   r8   re   r¶   r·   ÚRuntimeWarningr   Ú
IndexErrorr	   r   r   r™   )rª   r?  Úsimplex_without_presolverQ   Úbounds_1Úbounds_2rE  r   s   `       r   Útest_bounds_infeasible_2z+LinprogCommonTests.test_bounds_infeasible_2e  sh  ø€ ð —l‘l×&Ñ& z°4Ó8ˆØ'2 ?Ò#O°t·{±{ÀiÑ7OÐ âˆØœRŸV™V¤R§V¡VÐ,¨fÐ5ˆØœbŸf™f˜W¤r§v¡v gÐ.°Ð7ˆá#ôô
 —‘œnÕ-Ü—]‘]¤:Õ.Ù�a Õ)÷ /÷ .ô —‘œnÕ-Ü—]‘]¤:Õ.Ù�a Õ)÷ /÷ .Ð-ô ˜A hØ!%§¡°d·l±lôDˆCä˜sÔ#ÙÜ˜SŸW™W aÔ(Ü˜A hØ!%§¡°d·l±lôDˆCä˜sÔ#ÙÜ˜SŸW™W aÕ(ð ÷ /Ð.ú÷ .Ð-ú÷
 /Ð.ú÷ .Ð-úsH   ÂF<Â8F0ÃF<Ã,GÄGÄGÆ0F9	Æ5F<Æ<GÇG	ÇGÇGc                 óf   — ddg}t        || j                  | j                  ¬«      }t        |«       y )Nr5   r£   rñ   )r	   r§   r³   r"   )rª   rQ   r   s      r   Útest_empty_constraint_1z*LinprogCommonTests.test_empty_constraint_1Ž  s)   € Ø�ˆHˆÜ�a §¡°T·\±\ÔBˆÜ˜#Õr   c                 ó  — g d¢}dt         j                  ft         j                   dfddg}t        ||| j                  | j                  ¬«      }t        |«       | j                  j                  dd«      rt        |j                  d«       y y )N)r5   r   r5   r   r   ©r5   r   r6  r5  T)	r8   re   r	   r§   r³   r"   r=  r   r™   ©rª   rQ   rp   r   s       r   Útest_empty_constraint_2z*LinprogCommonTests.test_empty_constraint_2“  sr   € ÚˆØ”b—f‘f�+¤§¡ ¨˜|¨W°gÐ>ˆÜ�a Ø!Ÿ[™[°$·,±,ô@ˆä˜#Ôà�<‰<×Ñ˜J¨Ô-Ü˜Ÿ™ !Õ$ð .r   c                 óÀ   — g d¢}dt         j                  ft         j                   dfddg}t        ||| j                  | j                  ¬«      }t        |g d¢d¬«       y )N)r   r5   r   r5   r   rP  r6  )r   r   r5   r   r£   ©r1   r0   )r8   re   r	   r§   r³   r3   rQ  s       r   Útest_empty_constraint_3z*LinprogCommonTests.test_empty_constraint_3�  sO   € ÚˆØ”b—f‘f�+¤§¡ ¨˜|¨W°gÐ>ˆÜ�a Ø!Ÿ[™[°$·,±,ô@ˆä˜¢}À"ÖEr   c           
      óÜ   — t        j                  ddg«      dz  }ddgddgddgg}g d¢}t        |||t        t        t
        | j                  | j                  ¬«      }t        |ddd	g¬
«       y )Nr!   r   r5   r   r   r¤   rñ   iîÿÿÿrv   r©   ©	r8   rB   r	   rl   rm   rp   r§   r³   r3   ©rª   rQ   rj   rk   r   s        r   Útest_inequality_constraintsz.LinprogCommonTests.test_inequality_constraints¤  sr   € ô �H‰H�a˜�VÓ˜rÑ!ˆØ�A�Ø�A�Ø�A�ðˆò ˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸¸A¸Ö?r   c           
      ó°   — ddg}ddgddgddgg}g d¢}t        |||t        t        t        | j                  | j
                  ¬«      }t        |d	d
dg¬«       y )Nrv   r!   r   r5   r£   r   )r   r5   r5   rñ   r  gUUUUUUå?gUUUUUUÕ?r©   ©r	   rl   rm   rp   r§   r³   r3   rX  s        r   Útest_inequality_constraints2z/LinprogCommonTests.test_inequality_constraints2°  sd   € ð �ˆFˆØ�A�Ø�R�Ø�Q�ðˆò ˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨°u¸e°nÖEr   c           
      ó0  — ddg}d}t        |t        t        t        t        || j
                  | j                  ¬«      }t        |ddg¬«       ddg}t        |t        t        t        t        || j
                  | j                  ¬«      }t        |ddg¬«       y )Nr   r   r˜   rñ   ©r1   )r	   rj   rk   rl   rm   r§   r³   r3   rQ  s       r   Útest_bounds_simplez%LinprogCommonTests.test_bounds_simple½  s~   € Ø�ˆFˆØˆÜ�aœœt¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¨1 vÕ.à˜&Ð!ˆÜ�aœœt¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¨1 vÖ.r   c           
      ó
  — t        j                  dg«      }t        j                  dgg«      }t        j                  dg«      }d}t        |t        t        |||| j
                  | j                  ¬«      }t        |ddg¬«       y )Nrî   rï   )rî   Nrñ   r!   r©   ©r8   rB   r	   rj   rk   r§   r³   r3   ©rª   rQ   rl   rm   rp   r   s         r   Útest_bounded_below_only_1z,LinprogCommonTests.test_bounded_below_only_1É  si   € Ü�H‰H�c�U‹OˆÜ�x‰x˜#˜˜Ó ˆÜ�x‰x˜˜‹ˆØˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨°q°cÖ:r   c           
      óJ  — t        j                  d«      }t        j                  d«      }t        j                  g d¢«      }dt         j                  f}t        |t        t        |||| j                  | j                  ¬«      }t        ||t        j                  |«      ¬«       y )Nr!   r  rd   rñ   rT  ©r8   r‡   ÚeyerB   re   r	   rj   rk   r§   r³   r3   Úsumrb  s         r   Útest_bounded_below_only_2z,LinprogCommonTests.test_bounded_below_only_2Ò  so   € Ü�G‰G�A‹JˆÜ�v‰v�a‹yˆÜ�x‰xš	Ó"ˆØ”r—v‘v�ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜ t¼¿¹À»ÖFr   c           
      ó
  — t        j                  dg«      }t        j                  dgg«      }t        j                  dg«      }d}t        |t        t        |||| j
                  | j                  ¬«      }t        |ddg¬«       y )Nrî   rï   )Nrù   rñ   r!   r©   ra  rb  s         r   Útest_bounded_above_only_1z,LinprogCommonTests.test_bounded_above_only_1Û  si   € Ü�H‰H�c�U‹OˆÜ�x‰x˜#˜˜Ó ˆÜ�x‰x˜˜‹ˆØˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨°q°cÖ:r   c           
      óL  — t        j                  d«      }t        j                  d«      }t        j                  g d¢«      }t         j                   df}t        |t        t        |||| j                  | j                  ¬«      }t        ||t        j                  |«      ¬«       y )Nr!   r  r%   rñ   rT  re  rb  s         r   Útest_bounded_above_only_2z,LinprogCommonTests.test_bounded_above_only_2ä  sq   € Ü�G‰G�A‹JˆÜ�v‰v�a‹yˆÜ�x‰xš	Ó"ˆÜ—6‘6�'˜1�ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜ t¼¿¹À»ÖFr   c           
      óh  — t        j                  d«      }t        j                  d«      }t        j                  g d¢«      }t         j                   t         j                  f}t        |t        t        |||| j                  | j                  ¬«      }t        ||t        j                  |«      ¬«       y )Nr!   r  rñ   rT  re  rb  s         r   Útest_bounds_infinityz'LinprogCommonTests.test_bounds_infinityí  sv   € Ü�G‰G�A‹JˆÜ�v‰v�a‹yˆÜ�x‰xš	Ó"ˆÜ—6‘6�'œ2Ÿ6™6Ð"ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜ t¼¿¹À»ÖFr   c           
      ó‚  — t        j                  ddg«      dz  }t        j                  ddgddggt         j                  ¬«      }ddg}t         j                   t         j                  f}dt         j                  f}||f}t	        |||t
        t        || j                  | j                  ¬«      }t        |d	d
dg¬«       y )Nr5   r%   rx   r   r   r6   rv   rñ   g·mÛ¶mÛ&Àg’$I’$Iò¿g%I’$I’@r©   )
r8   rB   Úfloat64re   r	   rl   rm   r§   r³   r3   )rª   rQ   rj   rk   rå   ræ   rp   r   s           r   Útest_bounds_mixedz$LinprogCommonTests.test_bounds_mixedö  s«   € ô �H‰H�b˜!�WÓ Ñ"ˆÜ�x‰x˜"˜a˜Ø˜Q˜ð!Ü(*¯
©
ô4ˆà�1ˆvˆÜ—f‘f�WœbŸf™fÐ%ˆ	ØœŸ™�Lˆ	Ø˜YÐ'ˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸VÀVÐ<LÖMr   c           
      ó¦   — ddg}ddgddgddgg}g d¢}dd	g}t        |||t        t        || j                  | j                  ¬
«      }t        |«       y ©Nr|   r   rz   r£   r   r   )é   r   r!   ©r   r   r„   rñ   )r	   rl   rm   r§   r³   r   ©rª   rQ   rj   rk   rp   r   s         r   Ú test_bounds_equal_but_infeasiblez3LinprogCommonTests.test_bounds_equal_but_infeasible  s^   € Ø�ˆGˆØ�B�˜!˜Q˜ ! R Ð)ˆÚˆØ˜)Ð$ˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜3Õr   c           
      ó¦   — ddg}ddgddgddgg}g d¢}dd	g}t        |t        t        |||| j                  | j                  ¬
«      }t        |«       y rs  )r	   rj   rk   r§   r³   r   rb  s         r   Ú!test_bounds_equal_but_infeasible2z4LinprogCommonTests.test_bounds_equal_but_infeasible2  s^   € Ø�ˆGˆØ�B�˜!˜Q˜ ! R Ð)ˆÚˆØ˜)Ð$ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜3Õr   c           
      óî   — ddg}ddgddgg}ddg}ddg}| j                   D �ci c]  }|| j                   |   “Œ }}d	|d
<   t        |||t        t        || j                  |¬«      }t        |«       y c c}w )Nr   r   gš™™™™™ñ?gš™™™™™@r%   rs   r˜   ru  Fr5  rñ   )r³   r	   rl   rm   r§   r   )rª   rQ   rj   rk   rp   r  r  r   s           r   Útest_bounds_equal_no_presolvez0LinprogCommonTests.test_bounds_equal_no_presolve  s�   € ð
 �ˆFˆØ�A�˜˜c˜
Ð#ˆØ�1ˆvˆØ˜&Ð!ˆà/3¯|ª|Ó<©|¨ˆS�$—,‘,˜sÑ#Ñ#¨|ˆÐ<Øˆˆ*‰ä�a˜˜t¤T¬4°Ø!Ÿ[™[°!ô5ˆä˜3Õùò =s   £A2c           
      óP  — d\  }}t         j                  j                  d«      }|j                  |«      }d|d<   |j                  ||f«      }d|d d …df<   |j                  |«      }g d¢g}d}g d¢}	t        ||||||	| j                  | j
                  ¬«      }
t        |
d	¬
«       y )Nr  l   ujo0o r   r   )r   r   r   r   r!   )©ry   ra   r}  )ry   Nrƒ   rñ   gç•Ã[µø"ÀrÞ   )r8   r9   r:   r	   r§   r³   r3   )rª   rY   rF   rG   rQ   rl   rm   rj   rk   rp   r   s              r   Útest_zero_column_1z%LinprogCommonTests.test_zero_column_1'  s¡   € Ø‰ˆˆ1Ü�i‰i×#Ñ# OÓ4ˆØ�J‰J�q‹MˆØˆˆ!‰Ø�z‰z˜1˜a˜&Ó!ˆØˆŠQ�ˆT‰
Ø�z‰z˜!‹}ˆÚˆ~ˆØˆÚBˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜Ð);Ö<r   c           
      ó\  — | j                   dv rt        j                  «        t        j                  j                  d«      }d\  }}|j	                  |«      }d|d<   |j	                  ||f«      }d|d d …df<   |j	                  |«      }|j	                  ||f«      }d|d d …df<   |j	                  |«      }d}	t        ||||||	| j                   | j                  ¬«      }
t        |
«       | j                  j                  d	d
«      r&d| j                   vrt        |
j                  d«       y y y )N>   rÈ   ú	highs-ipml   éT-—	Îr r$   r5   r   r   rƒ   rñ   r5  Trº   )r§   r¶   Úxfailr8   r9   r:   r	   r³   r"   r=  r   r™   )rª   rG   rY   rF   rQ   rl   rm   rj   rk   rp   r   s              r   Útest_zero_column_2z%LinprogCommonTests.test_zero_column_26  s  € Ø�;‰;Ð3Ñ3ä�L‰LŒNä�i‰i×#Ñ#Ð$7Ó8ˆØ‰ˆˆ1Ø�J‰J�q‹MˆØˆˆ!‰Ø�z‰z˜1˜a˜&Ó!ˆØˆŠQ�ˆT‰
Ø�z‰z˜!‹}ˆà�z‰z˜1˜a˜&Ó!ˆØˆŠQ�ˆT‰
Ø�z‰z˜!‹}ˆØˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜#Ôà�<‰<×Ñ˜J¨Ô-°'ÀÇÁÑ2Lô ˜Ÿ™ !Õ$ð	 3MÐ-r   c           
      óª   — g d¢}g d¢g d¢g d¢g}g d¢}t        |t        t        ||t        | j                  | j
                  ¬«      }t        |d¬«       y )Nr  ©r   r   r   ©r   r   r   ©r   r!   r   rñ   r!   rÞ   ©r	   rj   rk   rp   r§   r³   r3   ©rª   rQ   rl   rm   r   s        r   Útest_zero_row_1z"LinprogCommonTests.test_zero_row_1Q  sF   € ÚˆÚš9¢iÐ0ˆÚˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨Ö+r   c           
      óª   — g d¢g d¢g d¢g}g d¢}g d¢}t        |||t        t        t        | j                  | j
                  ¬«      }t        |d¬«       y )Nr„  r…  r†  r  rñ   r   rÞ   r[  ©rª   rj   rk   rQ   r   s        r   Útest_zero_row_2z"LinprogCommonTests.test_zero_row_2Y  sF   € Úš9¢iÐ0ˆÚˆÚˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨Ö+r   c           
      óª  — d\  }}t         j                  j                  d«      }|j                  |«      }|j                  ||f«      }d|dd d …f<   |j                  |«      }t        |t        t
        ||t        | j                  | j                  ¬«      }t        |«       | j                  j                  dd«      rt        |j                  d«       y y )Nr$   l   Ñ<ôl(S‹r   rñ   r5  T)r8   r9   r:   r	   rj   rk   rp   r§   r³   r   r=  r   r™   ©rª   rY   rF   rG   rQ   rl   rm   r   s           r   Útest_zero_row_3z"LinprogCommonTests.test_zero_row_3a  s®   € Ø‰ˆˆ1Ü�i‰i×#Ñ#Ð$5Ó6ˆØ�J‰J�q‹MˆØ�z‰z˜1˜a˜&Ó!ˆØˆˆQ’ˆT‰
Ø�z‰z˜!‹}ˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜3Ôð �<‰<×Ñ˜J¨Ô-Ü˜Ÿ™ !Õ$ð .r   c           
      ó¬  — d\  }}t         j                  j                  d«      }|j                  |«      }|j                  ||f«      }d|dd d …f<   |j                  |«       }t        |||t        t
        t        | j                  | j                  ¬«      }t        |«       | j                  j                  dd«      rt        |j                  d«       y y )Nr$   l   ­ºFË- r   rñ   r5  T)r8   r9   r:   r	   rl   rm   rp   r§   r³   r   r=  r   r™   )rª   rY   rF   rG   rQ   rj   rk   r   s           r   Útest_zero_row_4z"LinprogCommonTests.test_zero_row_4p  s°   € Ø‰ˆˆ1Ü�i‰i×#Ñ#Ð$4Ó5ˆØ�J‰J�q‹MˆØ�z‰z˜1˜a˜&Ó!ˆØˆˆQ’ˆT‰
Ø—
‘
˜1“ˆ~ˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜3Ôð �<‰<×Ñ˜J¨Ô-Ü˜Ÿ™ !Õ$ð .r   c           
      ó  — g d¢}g d¢g d¢g d¢g d¢g}g d¢}t        |t        t        ||t        | j                  | j
                  ¬«      }t        |«       | j
                  j                  dd«      rt        |j                  d	«       y y )
N©r   r   r   r   ©r   r   r   r   ©r   r   r   r   ©r   r   r   r   )r   r   r   r%   rñ   r5  Tr   )
r	   rj   rk   rp   r§   r³   r   r=  r   r™   rˆ  s        r   Útest_singleton_row_eq_1z*LinprogCommonTests.test_singleton_row_eq_1  so   € ÚˆÚšlªLº,ÐGˆÚˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜3Ôð �<‰<×Ñ˜J¨Ô-Ü˜Ÿ™ !Õ$ð .r   c           
      ó°   — g d¢}g d¢g d¢g d¢g d¢g}g d¢}t        |t        t        ||t        | j                  | j
                  ¬«      }t        |d¬«       y )	Nr“  r”  r•  r–  )r   r   r   r%   rñ   r%   rÞ   r‡  rˆ  s        r   Útest_singleton_row_eq_2z*LinprogCommonTests.test_singleton_row_eq_2‹  sH   € ÚˆÚšlªLº,ÐGˆÚˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨Ö+r   c           
      ó  — g d¢}g d¢g d¢g d¢g d¢g}g d¢}g d¢}t        |||t        t        || j                  | j                  ¬«      }t        |«       | j                  j                  d	d
«      rt        |j                  d«       y y )Nr“  r”  r•  ©r5   r   r   r   r–  )r   r   r£   r%   ©rƒ   r„   r„   r„   rñ   r5  Tr   ©	r	   rl   rm   r§   r³   r   r=  r   r™   rv  s         r   Útest_singleton_row_ub_1z*LinprogCommonTests.test_singleton_row_ub_1“  st   € ÚˆÚšlªMº<ÐHˆÚˆÚ@ˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜3Ôð �<‰<×Ñ˜J¨Ô-Ü˜Ÿ™ !Õ$ð .r   c           
      ó°   — g d¢}g d¢g d¢g d¢g d¢g}g d¢}g d¢}t        |||t        t        || j                  | j                  ¬«      }t        |d	¬
«       y )Nr“  r”  r•  r›  r–  )r   r   ç      à¿r%   rœ  rñ   rd   rÞ   )r	   rl   rm   r§   r³   r3   rv  s         r   Útest_singleton_row_ub_2z*LinprogCommonTests.test_singleton_row_ub_2   sM   € ÚˆÚšlªMº<ÐHˆÚˆÚ@ˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨Ö-r   c           
      ó¦   — ddg}ddgddgddgg}g d¢}t        |||t        t        t        | j                  | j
                  ¬«      }t        |«       y )Nr5   r   r   )r   r   r9  rñ   )r	   rl   rm   rp   r§   r³   r   rX  s        r   Útest_infeasiblez"LinprogCommonTests.test_infeasible©  sZ   € à�ˆHˆØ�A�Ø�A�Ø�R�ðˆò ˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜3Õr   c           
      óô   — dg}dgg}d}d}t        |||t        t        || j                  | j                  ¬«      }t        |«       | j                  j                  dd«      rt        |j                  d«       y y )	Nr   r   r%   )r  rv   rñ   r5  Tr   r�  rv  s         r   Ú!test_infeasible_inequality_boundsz4LinprogCommonTests.test_infeasible_inequality_bounds´  sq   € ØˆCˆØ�ˆuˆØˆØˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜3Ôð �<‰<×Ñ˜J¨Ô-Ü˜Ÿ™ !Õ$ð .r   c           
      óÌ   — t        j                  ddg«      dz  }ddgddgg}ddg}t        |||t        t        t
        | j                  | j                  ¬«      }t        |«       y )Nr   r5   r£   rñ   )	r8   rB   r	   rl   rm   rp   r§   r³   r"   rX  s        r   Útest_unboundedz!LinprogCommonTests.test_unboundedÁ  sc   € ä�H‰H�a˜�VÓ˜rÑ!ˆØ�Q�Ø�R�ðˆà�BˆxˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜#Õr   c                 ó  — dg}dg}| j                   D �ci c]  }|| j                   |   “Œ }}d|d<   t        ||| j                  |¬«      }| j                  dk(  rt        |j                  d«       y t        |«       y c c}w )Nr   ©Nr   Fr5  rF  r¿   r  )r³   r	   r§   r   r   r"   )rª   rQ   rp   r  r  r   s         r   Ú*test_unbounded_below_no_presolve_correctedz=LinprogCommonTests.test_unbounded_below_no_presolve_correctedË  s�   € ØˆCˆØ�ˆà/3¯|ª|Ó<©|¨ˆS�$—,‘,˜sÑ#Ñ#¨|ˆÐ<Øˆˆ*‰ä˜ &Ø!Ÿ[™[Øô!ˆð �;‰;Ð+Ò+ä˜Ÿ™ QÕ'ä˜cÕ"ùò =s   •A>c           
      óì  — t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g«      }t        j                  g d¢«      }g d¢}t        |||t        t        || j
                  | j                  ¬«      }t        |«       | j
                  j                  «       j                  d«      sAt        |j                  d	   t         j                  «       t        |j                  d
d d«       y
y
)ú|
        Test whether presolve pathway for detecting unboundedness after
        constraint elimination is working.
        )r   r   r   r   r5   r5   ©r   r   r   r   r   r   ©r   r   r   r   r   r   )r   r   r   r   r   r5   ©r   r£   r   )rƒ   rƒ   rƒ   rP  rP  r„   rñ   rº   r5   Né$   ú$The problem is (trivially) unbounded©r8   rB   r	   rl   rm   r§   r³   r"   ÚlowerrÌ   r   r/   re   r,   rv  s         r   Ú*test_unbounded_no_nontrivial_constraints_1z=LinprogCommonTests.test_unbounded_no_nontrivial_constraints_1Û  sÁ   € ô
 �H‰HÒ)Ó*ˆÜ�x‰xÒ+Ú+Ú,ð.ó /ˆô �x‰xš
Ó#ˆò/ˆä�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜#ÔØ�{‰{× Ñ Ó"×-Ñ-¨gÔ6Ü˜Ÿ™˜r™¤B§F¡FÔ+Ü˜Ÿ™ S bÐ)Ø?õAð 7r   c           
      óî  — t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g«      }t        j                  g d¢«      }g d¢}t        |||t        t        || j
                  | j                  ¬«      }t        |«       | j
                  j                  «       j                  d«      sBt        |j                  d	   t         j                   «       t        |j                  d
d d«       y
y
)r¬  )r   r   r   r   r5   r   r­  r®  )r   r   r   r   r   r   r¯  )rƒ   rƒ   rƒ   rP  rP  )Nr   rñ   rº   r5   Nr°  r±  r²  rv  s         r   Ú*test_unbounded_no_nontrivial_constraints_2z=LinprogCommonTests.test_unbounded_no_nontrivial_constraints_2ï  sÃ   € ô
 �H‰HÒ(Ó)ˆÜ�x‰xÒ+Ú+Ú+ð-ó .ˆô �x‰xš
Ó#ˆò/ˆä�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜#ÔØ�{‰{× Ñ Ó"×-Ñ-¨gÔ6Ü˜Ÿ™˜r™¤R§V¡V GÔ,Ü˜Ÿ™ S bÐ)Ø?õAð 7r   c           
      óÞ   — t        j                  g d¢«      dz  }g d¢g d¢g d¢g}g d¢}t        |||t        t        t
        | j                  | j                  ¬«      }t        |g d¢d	d
¬«       y )N)r#  ra   r   r5   r7  )rb   r   r   )éÈ   rb   r   )r   r#  é'  rñ   )r   r   r¹  gñhãˆµøÔ>çH¯¼šò×z>)r1   r+   r*   rW  rX  s        r   Útest_cyclic_recoveryz'LinprogCommonTests.test_cyclic_recovery  s`   € ô �H‰H’\Ó" RÑ'ˆÚÚÚðˆò ˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¢}¸4ÀdÖKr   c           
      óÎ  — t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g«      }g d¢}d}| j                  j                  «       D ��ci c]  \  }}||“Œ
 }}}||d<   t	        |||t
        t        t        | j                  |¬«      }| j                  d	k(  r+| j                  j                  d
«      st        ||d   «       y t        |g d¢¬«       y c c}}w )N)ry   é9   rw   g      8@)rd   g      ÀrÑ   rw   )rd   g      ø¿r   r   r”  )r   r   r   r#  r   rñ   rÀ   Úbland)r   r   r   r   r^  )r8   rB   r³   Úitemsr	   rl   rm   rp   r§   r=  r   r3   )	rª   rQ   rj   rk   r   r  Úvalr  r   s	            r   Útest_cyclic_blandz$LinprogCommonTests.test_cyclic_bland  sÌ   € ä�H‰HÒ&Ó'ˆÜ�x‰xÒ-Ú-Ú%ð'ó (ˆò ˆð ˆØ&*§l¡l×&8Ñ&8Ô&:Ô;Ñ&:™(˜#˜sˆS�#‰XÐ&:ˆÑ;Øˆˆ)‰ä�a˜˜t¤T¬4´Ø!Ÿ[™[°!ô5ˆð �;‰;˜)Ò#¨D¯L©L×,<Ñ,<¸WÔ,Eä+¨C°°9±Õ>ô ˜Cª<Ö8ùó <s   ÁC!c                 óú  — d\  }}t         j                  j                  d«      }|j                  |«      }|j                  ||f«      }|j                  |«      }d|dd d …f   z  |dd d …f<   |dxx   dz  cc<   t        j                  «       5  t        j
                  ddt        «       t        |t        t        ||t        | j                  | j                  ¬«      }d d d «       t        «       y # 1 sw Y   ŒxY w)	N)ra   ra   l   $*ËPþ r   r£   r5   r  úA_eq does not appear...rñ   )r8   r9   r:   r  r  r  r
   r	   rj   rk   rp   r§   r³   r   rŽ  s           r   Ú$test_remove_redundancy_infeasibilityz7LinprogCommonTests.test_remove_redundancy_infeasibility(  sÒ   € ð ‰ˆˆ1Ü�i‰i×#Ñ# OÓ4ˆØ�J‰J�q‹MˆØ�z‰z˜1˜a˜&Ó!ˆØ�z‰z˜!‹}ˆØ˜$˜r¢1˜u™+‘oˆˆR’ˆU‰ØˆR‹�B‰‹Ü×$Ñ$Õ&Ü×#Ñ#ØÐ3´_ôFä˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷ 'ô
 	˜3Õ÷ 'Ð&ús   ÂAC1Ã1C:c           
      óš   — t        «       \  }}}}}}}t        |||||t        | j                  | j                  ¬«      }t        |||¬«       y )Nrñ   r©   )r€   r	   rp   r§   r³   r3   ©	rª   rQ   rj   rk   rl   rm   r~   r   r   s	            r   Útest_nontrivial_problemz*LinprogCommonTests.test_nontrivial_problem=  sL   € ô 5GÓ4HÑ1ˆˆ4��t˜T 6¨6Ü�a˜˜t T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸6ÖBr   c                 ó–  — t        dd«      \  }}}t        j                  «       5  t        j                  ddt        «       t        j                  ddt
        «       t        j                  dt        «       t        |||t        t        t        | j                  | j                  ¬«      }d d d «       t        d¬«       y # 1 sw Y   ŒxY w)Nrb   r  ú$Solving system with option 'sym_pos'úinvalid value encounteredrñ   rÝ   rÞ   )r_   r  r  r  r
   rG  Úsimplefilterr   r	   rl   rm   rp   r§   r³   r3   r‹  s        r   Útest_lpgen_problemz%LinprogCommonTests.test_lpgen_problemE  sŸ   € ô !  RÓ(‰ˆˆd�Aä×$Ñ$Õ&Ü×#Ñ#ØÐ@Ä/ôSä×#Ñ#ØÐ5´~ôGä×!Ñ! (¬MÔ:Ü˜!˜T 4¬¬t´VØ!%§¡°d·l±lôDˆC÷ 'ô 	˜Ð);Ö<÷ 'Ð&ús   ¥BB?Â?Cc                 óâ  — g d¢}d\  }}|||d|dddd|ddg|dd|d|ddddddgdd||ddddddddgdddddd||dd|dgdddd|||d|dddgddddddd||dd|gddddddddd|||gg}g d¢}t        j                  «       5  t        j                  dt        «       t	        |t
        t        ||t        | j                  | j                  ¬«      }d d d «       t        ddd	¬
«       y # 1 sw Y   ŒxY w)N)r   r%   rw   é   r%   r!   rs   rz   r   r<  é   é   rP  r   )r   é   iðÿÿÿé!   r   r   iÜÿÿÿr  rñ   ió  ç�íµ ÷Æ°>rº  )r0   r+   r*   )r  r  rË  r   r	   rj   rk   rp   r§   r³   r3   )rª   rQ   rF   Úprl   rm   r   s          r   Útest_network_flowz$LinprogCommonTests.test_network_flowU  sB  € ò 5ˆØ‰ˆˆ1à��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0ð2ˆò +ˆÜ×$Ñ$Õ&Ü×!Ñ! (¬MÔ:Ü˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷ 'ô 	˜¨°4¸dÖC÷	 'Ð&ús   Á?AC%Ã%C.c                 óT  — g d¢}ddgddgddgddgddgg}d\  }}||dddg|d||dgd||d|gddd||gg}g d¢}t        j                  «       5  t        rt        j                  d	t        «       t        j
                  d	d
t        «       t        j
                  d	dt        «       t        j
                  d	dt        «       t        j                  d	t        «       t        |t        t        |||| j                  | j                  ¬«      }d d d «       t        d¬«       y # 1 sw Y   ŒxY w)N)r   r   r   r!   r   r   r%   r   r!   r  rP  )r|   r   r   r%   r  úscipy.linalg.solve
Ill...rÃ  úSolving system with option...rñ   rt  rÞ   )r  r  Úhas_umfpackrË  r   r  rG  r
   r   r	   rj   rk   r§   r³   r3   )rª   rQ   rp   rF   rÔ  rl   rm   r   s           r   Ú"test_network_flow_limited_capacityz5LinprogCommonTests.test_network_flow_limited_capacityj  s2  € ò ˆà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFðˆð ‰ˆˆ1à��1�a˜ˆOØ��1�a˜ˆOØ��1�a˜ˆOØ��1�a˜ˆOð	ˆò
 ˆä×$Ñ$Õ&åÜ×%Ñ% h´Ô?Ü×#Ñ#ØÐ6¼ôHä×#Ñ#ØÐ3´_ôFä×#Ñ#ØÐ9¼?ôLä×!Ñ! (¬MÔ:Ü˜!œT¤4¨¨t°VØ!%§¡°d·l±lôDˆC÷ 'ô 	˜¨Ö,÷ 'Ð&ús   ÁB;DÄD'c           
      ó¤   — g d¢}g d¢g d¢g}ddg}t        |||t        t        t        | j                  | j
                  ¬«      }t        |d¬«       y )	N)r£   rx   r|   )r!   r   r   )r   r  r!   ra   r<  rñ   iìÿÿÿrÞ   r[  rX  s        r   Ú(test_simplex_algorithm_wikipedia_examplez;LinprogCommonTests.test_simplex_algorithm_wikipedia_exampleŒ  sM   € âˆâÚðˆð �BˆxˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨Ö-r   c           
      ó´   — g d¢}g d¢g d¢g d¢g}g d¢}t        |t        t        ||t        | j                  | j
                  ¬«      }t        |dg d¢d	d
¬«       y )Nr+  r,  r-  r/  r0  rñ   g     Øs@)g     �P@r   g     €1@r   g     øf@r   gTäqs*Ù>rº  )r0   r1   r+   r*   r‡  rˆ  s        r   Útest_enzo_examplez$LinprogCommonTests.test_enzo_example—  sX   € ò ˆâÚ!Ú ð"ˆò ˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨Ú"@Ø!¨ö	.r   c                 óD  — g d¢}g d¢g d¢g d¢g d¢g d¢g}g d¢}t        j                  «       5  t        j                  dd	t        «       t	        |t
        t        ||t        | j                  | j                  ¬
«      }d d d «       t        dg d¢¬«       y # 1 sw Y   ŒxY w)N)r  g333333@gš™™™™™%@r  g333333Àgš™™™™™%À)r5   r5   r5   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   çš™™™™™Ù?ç333333Ó?rá  rá  r  rÃ  rñ   gR¸…ëQü¿)rá  gš™™™™™É?ç        râ  rÆ   rá  r©   )r  r  r  r
   r	   rj   rk   rp   r§   r³   r3   rˆ  s        r   Útest_enzo_example_bz&LinprogCommonTests.test_enzo_example_b«  s‹   € â/ˆÚ%Ú"Ú"Ú"Ú"ð	$ˆò
 *ˆä×$Ñ$Õ&Ü×#Ñ#ØÐ3´_ôFä˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷ 'ô
 	˜¨Ú"@ö	B÷ 'Ð&ús   ®ABÂBc           
      óÊ  — d}t        j                  |«       }dt         j                  z  t        j                  d|dz   «      z  |dz   z  }t        j                  t        j
                  |«      dz
  t        j                  |«      f«      }ddg}t        |t        t        ||t        | j                  | j                  ¬«      }t        |dt        j                  |«      ¬«       y )Nrb   r   r   r   rñ   r©   )r8   r‡   Úpir;   rC   ÚcosÚsinr	   rj   rk   rp   r§   r³   r3   r=   )rª   rY   rQ   Útmprl   rm   r   s          r   Ú#test_enzo_example_c_with_degeneracyz6LinprogCommonTests.test_enzo_example_c_with_degeneracy½  s¨   € àˆÜ�W‰W�Q‹ZˆKˆØ”"—%‘%‰iœ"Ÿ)™) A q¨1¡uÓ-Ñ-°°Q±Ñ7ˆÜ�y‰yœ"Ÿ&™& ›+¨™/¬2¯6©6°#«;Ð7Ó8ˆØ�1ˆvˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨´b·h±h¸q³kÖBr   c           
      ó²  — d}t        j                  |«       }dt         j                  z  t        j                  |«      z  |dz   z  }t        j                  |«      dz
  }d|d<   t        j
                  |«      }d|d<   t        j                  ||f«      }ddg}t        |t        t        ||t        | j                  | j                  ¬«      }t        |«       y )Nrc   r   r   râ  r   rñ   )r8   r‡   rå  r;   ræ  rç  rC   r	   rj   rk   rp   r§   r³   r"   )	rª   rY   rQ   rè  Úrow0Úrow1rl   rm   r   s	            r   Ú&test_enzo_example_c_with_unboundednessz9LinprogCommonTests.test_enzo_example_c_with_unboundednessÈ  s²   € àˆÜ�W‰W�Q‹ZˆKˆØ”"—%‘%‰iœ"Ÿ)™) A›,Ñ&¨!¨a©%Ñ0ˆô �v‰v�c‹{˜Q‰ˆØˆˆQ‰Ü�v‰v�c‹{ˆØˆˆQ‰Ü�y‰y˜$ ˜Ó&ˆØ�1ˆvˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜#Õr   c           
      óä  — d}t        j                  |«       }dt         j                  z  t        j                  |«      z  |dz   z  }t        j                  t        j
                  |«      dz
  t        j                  |«      f«      }ddg}| j                  D �ci c]  }|| j                  |   “Œ }}d|d<   t        |t        t        ||t        | j                  |¬«      }t        |«       y c c}w )Nrc   r   r   Fr5  rñ   )r8   r‡   rå  r;   rC   ræ  rç  r³   r	   rj   rk   rp   r§   r   )	rª   rY   rQ   rè  rl   rm   r  r  r   s	            r   Ú&test_enzo_example_c_with_infeasibilityz9LinprogCommonTests.test_enzo_example_c_with_infeasibilityÙ  sÄ   € àˆÜ�W‰W�Q‹ZˆKˆØ”"—%‘%‰iœ"Ÿ)™) A›,Ñ&¨!¨a©%Ñ0ˆÜ�y‰yœ"Ÿ&™& ›+¨™/¬2¯6©6°#«;Ð7Ó8ˆØ�1ˆvˆà/3¯|ª|Ó<©|¨ˆS�$—,‘,˜sÑ#Ñ#¨|ˆÐ<Øˆˆ*‰ä�aœœt T¨4´Ø!Ÿ[™[°!ô5ˆä˜3Õùò =s   ÂC-c           
      ó¦  — t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  g d¢g d	¢g«      }t        j                  d
d
g«      }t        |||||t        | j                  | j
                  ¬«      }t        |d
t        j                  |«      d¬«       y )N)gš™™™™™¹¿gìQ¸…ë±¿çü©ñÒMbp?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ï   g      4@)rî   r   r5   r   r5   r   )r   rø   r5   r   r5   r   r   rñ   g�íµ ÷ÆÀ>)r0   r1   r+   )r8   rB   r	   rp   r§   r³   r3   Ú
zeros_like©rª   rQ   rj   rk   rl   rm   r   s          r   Útest_basic_artificial_varsz-LinprogCommonTests.test_basic_artificial_varsè  s«   € ô
 �H‰HÒ>Ó?ˆÜ�x‰xÒ-Ò/DÚ.Ò0DÚ/ð1ó 2ˆô �x‰xÒ2Ó3ˆÜ�x‰xÒ/Ò1HÐIÓJˆÜ�x‰x˜˜A˜ÓˆÜ�a˜˜t T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨´b·m±mÀAÓ6FØ!ö	#r   c           
      óä  — t        d«      \  }}}}}}t        ||||||| j                  | j                  ¬«      }t	        |j
                  «       t	        |j                  «       t	        |j                   «       d| j                  vrt	        |j                  dk(  «       t        ||j                  z  |j                  «       t        |||j                  z  z
  |j                  d¬«       t        |||j                  z  z
  |j                  d¬«       dD ]Y  }||j                  «       v sŒt        ||   d   t         j"                  «      sJ ‚t        ||   d	   t         j"                  «      rŒYJ ‚ y )
Nr   ©rj   rk   rl   rm   rp   r§   r³   rº   z%Optimization terminated successfully.g•dyáý¥=©r+   )ÚeqlinÚineqlinr³  ÚupperÚ	marginalsÚresidual)rq   r	   r§   r³   r   r   r™   r   r,   r   r/   r.   r›   rš   Úkeysr�   r8   Úndarray)	rª   rQ   rj   rk   rl   rm   rp   r   r  s	            r   Útest_optimize_resultz'LinprogCommonTests.test_optimize_resultù  s#  € ä,;¸AÓ,>Ñ)ˆˆ4��t˜T 6Ü�a˜d¨°D¸tØ#¨D¯K©KÀÇÁôOˆä�—‘ÔÜ�—‘ÔÜ�C—J‘J�ÔØ˜$Ÿ+™+Ñ%ä�C—K‘KÐ#JÑJÔKÜ˜˜CŸE™E™	 3§7¡7Ô+Ü˜˜t c§e¡e™|Ñ+¨S¯W©W¸5ÕAÜ˜˜t c§e¡e™|Ñ+¨S¯Y©Y¸UÕCÛ9ˆCØ�c—h‘h“jÒ Ü! # c¡(¨;Ñ"7¼¿¹ÔDÐDÐDÜ! # c¡(¨:Ñ"6¼¿
¹
ÕCÐCÐCñ :r   c           /      óº  — g d¢}d}d}d}t        j                  g d¢ddd|dd	dd
ddd
dd
ddddddgddd|ddd	d
d
dd
d
dddddddgg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢ddd
d
dddd
||ddd|dddddgdddddd
d
dddd
||d|ddddgdd
dd ddd|d
d
ddddd|dddgddddd
dd
ddd|d
|ddd|ddgdd
d
d ddd||d
ddddddd|dgddddd
d
dddd||d
ddddd|gg«      }t        j                  g d!¢«      }t        j                  g d"¢«      }t        j                  «       5  t        j                  d#d$t
        «       t        j                  d#d%t        «       t        j                  d#t        «       t        |||t        t        || j                  | j                  ¬&«      }d d d «       t        d'¬(«       y # 1 sw Y   ŒxY w))N)r„   ©r   r#  r  r  r  r  r  ©r   é„  r  r  r  r  r  r„   r„   r„   r„   r„   r„   gÇqÇq¼?ç     ˆÃÀgÍÌÌÌÌÌÀ)r   gìQ¸…ëÀr   r   rx   r   r   r   r5   r5   r   r5   r5   r   r   r   r   r   r   r   r   g333333Àrx   r5   )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   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   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   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   r5   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5   g×£p=
×ÿ?r   gffffffþ?gÍÌÌÌÌÌ @)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ñ   g¯^¥¨ZÀrÞ   )r8   rB   r  r  r  r
   rG  rË  r   r	   rl   rm   r§   r³   r3   )	rª   rp   r   rE  Úhrj   rk   rQ   r   s	            r   Útest_bug_5400z LinprogCommonTests.test_bug_5400  sl  € òNˆð ˆØˆØˆÜ�x‰xÚNØ��4˜˜A˜r 1 b¨!¨Q°°A°r¸1¸aÀÀAÀqÈ!ÐLØ��1�a˜˜A˜r 2 r¨1¨b°"°a¸¸A¸qÀ!ÀQÈÐJÚEÚEÚEÚEÚEÚEÚEÚEÚEÚEÚEÚEÚFÚFÚFÚFÚFÚFØ��b˜"˜a  A r¨1¨a°°A°q¸!¸QÀÀ1ÀaÈÐKØ��1�a˜˜B  A q¨!¨R°°A°q¸!¸QÀÀ1ÀaÐHØ��C˜˜a  A q¨"¨b°!°Q¸¸1¸aÀÀAÀqÈ!ÐLØ��1�a˜˜Q  A q¨!¨Q°°A°q¸!¸QÀÀ1ÀaÐHØ��B˜˜Q  1 a¨¨B°°1°a¸¸A¸qÀ!ÀQÈÐJØ��1�a˜˜R  A q¨!¨Q°°2°q¸!¸QÀÀ1ÀaÐHð7Jó Kˆô: �x‰xò 5ó 6ˆô �H‰Hò 4ó 5ˆä×$Ñ$Õ&Ü×#Ñ#ØÐ@Ä/ôSä×#Ñ#ØÐ5´~ôGä×!Ñ! (¬MÔ:Ü˜!˜T 4¬¬t°VØ!%§¡°d·l±lôDˆC÷ 'ô 	˜Ð)<Ö=÷ 'Ð&ús   Ä;B GÇGc           
      óŽ  — t        j                  g d¢«      }t        j                  g d¢g d¢g«      }t        j                  ddg«      }t        j                  g d¢g«       }t        j                  dg«       }d}t        ||||||| j                  | j                  ¬	«      }t        |d
t        j                  g d¢«      ¬«       y )Nr…  )rî   râ  râ  )ç     @�Àrâ  r  g      @r  )râ  g    €„.Ag     Ò.Ag    ÐcArƒ   rñ   gfffffæ-@)r  gÍÌÌÌÌÌ@r  r©   ©r8   rB   r	   r§   r³   r3   )rª   rQ   rl   rm   rj   rk   rp   r   s           r   Útest_bug_6139z LinprogCommonTests.test_bug_6139H  s¤   € ô �H‰H’YÓˆÜ�x‰xšÒ'<Ð=Ó>ˆÜ�x‰x˜¨Ð9Ó:ˆÜ—‘Ò2Ð3Ó4Ð4ˆÜ—‘˜)˜Ó%Ð%ˆØˆä�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆô 	˜¨Ü"$§(¡(ª<Ó"8ö	:r   c                 óÖ  — t        j                  g d¢g«      }t        j                  dg«      }t        j                  g d¢g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  g d	¢g d
¢g«      j                  }t        j                  g d¢«      }t        j                  «       5  t
        rt        j                  dt        «       t        j                  ddt        «       t        j                  ddt        «       t        j                  ddt        «       t        j                  dt        «       t        ||||||| j                  | j                  ¬«      }d d d «       d}t        j                  g d¢«      }	t        ||	¬«       d}
t!        |d d …df   |
z
  |j"                  «       t!        |j"                  |d d …df   |
z   «       y # 1 sw Y   ŒsxY w)N)
r   r   r   gÃõ(\�Âí?r   çÍÌÌÌÌÌä?r   r   g�Âõ(\�ê?r   g¯%äƒžÍî?)
r   r   r   çáz®Gáò?r   r   r   gš™™™™™É¿r   g)\�Âõ(Ì¿)
r   r   r   r   r   r   r   r   r   r   )
r   r   r   g…ëQ¸…Û?r   r   r   r   r   r   )
r   g…ëQ¸…ó¿ç      Ð¿r   r   r   g{®Gáz Àr   r   gìQ¸…ëõ?)
r   r   r   r   r   r   r   r  r   r   )g®Gáz®ã?r   gj¼t“Æ?g+‡ÙÎë¿gºI+‡–¿)
gáz®Gáê¿ç
×£p=
ï¿çÃõ(\�ÂÕ?rà  g…ëQ¸Õ¿g®Gáz®ç¿ç®GázÞ?ç
×£p=
·?g333333÷¿ç\�Âõ(\ç¿)
ç®Gáz®×?g{®Gáz”?gáz®Gá@g…ëQ¸…ë?r  rd   g)\�Âõ(ü?gÃõ(\�ÂÅ?ç{®GázÔ?g333333Ã¿)
g=
×£p=ú¿gffffffæ?r
  gö(\�Âõð¿g�Âõ(\�ò¿g¤p=
×£Ð?g
×£p=
@g{®Gázø?g…ëQ¸å?gìQ¸…ëÑ?r  z%Solving system with option 'cholesky'rÉ  rÊ  rñ   g‰ãVó¿)
r  r  r  rà  r  rd   r  r  r  r  r©   rÓ  r   r   )r8   rB   rf   r  r  rÙ  rË  r   r  r
   rG  r   r	   r§   r³   r3   r   r/   )rª   rl   rm   rj   rk   rp   rQ   r   r0   r1   r+   s              r   Útest_bug_6690z LinprogCommonTests.test_bug_6690^  sž  € ô
 �x‰xÒ@ÐAÓBˆÜ�x‰x˜˜Ó!ˆÜ�x‰xÚ4Ú*Ú-Ú9Ú.ð
ó ˆô �x‰xÒ9Ó:ˆÜ—‘ÚMÚHð
ó ÷ ‰1ð 	ô �H‰Hò ó ˆô ×$Ñ$Õ&ÝÜ×%Ñ% h´Ô?Ü×#Ñ#ØÐAÄ?ôTä×#Ñ#ØÐ@Ä/ôSä×#Ñ#ØÐ5´~ôGä×!Ñ! (¬MÔ:Ü˜!˜T 4¨¨t°VØ!%§¡°d·l±lôDˆC÷ 'ð %ˆÜ—H‘Hò Gó Hˆ	ä˜¨À	ÕJð ˆÜ˜&¢ A ™,¨Ñ-¨s¯u©uÔ5Ü˜#Ÿ%™% ª¨1¨¡°Ñ!4Õ5÷+ 'Ð&ús   Â:B3GÇG(c                 óf  — t        d«      \  }}}}}t        j                  «       5  t        j                  ddt        «       t        j                  ddt
        «       t        j                  dt        «       t        |t        t        ||t        | j                  | j                  ¬«      }d d d «       d}t        |¬«       t        |j!                  |j"                  «      |«       t%        t'        j(                  |j"                  j*                  «      dz
  |j"                  «       y # 1 sw Y   Œ~xY w)	Nr!   r  rÃ  rÊ  rñ   ç¹`4û?rÞ   r‚   )rR   r  r  r  r
   rG  rË  r   r	   rj   rk   rp   r§   r³   r3   r   Údotr/   r   r8   r=   rU   )rª   rl   rm   rQ   Ú_r   r0   s          r   Útest_bug_7044z LinprogCommonTests.test_bug_7044Œ  sß   € ô
 +¨1›oÑˆˆd�A�q˜!Ü×$Ñ$Õ&Ü×#Ñ#ØÐ3´_ôFä×#Ñ#ØÐ5´~ôGä×!Ñ! (¬MÔ:Ü˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷ 'ð )ˆÜ˜¨Õ5Ü˜Ÿ™ §¡›¨Ô.Üœ"Ÿ(™( 3§5¡5§:¡:Ó.°Ñ5°s·u±uÕ=÷ 'Ð&ús   ¦BD'Ä'D0c                 óâ  — t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  g d¢g«      }t        j                  dgg«      }dgdz  }t        ||||||| j                  | j                  ¬«      }t        |dd¬ «       y )!N)	r5   r   r   r   r   r   r   r   r   )	rî   g      †Àg     xŒ@g     8�Àg     X�Àg      ŒÀg     à}@g      TÀg     PrÀ)	rî   g     °�@g      E@g     H�@g      m@g     ˜‹@g     €x@g     hŒÀg     €L@)	rî   g      jÀg     ð‹Àg     Ø€@g     t@g      €@g     àŒÀg     p�@g     €K@)	rî   g     ÈŠ@g     ØŠÀg     ÀT@g     à|@g     �pÀg     XŽÀg     Ð‰@g      ~@)	rî   g      s@ç     €zÀg      n@r  g     @h@g     °{Àg      ZÀg     ÐzÀ)	rî   g     à€@g     8…@g     �v@g      b@g     Ø‰Àg     `‹@g     Èƒ@g     à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  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î   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ƒ   rw   rñ   ghèŸàb$[@rÓ  ©r0   r+   r	  rú   s           r   Útest_bug_7237z LinprogCommonTests.test_bug_7237   sß   € ô
 �H‰HÒ1Ó2ˆÜ�x‰xÚEÚ?ÚBÚBÚEÚAÚ8Ú8Ú8Ú8Ú8Ú8Ú8Ú8Ú0Ú0Ú0Ú0Ú0Ú0Ú0Ú0ð-ó ˆô0 �x‰xò 8ó 9ˆô �x‰xÒ=Ð>Ó?ˆÜ�x‰x˜"˜˜ÓˆØ� !Ñ#ˆä�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸$Ö?r   c                 ó   — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  |j                  d   «      }t        j                  |j                  d   «       }dg|j                  d   z  }t        j                  «       5  t        j                  dd	t        «       t        j                  dt        «       t        |||t        t        || j                  | j                  ¬
«      }d d d «       | j                  j!                  dd«      dk  r| j                  dk(  rt#        «       y t%        dd¬«       y # 1 sw Y   ŒRxY w)N)éºX  ið  iD4  ç     3¥Ài¤ûÿÿ)é†ìÿÿi¼ûÿÿi†ÿÿç     úÐ@i¬  )r$  r   r   r#  r   )r"  r   r   r%  r   r   r   rÄ   r  rÊ  rñ   Útolg•Ö&è.>ç»½×Ùß|Û=rÀ   gê¦Ëë‡ ÀrÓ  r  )r8   rB   r=   rE   r‡   r  r  r  rG  rË  r   r	   rl   rm   r§   r³   r=  r&   r3   )rª   rj   rk   rQ   rp   r   s         r   Útest_bug_8174z LinprogCommonTests.test_bug_8174É  s  € ô �x‰xÚ0Ú0Ú%Ú%ð	'ó (ˆô
 �x‰x˜Ÿ
™
 1™Ó&ˆÜ�W‰W�T—Z‘Z ‘]Ó#Ð#ˆØ�˜DŸJ™J q™MÑ)ˆÜ×$Ñ$Õ&Ü×#Ñ#ØÐ5´~ôGä×!Ñ! (¬MÔ:Ü˜!˜T 4¬¬t°VØ!%§¡°d·l±lôDˆC÷	 'ð �<‰<×Ñ˜E 4Ó(¨5Ò0°T·[±[ÀIÒ5MÜ5°cÕ:ä˜CÐ-@ÀtÖL÷ 'Ð&ús   ÂA%EÅEc                 ób  — t        j                  g d¢«      }t        j                  d«       }t        j                  dgdgdgdgdgdgdgg«      }t        j                  g d¢g d¢g d¢g d¢g d¢g«      }t        j                  d	gd
gd
gd
gd
gg«      }t        j                  «       5  t
        rt        j                  dt        «       t        j                  ddt        «       t        |||||t        | j                  | j                  ¬«      }d d d «       t        d¬«       y # 1 sw Y   ŒxY w)N)r   r   r   r   r   r   r   rz   r£   )r   r   r   r   r   r   r   )rá  gÍÌÌÌÌÌô?gÍÌÌÌÌÌì?r   r   r   r5   )rá  r   r   r   r   r   gUUUUUUå¿)r   r  r   r   r   r   ç±¿)r   r   rá  r   r   r   r*  r#  r   r  rÃ  rñ   gŽ?ªªªªE@rÞ   )r8   rB   Úidentityr  r  rÙ  rË  r   r  r
   r	   rp   r§   r³   r3   ró  s          r   Útest_bug_8174_2z"LinprogCommonTests.test_bug_8174_2á  s	  € ô �H‰HÒ*Ó+ˆÜ—‘˜A“ˆˆÜ�x‰x˜"˜ ˜t b T¨B¨4°"°¸°t¸b¸TÐBÓCˆÜ�x‰xÚ!Ú(Ú&Ú(Ú'ð
ó ˆô �x‰x˜#˜   a S¨1¨#°¨sÐ3Ó4ˆä×$Ñ$Õ&ÝÜ×%Ñ% h´Ô?Ü×#Ñ#ØÐ3´_ôFä˜!˜T 4¨¨t´VØ!%§¡°d·l±lôDˆC÷ 'ô 	˜Ð)9Ö:÷ 'Ð&ús   Â(A'D%Ä%D.c                 ó  — t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        |||| j                  | j                  ¬«      }t        |g d	¢¬
«       y )N)rz   r   r|   ç      ø?r.  )r%   ç      @r.  rî   ç      À)r   rÑ   r£   r.  rd   )r!   r   r%   g      )Àru   )r5   g      @r   r0  r£   )r/  r   g      Àr5   g      #@)r   r   r   r   r   )rj   rk   r³   r§   )r   r   rÑ  gUUUUUU@gUUUUUU#@r^  )r8   rB   r	   r³   r§   r3   rX  s        r   Útest_bug_8561z LinprogCommonTests.test_bug_8561ú  sm   € ô
 �H‰HÒ)Ó*ˆÜ�x‰xÚ$Ú#Ú#Ú"Ú#ð%ó &ˆô �x‰xšÓ(ˆÜ�a˜d¨°t·|±|Ø!Ÿ[™[ô*ˆä˜Ò'=Ö>r   c                 ó~  — g d¢}g d¢g d¢g d¢g d¢g}g d¢}g d¢}d}t        j                  «       5  t        rt        j                  d	t        «       t        j
                  d	d
t        «       t        j                  d	t        «       t        |||t        t        || j                  | j                  ¬«      }d d d «       |j                  g d¢«       |j                  d«       d|d<   t        j                  «       5  t        rt        j                  d	t        «       t        j
                  d	d
t        «       t        j                  d	t        «       t        |||t        t        || j                  | j                  ¬«      }d d d «       d}t        ||¬«       t        ||¬«       y # 1 sw Y   ŒòxY w# 1 sw Y   Œ4xY w)N)ry   ra   rv   r!   )rs   r{   r|   rv   )r{   rs   r%   rt   )r|   r%   rs   r|   )r!   rx   rx   ry   )rw   é÷ÿÿÿr3  r|   )r„   r„   r„   r„   g      B@r  rÊ  rñ   )r   r   r5   r   r   rƒ   r   r‚   )r0   r*   )r  r  rÙ  rË  r   r  rG  r   r	   rl   rm   r§   r³   r@   r3   )	rª   rQ   rj   rk   rp   r0   Úres1Úres2r*   s	            r   Útest_bug_8662z LinprogCommonTests.test_bug_8662  s^  € ò ˆÚÚÚÚ ð"ˆò ˆÚ=ˆØ#ˆä×$Ñ$Õ&ÝÜ×%Ñ% h´Ô?Ü×#Ñ#ØÐ5´~ôGä×!Ñ! (¬MÔ:Ü˜1˜d D¬$´°fØ"&§+¡+°t·|±|ôEˆD÷ 'ð 	�‰’MÔ"Ø�‰�AŒØ ˆˆq‰	ä×$Ñ$Õ&ÝÜ×%Ñ% h´Ô?Ü×#Ñ#ØÐ5´~ôGä×!Ñ! (¬MÔ:Ü˜1˜d D¬$´°fØ"&§+¡+°t·|±|ôEˆD÷ 'ð ˆÜ˜¨+¸DÕAÜ˜¨+¸DÖA÷1 'Ð&ú÷ 'Ð&ús   ±BF'Ã;BF3Æ'F0Æ3F<c           
      ó¢   — ddg}ddgg}dg}ddg}t        |t        t        |||| j                  | j                  ¬«      }t        |dd	gd
¬«       y )Nr   r  r   ru   rt   r„   rƒ   rñ   gÛ¶mÛ¶më?gI’$I’$@rT  )r	   rj   rk   r§   r³   r3   rb  s         r   Útest_bug_8663z LinprogCommonTests.test_bug_86631  s]   € ð �ˆFˆØ�B�ˆyˆØˆtˆØ˜\Ð*ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¨4 y¸fÖEr   c                 ó^  — dg}dgdgg}ddg}dgdgdgg}g d¢}t        j                  «       5  t        j                  dt        «       t        j                  dd	t
        «       t        |||||t        | j                  | j                  ¬
«      }d d d «       t        «       y # 1 sw Y   ŒxY w)Nr%   r   r  r   r{   rw   ©r!   r   ra   r  rØ  rñ   )r  r  rË  rG  r  r
   r	   rp   r§   r³   r   ró  s          r   Útest_bug_8664z LinprogCommonTests.test_bug_8664<  s§   € ð ˆCˆØ��a�SˆzˆØ�1ˆvˆØ��b�T˜A˜3ÐˆÚˆÜ×$Ñ$Õ&Ü×!Ñ! (¬NÔ;Ü×#Ñ#ØÐ9¼?ôLä˜!˜T 4¨¨t´VØ!%§¡°d·l±lôDˆC÷	 'ô 	˜3Õ÷ 'Ð&ús   ®A!B#Â#B,c           
      ó\  — t        j                  g d¢«      }t        j                  g d¢g d¢g«      }t        j                  ddg«      }g d¢}t        |||t        t        || j
                  | j                  ¬«      }t        |d¬«       t        ||j                  z  |j                  «       y	)
zv
        Test whether bug described at:
        https://github.com/scipy/scipy/issues/8973
        was fixed.
        )r   r   r   r   r5   )r   r   r   r   r   )r   r   r   r   r   r   r£   )rƒ   rƒ   rƒ   rP  rP  rñ   rÞ   N)r8   rB   r	   rl   rm   r§   r³   r3   r   r/   r.   rv  s         r   Útest_bug_8973z LinprogCommonTests.test_bug_8973M  sƒ   € ô �H‰HÒ%Ó&ˆÜ�x‰xšª/Ð:Ó;ˆÜ�x‰x˜˜B˜Ó ˆÚMˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆô 	˜¨Õ,ä�Q˜Ÿ™‘Y §¡Õ(r   c           
      ó  — t        j                  d«      }t        j                  dgg«      }t        j                  dg«      }d}t        |||t        t
        || j                  | j                  ¬«      }t        |dgd¬«       y)z½
        Additional test for:
        https://github.com/scipy/scipy/issues/8973
        suggested in
        https://github.com/scipy/scipy/pull/8985
        review by @antonior92
        r   r£   rƒ   rñ   r   rT  N)	r8   r=   rB   r	   rl   rm   r§   r³   r3   rv  s         r   Útest_bug_8973_2z"LinprogCommonTests.test_bug_8973_2^  sh   € ô �H‰H�Q‹KˆÜ�x‰x˜!˜˜‹ˆÜ�x‰x˜˜‹~ˆØˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨ t¸Ö;r   c           
      ó\  — t        j                  d«      }t        j                  dgg«      }t        j                  dg«      }d}ddg}ddgddgg}ddg}dd	g}d
di}|j                  | j                  «       t        |||t        t        || j                  |¬«      }t        |ddgd¬«       y)zg
        Test for linprog docstring problem
        'disp'=True caused revised simplex failure
        r   r£   rƒ   r5   r%   rx   r   rv   rã   rÛ   Trñ   ra   rä   rT  N)
r8   r=   rB   Úupdater³   r	   rl   rm   r§   r3   )rª   rQ   rj   rk   rp   r  r   s          r   Útest_bug_10124z!LinprogCommonTests.test_bug_10124n  s¬   € ô
 �H‰H�Q‹KˆÜ�x‰x˜!˜˜‹ˆÜ�x‰x˜˜‹~ˆØˆØ�ˆGˆØ�Q�˜!˜Q˜Ð ˆØ�1ˆvˆØ 
Ð+ˆØ�TˆNˆØ	�‰�—‘ÔÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°!ô5ˆä˜¨¨B x¸SÖAr   c                 óè  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  dd	t        j                  d
«      fd¬«      }t	        j
                  «       5  t	        j                  ddt        «       t        |t        t        ||t        | j                  | j                  ¬«      }ddd«       t        g d¢d¬«       y# 1 sw Y   ŒxY w)zq
        Test for redundancy removal tolerance issue
        https://github.com/scipy/scipy/issues/10349
        )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   )éÝ   éÒ   ra   é�   éÆ   éf   r   r   r%   N©Úaxisr  rÃ  rñ   )é�   é\   r  rG  r   ra   rL  rT  )r8   rB   Úconcatenater=   r  r  r  r
   r	   rj   rk   rp   r§   r³   r3   )rª   rl   rm   rQ   r   s        r   Útest_bug_10349z!LinprogCommonTests.test_bug_10349�  s½   € ô
 �x‰xÒ+Ú+Ú+Ú+Ú+Ú+ð-ó .ˆô �x‰xÒ5Ó6ˆÜ�N‰N˜A˜q¤"§(¡(¨1£+Ð.°TÔ:ˆÜ×$Ñ$Õ&Ü×#Ñ#ØÐ3´_ôFä˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷ 'ô
 	˜Ò'@ÈbÖQ÷ 'Ð&ús   Â AC(Ã(C1Údarwinz0Failing on some local macOS builds, see gh-13846©Úreasonc                 óV  — g d¢}g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g
}g d¢}i }| j                   j                  d«      sddi}|j                  | j                  «       t	        j
                  «       5  t	        j                  ddt        «       t        rt	        j                  dt        «       t	        j                  ddt        «       t	        j                  ddt        «       t	        j                  ddt        «       t	        j                  ddt        «       t	        j                  ddt        «       t	        j                  ddt        «       t        |t        t        ||t         | j                   |¬«      }ddd«       t#        j$                  d«       y# 1 sw Y   Œ xY w)zA
        Test that autoscale fixes poorly-scaled problem
        )ç       Àr  rS  r  rS  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â  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â  râ  râ  râ  rî   )
g     À²Ag      ¹Ag     @¿Ag      ÎAç   þÿÿÏArT  rT  rT  rT  rT  rº   Ú	autoscaleTr  rØ  r×  zdivide by zero encountered...zoverflow encountered...zinvalid value encountered...úIll-conditioned matrix...úAn ill-conditioned...rñ   Nlýÿÿÿàÿ )r§   rÌ   rA  r³   r  r  r  r
   rÙ  rË  r   rG  r   r	   rj   rk   rp   r   r.   )rª   rQ   rl   rm   r  r   s         r   Útest_bug_10466z!LinprogCommonTests.test_bug_10466•  si  € ò NˆÚDÚDÚDÚEÚDÚDÚDÚDÚDÚDð	Fˆò ˆð
 ˆà�{‰{×%Ñ% gÔ.Ø˜dÐ#ˆAØ	�‰�—‘Ôä×$Ñ$Õ&Ü×#Ñ#ØÐ9¼?ôLåÜ×%Ñ% h´Ô?Ü×#Ñ#ØÐ6¼ôHä×#Ñ#ØÐ9¼>ôKä×#Ñ#ØÐ3´^ôEä×#Ñ#ØÐ8¼.ôJä×#Ñ#ØÐ5´}ôFä×#Ñ#ØÐ1´=ôBô ˜!œT¤4¨¨t´VØ!%§¡°aô9ˆC÷% 'ô( 	˜Ÿ™ Õ-÷) 'Ð&ús   Á9DFÆF(N)VÚ__name__Ú
__module__Ú__qualname__Ú__doc__rÙ   rá   rç   rì   ró   rö   rû   r  r  r   r)  r3  r@  rB  rL  rN  rR  rU  rY  r\  r_  rc  rh  rj  rl  rn  rq  rw  ry  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,  r1  r6  r8  r;  r=  r?  rB  rN  r¶   ÚmarkÚskipifÚsysÚplatformrX  r}   r   r   rÕ   rÕ   m  sÚ  „ ñò$ò=ò	.ò@ò)ò)ò;ò2ò 2ò$Oò:òB'ò%ò@%ò.')òRò
%òFò
@òFò
/ò;òGò;òGòGòNò ò ò ò"=ò%ò6,ò,ò%ò%ò
%ò,ò%ò.ò	 ò%òò#ò Aò(Aò(
Lò9ò2 ò*Cò=ò Dò* -òD	.ò.ò(Bò$	Còò" ò#ò"Dò.6>òp:ò,,6ò\>ò('@òRMò0;ò2?ò"$BòL	Fò ò")ò"<ò Bò&Rð( ‡[�[×Ñ˜Ÿ™¨Ñ0ð!/ð ó 1ñ/.ó1ñ/.r   rÕ   zignore::DeprecationWarningc                   ó   — e Zd ZdZy)ÚLinprogSimplexTestsrÀ   N©rY  rZ  r[  r§   r}   r   r   rb  rb  Ï  s   „ à�Fr   rb  c                   ó   — e Zd ZdZd„ Zy)ÚLinprogIPTestsr¾   c                 ó.   — t        j                  d«       y )Nz*Test is failing, but solver is deprecated.©r¶   ÚskiprØ   s    r   rX  zLinprogIPTests.test_bug_10466Ø  s   € Ü�‰Ð@ÕAr   N)rY  rZ  r[  r§   rX  r}   r   r   re  re  Ô  s   „ à€FóBr   re  c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚLinprogRSTestsr¿   c                 ó.   — t        j                  d«       y ©Nz Intermittent failure acceptable.rg  rØ   s    r   r  zLinprogRSTests.test_bug_5400ð  ó   € Ü�‰Ð6Õ7r   c                 ó.   — t        j                  d«       y rl  rg  rØ   s    r   r6  zLinprogRSTests.test_bug_8662ó  rm  r   c                 ó.   — t        j                  d«       y rl  rg  rØ   s    r   rÕ  z LinprogRSTests.test_network_flowö  rm  r   N)rY  rZ  r[  r§   r  r6  rÕ  r}   r   r   rj  rj  Ü  s   „ à€Fò$8ò8ó8r   rj  c                   ó  — e Zd Zd„ Zej
                  j                  dddiddiddiddiddid	did
diddig«      d„ «       Zd„ Zej
                  j                  d«      d„ «       Z
d„ Zd„ Zej
                  j                  d¬«      d„ «       Zy)ÚLinprogHiGHSTestsc           	      óð   — d„ }t        j                  ddg«      }ddgddgddgg}g d¢}t        t        t        ||||| j
                  ¬«       t	        |||| j
                  ¬	«      }t        |d
ddg¬«       y )Nc                  ó   — y r×   r}   r   s    r   r¢   z+LinprogHiGHSTests.test_callback.<locals>.cbý  s   € Ør   rx   r£   r   r   r   r¤   r¥   r®   r¨   rv   r©   )r8   rB   r´   ÚNotImplementedErrorr	   r§   r3   )rª   r¢   rQ   rj   rk   r   s         r   rÙ   zLinprogHiGHSTests.test_callbackû  sv   € ò	ä�H‰H�b˜"�XÓˆØ�A�˜˜A˜  A Ð'ˆÚˆÜÔ)¬7°A¸DÀtØ!¨$¯+©+õ	7ä�a˜d¨°d·k±kÔBˆÜ˜¨¸1¸a¸&ÖAr   r³   r   r5   rÛ   r5  rÅ   Údual_feasibility_toleranceÚprimal_feasibility_toleranceÚipm_optimality_toleranceÚ!simplex_dual_edge_weight_strategyÚekkic                 ó´   ‡ — ˆ fd„}|j                  ‰ j                  «       t        j                  t        «      5   ||¬«       d d d «       y # 1 sw Y   y xY w)Nc                 ó6   •— t        d‰j                  | ¬«       y )Nr   rñ   rÿ   )r³   rª   s    €r   r   z7LinprogHiGHSTests.test_invalid_option_values.<locals>.f  s   ø€ Ü�A˜dŸk™k°7Ö;r   ©r³   )rA  r³   r¶   r·   r
   )rª   r³   r   s   `  r   Útest_invalid_option_valuesz,LinprogHiGHSTests.test_invalid_option_values  s8   ø€ ô	<à�‰�t—|‘|Ô$Ü�\‰\œ/Õ*Ù�gÕ÷ +×*Ñ*ús   »
AÁAc                 óþ   — t        dt        j                  j                  d«      ¬«      \  }}}}}d}t	        ||||| j
                  | j                  ¬«      }t        |j                  dk(  | j
                  dk7  «       y )Nr%   i(Â! ©rG   rÄ   r;  r   r€  )	rR   r8   r9   r:   r	   r§   r³   r   Úcrossover_nit)rª   rl   rm   rQ   r  rp   r   s          r   Útest_crossoverz LinprogHiGHSTests.test_crossover  sm   € Ü*¨1´"·)±)×2GÑ2GÈÓ2PÔQÑˆˆd�A�q˜!ØˆÜ�a˜d¨Ø#¨D¯K©KÀÇÁôOˆô 	�S×&Ñ&¨!Ñ+¨T¯[©[¸KÑ-GÕHr   ra   c           
      óÔ  ‡ ‡
‡‡‡‡‡‡‡— t        d¬«      \  ŠŠŠŠ
ŠŠt        ‰‰‰‰
‰‰‰ j                  ‰ j                  ¬«      }‰j                  \  ŠŠˆ
ˆˆˆˆˆ fd„}t        |‰d|j                  ¬«      }t        |j                  j                  |«       ˆ
ˆˆˆˆˆ fd„}t        |‰d|j                  ¬«      }t        |j                  j                  |«       ˆ
ˆˆˆˆˆ ˆfd„}t        j                  d	¬
«      5  t        |‰d|j                  ¬«      }d|t        j                  ‰«       <   d d d «       t        |j                  j                  «       ˆ
ˆˆˆˆˆˆ fd„}t        j                  d	¬
«      5  t        |‰d|j                  ¬«      }	d|	t        j                  ‰«       <   d d d «       t        |j                  j                  	«       y # 1 sw Y   Œ¦xY w# 1 sw Y   Œ6xY w)Nr   ©rg   rö  c           	      óP   •— t        ‰‰| ‰‰‰‰j                  ¬«      j                  S ©Nr»   ©r	   r§   r.   )r/   rl   rj   rm   rp   rQ   rª   s    €€€€€€r   Úf_bubz/LinprogHiGHSTests.test_marginals.<locals>.f_bub*  s(   ø€ Ü˜1˜d A t¨T°6Ø"&§+¡+ô/ß/2©sð3r   z3-point)r§   Úf0c           	      óP   •— t        ‰‰‰‰| ‰‰j                  ¬«      j                  S r…  r†  )r/   rl   rj   rk   rp   rQ   rª   s    €€€€€€r   Úf_beqz/LinprogHiGHSTests.test_marginals.<locals>.f_beq2  s(   ø€ Ü˜1˜d D¨$°°6Ø"&§+¡+ô/ß/2©sð3r   c           	      ó’   •— t        j                  | ‰g«      j                  }t        ‰‰‰‰‰|‰j                  ¬«      j
                  S r…  ©r8   rB   rf   r	   r§   r.   )	r/   rp   rl   rj   rm   rk   rQ   rª   ro   s	     €€€€€€€r   Úf_lbz.LinprogHiGHSTests.test_marginals.<locals>.f_lb:  s@   ø€ Ü—X‘X˜q "˜gÓ&×(Ñ(ˆFÜ˜1˜d D¨$°°fØ"&§+¡+ô/ß/2©sð3r   r  )Úinvalidc           	      ó’   •— t        j                  ‰| g«      j                  }t        ‰‰‰‰‰|‰j                  ¬«      j
                  S r…  rŒ  )	r/   rp   rl   rj   rm   rk   rQ   rn   rª   s	     €€€€€€€r   Úf_ubz.LinprogHiGHSTests.test_marginals.<locals>.f_ubG  s@   ø€ Ü—X‘X˜r 1˜gÓ&×(Ñ(ˆFÜ˜1˜d D¨$°°fØ"&§+¡+ô/ß/2©sð3r   )rq   r	   r§   r³   rf   r   r.   r   rù  rû  rø  r8   ÚerrstateÚisfiniter³  rú  )rª   r   r‡  ÚdfdbubrŠ  Údfdbeqr�  Údfdlbr�  Údfdubrl   rj   rm   rk   rp   rQ   rn   ro   s   `         @@@@@@@@r   Útest_marginalsz LinprogHiGHSTests.test_marginals   s€  ÿø€ ô -<ÀÔ,CÑ)ˆˆ4��t˜T 6Ü�a˜d¨°D¸tØ#¨D¯K©KÀÇÁôOˆà—‘‰ˆˆB÷	3ñ 	3ô # 5¨$°yÀSÇWÁWÔMˆÜ˜Ÿ™×-Ñ-¨vÔ6÷	3ñ 	3ô # 5¨$°yÀSÇWÁWÔMˆÜ˜Ÿ	™	×+Ñ+¨VÔ4÷	3ò 	3ô
 �[‰[ Ö*ä% d¨B°yÀSÇWÁWÔMˆEØ&'ˆE”2—;‘;˜r“?Ð"Ñ#÷ +ô
 	˜Ÿ	™	×+Ñ+¨UÔ3÷	3ò 	3ô
 �[‰[ Ö*Ü% d¨B°yÀSÇWÁWÔMˆEØ&'ˆE”2—;‘;˜r“?Ð"Ñ#÷ +ô 	˜Ÿ	™	×+Ñ+¨UÕ3÷# +Ð*ú÷ +Ð*ús   Ã:3GÅ63GÇGÇG'c           
      ó†  — t        d¬«      \  }}}}}}t        ||||||| j                  | j                  ¬«      }| |j                  |j
                  j                  z  z   |j                  |j                  j                  z  z   |j                  j                  z   |j                  j                  z   }t        |dd¬«       y )Nr  rƒ  rö  r   çê-�™—q=r÷  )rq   r	   r§   r³   rf   rù  rû  rø  rú  r³  r   )	rª   rQ   rj   rk   rl   rm   rp   r   Úresids	            r   Útest_dual_feasibilityz'LinprogHiGHSTests.test_dual_feasibilityR  s­   € ä,;ÀÔ,DÑ)ˆˆ4��t˜T 6Ü�a˜d¨°D¸tØ#¨D¯K©KÀÇÁôOˆð
 ��d—f‘f˜sŸ{™{×4Ñ4Ñ4Ñ4Ø—‘˜#Ÿ)™)×-Ñ-Ñ-ñ.à—‘×$Ñ$ñ%ð —‘×$Ñ$ñ%ˆô 	˜˜q uÖ-r   c           
      óö   — t        d¬«      \  }}}}}}t        ||||||| j                  | j                  ¬«      }t	        j
                  |j                  j                  |||j                  z  z
  z  d«      sJ ‚y )Nr  rƒ  rö  r   )	rq   r	   r§   r³   r8   Úallcloserù  rû  r/   rú   s           r   Útest_complementary_slacknessz.LinprogHiGHSTests.test_complementary_slackness`  so   € ä,;ÀÔ,DÑ)ˆˆ4��t˜T 6Ü�a˜d¨°D¸tØ#¨D¯K©KÀÇÁôOˆô �{‰{˜3Ÿ;™;×0Ñ0°D¸4À#Ç%Á%¹<Ñ4GÑHÈ!ÔLÐLÑLr   z&Upstream / Wrapper issue, see gh-20589rP  c                 ó<  — g d¢}g d¢}g d¢}g d¢}g d¢}g d¢}t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }	t        j
                  j                  |||	ffd¬	«      }
t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        j                  j                  |d
d
|
||¬«      }|j                  dk(  sJ ‚|j                  }t         j                  j                  |
|z  |z
  «      }t         j                  j                  |j                  j                  «      }t        ||«       y
)zH
        Test that `linprog` now solves a poorly-scaled problem
        )!)ç     ˆÃ@g    j/aA)râ  N©r   N)râ  gÈÄS8(U@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ƒ   )Srø   rî   rø   rî   rø   rî   rø   rî   rø   rî   rø   rî   rø   rî   rø   rî   rø   rî   rø   rî   rî   rî   rø   çü©ñÒMbP?çü©ñÒMbP¿ç<ó:ˆ¨ù=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ø   )Sr   r   r   r   r   r   r!   r!   r%   r%   r  r  rv   rv   rz   rz   rs   rs   rw   rw   ra   rÎ  rÎ  r  r  r  r  é   r¥  rt  rt  rt  rt  r<  r<  rÏ  rÏ  rÏ  rÏ  é   r¦  rÐ  rÐ  rÐ  rÐ  rÑ  rÑ  rb   rb   rb   rb   é   r§  é   r¨  r¨  r¨  é   r©  é   rª  rª  rª  é   r«  é   r¬  r¬  r¬  é   r­  é   r®  r®  r®  é   r¯  é   r°  r°  r°  é   r±  )Sr<  rt  r¦  rÏ  rÑ  rÐ  r§  rb   r©  r¨  r«  rª  r­  r¬  r¯  r®  r±  r°  r¥  r   r   é    r!   rt  r¥  r%   r   r%   r   r²  r±  r   r  r   r  rÏ  r<  r  r%   r  r%   rÐ  r¦  rv   r  rv   r  rb   rÑ  rz   rv   rz   rv   r¨  r§  rs   rz   rs   rz   rª  r©  rw   rs   rw   rs   r¬  r«  ra   rw   ra   rw   r®  r­  rÎ  ra   rÎ  ra   r°  r¯  r  rÎ  r  rÎ  ) râ  râ  râ  râ  râ  râ  râ  râ  râ  râ  g    ˆ*aArâ  gºel›aûz?g—?‰2¨³ÀgZßÁPd%q?gúò‰4ïî¾ÀgéÌšãy?gµŽC1 |´ÀgÖ›üÓËx?gÀK†ÇcµÀgEŽ3-´w?g-.f—?`¶ÀgsFË]Fœv?g@ÎÊ¥u·Àg¢þbŽ„u?gNø³¦¸ÀgÐ¶ú¾¸lt?g=Ð‚Ã÷¹Àgþn’ïñTs?g”ÂQ3”o»Àg,'* +=r?g)[Šn½À)!râ  râ  râ  g¯l'V3ˆ¿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â  r6   )r²  rÒ  )rE   N)rj   rk   rl   rm   rp   r   )r8   Úasarrayrp  Úint32rˆ   r‰   Ú	csr_arrayÚoptimizer	   r   r/   ÚlinalgÚnormrø  rü  r   )rª   Ú
boundariesÚ
eq_entriesÚ
eq_indizesÚeq_varsÚ	eq_valuesÚcoefficientsÚnp_eq_entriesÚnp_eq_indizesÚ
np_eq_varsÚa_eqrm   rQ   Úresultr/   Ún_r_xÚn_rs                    r   Útest_bug_20336z LinprogHiGHSTests.test_bug_20336k  s>  € ò
	#ˆ
ò9ˆ
òNˆ
ò
3ˆò
?ˆ	òTˆô Ÿ
™
 :´R·Z±ZÔ@ˆÜŸ
™
 :´R·X±XÔ>ˆÜ—Z‘Z ¬r¯x©xÔ8ˆ
ä�|‰|×%Ñ% }°mÀZÐ5PÐ&QØ,4ð &ó 6ˆä�z‰z˜)¬2¯:©:Ô6ˆÜ�J‰J�|¬2¯:©:Ô6ˆä—‘×'Ñ'¨°¸4ÀdÐQUØ/9ð (ó ;ˆà�}‰}˜aÒÐÐØ�H‰HˆÜ—	‘	—‘˜t a™x¨$™Ó/ˆÜ�i‰i�n‰n˜VŸ\™\×2Ñ2Ó3ˆÜ˜˜UÕ#r   N)rY  rZ  r[  rÙ   r¶   r]  Úparametrizer}  r�  Ú	fail_slowr—  r›  rž  r�  rÆ  r}   r   r   rq  rq  ú  sÏ   „ ò
Bð ‡[�[×Ñ˜YØ(¨"˜oØ% r˜lØ)¨2Ð.Ø+¨RÐ0Ø;¸RÐ@Ø=¸rÐBØ9¸2Ð>ØBÀFÐKð ó	!ñó	!ðòIð ‡[�[×Ñ˜2Óñ/4ó ð/4òb.ò	Mð ‡[�[×ÑÐFÐÓGñA$ó HñA$r   rq  c                   ó0   ‡ — e Zd Zd„ Zd„ Zd„ Zˆ fd„Zˆ xZS )ÚTestLinprogSimplexDefaultc                 ó   — i | _         y r×   r|  rØ   s    r   Úsetup_methodz&TestLinprogSimplexDefault.setup_method·  s	   € Øˆ�r   c                 ó.   — t        j                  d«       y ©NzSimplex fails on this problem.rg  rØ   s    r   r  z'TestLinprogSimplexDefault.test_bug_5400º  ó   € Ü�‰Ð4Õ5r   c                 ó.   — t        j                  d«       y rÎ  rg  rØ   s    r   Útest_bug_7237_low_tolz/TestLinprogSimplexDefault.test_bug_7237_low_tol½  s   € ô 	�‰Ð4Õ5r   c                 ó¸   •— | j                   j                  ddi«       t        j                  t        «      5  t
        ‰| �  «        d d d «       y # 1 sw Y   y xY w©Nr&  r™  ©r³   rA  r¶   r·   r
   Úsuperr(  ©rª   Ú	__class__s    €r   Útest_bug_8174_low_tolz/TestLinprogSimplexDefault.test_bug_8174_low_tolÂ  ó>   ø€ ð 	�‰×Ñ˜U E˜NÔ+Ü�\‰\œ/Õ*Ü‰GÑ!Ô#÷ +×*Ñ*úó   ¸AÁA)rY  rZ  r[  rÌ  r  rÑ  rØ  Ú__classcell__©r×  s   @r   rÊ  rÊ  µ  s   ø„ òò6ò6÷
$ð $r   rÊ  c                   ó*   ‡ — e Zd Zd„ Zd„ Zˆ fd„Zˆ xZS )ÚTestLinprogSimplexBlandc                 ó   — ddi| _         y )Nr¾  Tr|  rØ   s    r   rÌ  z$TestLinprogSimplexBland.setup_methodÌ  s   € Ø �ˆ�r   c                 ó.   — t        j                  d«       y rÎ  rg  rØ   s    r   r  z%TestLinprogSimplexBland.test_bug_5400Ï  rÏ  r   c                 ó  •— | j                   j                  ddi«       t        j                  t        «      5  t        j
                  t        «      5  t        ‰| �!  «        d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY wrÓ  )	r³   rA  r¶   r   r-   r·   r
   rÕ  r(  rÖ  s    €r   rØ  z-TestLinprogSimplexBland.test_bug_8174_low_tolÒ  s[   ø€ ð 	�‰×Ñ˜U E˜NÔ+Ü�]‰]œ>Õ*Ü—‘œoÕ.Ü‘Ñ%Ô'÷ /÷ +Ð*ß.Ð.ú÷ +Ð*ús#   ¸A>ÁA2Á!A>Á2A;	Á7A>Á>B)rY  rZ  r[  rÌ  r  rØ  rÛ  rÜ  s   @r   rÞ  rÞ  Ê  s   ø„ ò'ò6÷(ð (r   rÞ  c                   ó  ‡ — e Zd Zd„ Z ej
                  d«      j                  dk  Zej                  j                  d«      Zej                  j                  exr ed¬«      ˆ fd„«       Zˆ fd„Zd	„ Zˆ fd
„Zd„ Zd„ Zˆ xZS )ÚTestLinprogSimplexNoPresolvec                 ó   — ddi| _         y )Nr5  Fr|  rØ   s    r   rÌ  z)TestLinprogSimplexNoPresolve.setup_methodÝ  s   € Ø" EÐ*ˆ�r   r   rs   Úlinuxz"Fails with warning on 32-bit linux)Ú	conditionrQ  c                 ó"   •— t         ‰| �  «        y r×   )rÕ  r  rÖ  s    €r   r  z*TestLinprogSimplexNoPresolve.test_bug_5400ã  s   ø€ ô 	‰ÑÕr   c                 ó¼   •— | j                   j                  ddi«       t        j                  t        d¬«      5  t
        ‰| �  «       cd d d «       S # 1 sw Y   y xY w)Nr&  r™  zlinprog status 4r¯   )r³   rA  r¶   r   r-   rÕ  r
  rÖ  s    €r   Útest_bug_6139_low_tolz2TestLinprogSimplexNoPresolve.test_bug_6139_low_tolé  sB   ø€ ð
 	�‰×Ñ˜U E˜NÔ+Ü�]‰]œ>Ð1CÖDÜ‘7Ñ(Ó*÷ E×DÒDús   ºAÁAc                 ó.   — t        j                  d«       y rÎ  rg  rØ   s    r   rÑ  z2TestLinprogSimplexNoPresolve.test_bug_7237_low_tolò  rÏ  r   c                 ó¸   •— | j                   j                  ddi«       t        j                  t        «      5  t
        ‰| �  «        d d d «       y # 1 sw Y   y xY wrÓ  rÔ  rÖ  s    €r   rØ  z2TestLinprogSimplexNoPresolve.test_bug_8174_low_tolõ  rÙ  rÚ  c                 ó.   — t        j                  d«       y ©Nz#Tests behavior specific to presolverg  rØ   s    r   r´  zGTestLinprogSimplexNoPresolve.test_unbounded_no_nontrivial_constraints_1ü  ó   € Ü�‰Ð9Õ:r   c                 ó.   — t        j                  d«       y rí  rg  rØ   s    r   r¶  zGTestLinprogSimplexNoPresolve.test_unbounded_no_nontrivial_constraints_2ÿ  rî  r   )rY  rZ  r[  rÌ  r8   ÚintpÚitemsizeÚ	is_32_bitr_  r`  rÌ   Úis_linuxr¶   r]  r�  r  ré  rÑ  rØ  r´  r¶  rÛ  rÜ  s   @r   rã  rã  Û  s‚   ø„ ò+ð �—‘˜“
×#Ñ# aÑ'€IØ�|‰|×&Ñ& wÓ/€Hà‡[�[×ÑØÒ( Ø3ð ó 5ó ó5ð ô+ò6ô$ò;ö;r   rã  c                   ó€   ‡ — e Zd ZddiZej
                  j                  ej                  dk(  d¬«      ˆ fd„«       Z	ˆ xZ
S )ÚTestLinprogIPDenser‰   FrO  z:Fails on some macOS builds for reason not relevant to testrP  c                 ó"   •— t         ‰| �  «        y r×   ©rÕ  r
  rÖ  s    €r   r
  z TestLinprogIPDense.test_bug_6139  s   ø€ ô
 	‰ÑÕr   )rY  rZ  r[  r³   r¶   r]  r^  r_  r`  r
  rÛ  rÜ  s   @r   rõ  rõ    sD   ø„ Ø˜Ð€Gð ‡[�[×ÑØ�‰˜Ñ ØKð ó ó ó	ô r   rõ  c                   ó   — e Zd ZdddœZy)ÚTestLinprogIPSparseCholmodT©r‰   r   N©rY  rZ  r[  r³   r}   r   r   rù  rù    s   „ Ø!¨tÑ4‰r   rù  c                   ó   — e Zd ZdddœZd„ Zy)ÚTestLinprogIPSparseUmfpackTFrú  c                 ó.   — t        j                  d«       y )Nz2Failing due to numerical issues on some platforms.rg  rØ   s    r   rÚ  z=TestLinprogIPSparseUmfpack.test_network_flow_limited_capacity  s   € Ü�K‰KÐLÕMr   N)rY  rZ  r[  r³   rÚ  r}   r   r   rý  rý    s   „ Ø!¨uÑ5ˆó	Nr   rý  c                   ó  ‡ — e Zd ZddddœZej
                  j                  ej                  dk(  d¬«      ej
                  j                  d«      ˆ fd„«       «       Z
ej
                  j                  d	¬«      ˆ fd
„«       Zd„ Zd„ Zˆ xZS )ÚTestLinprogIPSparseTF©r‰   r   Úsym_posrO  ú/Fails on macOS x86 Accelerate builds (gh-20510)rP  úrThis test is sensitive to machine epsilon level perturbations in linear system solution in _linprog_ip._sym_solve.c                 ó"   •— t         ‰| �  «        y r×   r÷  rÖ  s    €r   r
  z!TestLinprogIPSparse.test_bug_6139#  ó   ø€ ô 	‰ÑÕr   úFails with ATLAS, see gh-7877c                 ó"   •— t         ‰| �  «        y r×   ©rÕ  r  rÖ  s    €r   r  z!TestLinprogIPSparse.test_bug_6690-  ó   ø€ ô 	‰ÑÕr   c                 óò  — t        d«      \  }}}}}d}t        j                  «       5  t        rt        j                  dt
        «       t        j                  ddt        «       t        j                  ddt        «       | j                  D �ci c]  }|| j                  |   “Œ }}d|d<   t        |t        t        |||| j                  |¬«      }d d d «       d	}	t        |	¬
«       y c c}w # 1 sw Y   ŒxY w)Nr!   rÄ   r  zMatrix is exactly singularrØ  Fr5  rñ   r  rÞ   )rR   r  r  rÙ  rË  r   r  r   r
   r³   r	   rj   rk   r§   r3   )
rª   rl   rm   rQ   r  rp   r  r  r   r0   s
             r   Ú$test_magic_square_sparse_no_presolvez8TestLinprogIPSparse.test_magic_square_sparse_no_presolve2  sÞ   € ä*¨1›oÑˆˆd�A�q˜!Øˆä×$Ñ$Õ&ÝÜ×%Ñ% h´Ô?Ü×#Ñ#ØÐ6Ô8IôKä×#Ñ#ØÐ9¼?ôLð 48·<²<Ó@±<¨C��d—l‘l 3Ñ'Ñ'°<ˆAÐ@Ø!ˆAˆj‰Mä˜!œT¤4¨¨t°VØ!%§¡°aô9ˆC÷ 'ð )ˆÜ˜¨Ö5ùò A÷ 'Ð&ús   ¨A%C-ÂC(Â$,C-Ã(C-Ã-C6c                 óÊ  — t        d«      \  }}}}}t        j                  «       5  t        j                  ddt        «       t        j                  ddt        «       | j
                  D �ci c]  }|| j
                  |   “Œ }}d}|D ]?  }||d<   t        |t        t        ||t        | j                  |¬«      }	d}
t        |	|
¬	«       ŒA 	 d d d «       y c c}w # 1 sw Y   y xY w)
Nr!   r  rÃ  zInvalid permc_spec option)ÚNATURALÚMMD_ATAÚMMD_AT_PLUS_AÚCOLAMDr­   Ú
permc_specrñ   r  rÞ   )rR   r  r  r  r
   r³   r	   rj   rk   rp   r§   r3   )rª   rl   rm   rQ   r  r  r  Úpermc_specsr  r   r0   s              r   Útest_sparse_solve_optionsz-TestLinprogIPSparse.test_sparse_solve_optionsG  s×   € ä*¨1›oÑˆˆd�A�q˜!Ü×$Ñ$Õ&Ü×#Ñ#ØÐ3´_ôFä×#Ñ#ØÐ5´ôHà37·<²<Ó@±<¨C��d—l‘l 3Ñ'Ñ'°<ˆAÐ@ð7ˆKó *�
Ø",��,‘Ü˜a¤¤t¨T°4¼Ø%)§[¡[¸!ô=�à0�Ü °Ö=ñ *÷ 'Ð&ùò
 A÷ 'Ð&ús   ¦ACÁ+CÂACÃCÃC")rY  rZ  r[  r³   r¶   r]  r^  r_  r`  Úxfail_on_32bitr
  r�  r  r  r  rÛ  rÜ  s   @r   r   r      s“   ø„ Ø¨5¸UÑC€Gà‡[�[×ÑØ�‰˜Ñ Ø@ð ó ð ‡[�[×Ñð !:ó ;ó ó;ó	ð ð ‡[�[×ÑÐ=ÐÓ>ó ó ?ð ò6ö*>r   r   c                   ó  ‡ — e Zd ZdddœZej
                  j                  ej                  dk(  d¬«      ej
                  j                  d«      ˆ fd„«       «       Z
d„ Zej
                  j                  d	¬«      ˆ fd
„«       Zˆ xZS )ÚTestLinprogIPSparsePresolveT)r‰   r  rO  r  rP  r  c                 ó"   •— t         ‰| �  «        y r×   r÷  rÖ  s    €r   r
  z)TestLinprogIPSparsePresolve.test_bug_6139_  r  r   c                 ó.   — t        j                  d«       y )Nz6_sparse_presolve=True incompatible with presolve=Falserg  rØ   s    r   rï  zBTestLinprogIPSparsePresolve.test_enzo_example_c_with_infeasibilityi  s   € Ü�‰ÐLÕMr   r  c                 ó"   •— t         ‰| �  «        y r×   r	  rÖ  s    €r   r  z)TestLinprogIPSparsePresolve.test_bug_6690l  r
  r   )rY  rZ  r[  r³   r¶   r]  r^  r_  r`  r  r
  rï  r�  r  rÛ  rÜ  s   @r   r  r  \  s�   ø„ Ø°4Ñ8€Gà‡[�[×ÑØ�‰˜Ñ Ø@ð ó ð ‡[�[×Ñð !:ó ;ó ó;ó	ð òNð ‡[�[×ÑÐ=ÐÓ>ó ó ?ô r   r  c                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLinprogIPSpecificr¾   c                 ó  — t         rdddœ}nt        rdddœ}nddddœ}t        dd«      \  }}}t        |||| j                  |¬«      }t        |||| j                  ¬«      }t        |j                  |j                  dd	d
¬«       y )NTrú  Fr  rb   rÜ   r®   z(linprog default solver unexpected resultgVçž¯â<gVçž¯Ò<r(   )Úhas_cholmodrÙ  r_   r	   r§   r   r.   )rª   r³   rO   rP   rQ   r4  r5  s          r   Útest_solver_selectz(TestLinprogIPSpecific.test_solver_selectx  s€   € åØ!%°4Ñ8‰GÝØ!%°5Ñ9‰Gà!%°5ÀUÑKˆGÜ˜2˜rÓ"‰ˆˆ1ˆaÜ�q˜q q°·±ÀgÔNˆÜ�q˜q q°·±Ô=ˆÜ˜Ÿ™ $§(¡(Ø JØ"¨ö	0r   c                 ób   — dg}dg}t        ||| j                  dddœ¬«      }t        |d¬«       y )Nr5   r©  FT)r5  r   rF  rÞ   )r	   r§   r3   rQ  s       r   Ú)test_unbounded_below_no_presolve_originalz?TestLinprogIPSpecific.test_unbounded_below_no_presolve_original‡  s:   € àˆDˆØ�ˆÜ˜ &Ø!Ÿ[™[Ø+0¸dÑCôEˆô 	˜¨Ö,r   c                 óv   — t        dd«      \  }}}t        |||| j                  ddi¬«      }t        |d¬«       y )Nrb   r   TrÜ   rÝ   rÞ   rß   rà   s        r   Útest_choleskyz#TestLinprogIPSpecific.test_cholesky�  s=   € ä˜2˜rÓ"‰ˆˆ1ˆaÜ�a˜a a°·±Ø)¨4Ð0ô2ˆä˜Ð);Ö<r   c           
      ó¢  — t        dd«      \  }}}t        j                  «       5  t        j                  ddt        «       t        j                  ddt
        «       t        j                  ddt        «       t        j                  ddt        «       t        |||| j                  dddœ¬	«      }d d d «       t        d
¬«       y # 1 sw Y   ŒxY w)Nrb   r  r×  rØ  rV  rW  T)ÚiprÛ   rÜ   rÝ   rÞ   )
r_   r  r  r  rG  r
   r   r	   r§   r3   rà   s        r   Útest_alternate_initial_pointz2TestLinprogIPSpecific.test_alternate_initial_point—  s·   € ä˜2˜rÓ"‰ˆˆ1ˆaÜ×$Ñ$Õ&Ü×#Ñ#ØÐ6¼ôHä×#Ñ#ØÐ9¼?ôLä×#Ñ#ØÐ5´}ôFä×#Ñ#ØÐ1´=ôBô ˜! !¨!°D·K±KØ)-°tÑ"<ô>ˆC÷ 'ô 	˜Ð);Ö<÷ 'Ð&ús   ¥B
CÃCc                 óf  — dg}dgdgg}ddg}dgdgdgg}g d¢}t        j                  «       5  t        j                  dt        «       t        j                  dd	t
        «       t        |||||t        | j                  d
di¬«      }d d d «       t        j                   d«       y # 1 sw Y   Œ!xY w)Nr%   r   r  r   r{   rw   r:  r  rØ  r5  Frñ   r   )r  r  rË  rG  r  r
   r	   rp   r§   r   r   ró  s          r   r;  z#TestLinprogIPSpecific.test_bug_8664©  s¯   € àˆCˆØ��a�SˆzˆØ�1ˆvˆØ��b�T˜A˜3ÐˆÚˆÜ×$Ñ$Õ&Ü×!Ñ! (¬NÔ;Ü×#Ñ#ØÐ9¼?ôLä˜!˜T 4¨¨t´VØ!%§¡°zÀ5Ð6IôKˆC÷	 'ô 	�C—K‘K�Ð!?Õ@÷ 'Ð&ús   ®AB'Â'B0N)	rY  rZ  r[  r§   r  r!  r#  r&  r;  r}   r   r   r  r  r  s!   „ à€Fò0ò-ò=ò=ó$Ar   r  c                   ó:   — e Zd Zi Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y)	ÚTestLinprogRSCommonc                 ó.   — t        j                  d«       y rl  rg  rØ   s    r   rÁ  z%TestLinprogRSCommon.test_cyclic_blandÁ  rm  r   c                 óÈ   — t        «       \  }}}}}}}t        |||||t        | j                  | j                  |¬«	      }t        |||¬«       t        |j                  d«       y ©N©r§   r³   Úx0r©   r   ©r€   r	   rp   r§   r³   r3   r   r™   rÆ  s	            r   Ú"test_nontrivial_problem_with_guessz6TestLinprogRSCommon.test_nontrivial_problem_with_guessÄ  óY   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6Ü�a˜˜t T¨4´Ø!Ÿ[™[°$·,±,À6ôKˆä˜¨¸6ÕBÜ�S—W‘W˜aÕ r   c                 óÈ   — t        «       \  }}}}}}}g d¢}t        ||||||| j                  | j                  |¬«	      }	t	        |	||¬«       t        |	j                  d«       y )N)rƒ   rƒ   r„   rƒ   r-  r©   r   ©r€   r	   r§   r³   r3   r   r™   ©
rª   rQ   rj   rk   rl   rm   r~   r   rp   r   s
             r   Ú0test_nontrivial_problem_with_unbounded_variableszDTestLinprogRSCommon.test_nontrivial_problem_with_unbounded_variablesË  s^   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6ÚFˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,À6ôKˆä˜¨¸6ÕBÜ�S—W‘W˜aÕ r   c                 óÈ   — t        «       \  }}}}}}}g d¢}t        ||||||| j                  | j                  |¬«	      }	t	        |	||¬«       t        |	j                  d«       y )N)r©  ©r   Nr„   ©rà  g333333ã?r-  r©   r   r3  r4  s
             r   Ú.test_nontrivial_problem_with_bounded_variableszBTestLinprogRSCommon.test_nontrivial_problem_with_bounded_variablesÓ  s^   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6Ú<ˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,À6ôKˆä˜¨¸6ÕBÜ�S—W‘W˜aÕ r   c                 ó   — t        «       \  }}}}}}}dg}t        j                  g d¢«      }d}g d¢}t        ||||||| j                  | j
                  |¬«	      }	t        |	||¬«       t        |	j                  d«       y )Nr%   )giblÝ3â¿gç%Gà/ø?r   rà  g«@Q†$@)rƒ   r7  r„   r8  r-  r©   r   )	r€   r8   rB   r	   r§   r³   r3   r   r™   r4  s
             r   Ú8test_nontrivial_problem_with_negative_unbounded_variablezLTestLinprogRSCommon.test_nontrivial_problem_with_negative_unbounded_variableÛ  sy   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6ØˆsˆÜ—‘Ò6Ó7ˆØˆÚ?ˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,À6ôKˆä˜¨¸6ÕBÜ�S—W‘W˜aÕ r   c                 ó´   — t        «       \  }}}}}}}g d¢}t        |||||t        | j                  | j                  |¬«	      }	t        |	j                  d«       y ©N)r   r   r!   rd   r-  rv   ©r€   r	   rp   r§   r³   r   r   ©
rª   rQ   rj   rk   rl   rm   r~   r   Ú	bad_guessr   s
             r   Ú&test_nontrivial_problem_with_bad_guessz:TestLinprogRSCommon.test_nontrivial_problem_with_bad_guessæ  óR   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6Ú!ˆ	Ü�a˜˜t T¨4´Ø!Ÿ[™[°$·,±,À9ôNˆä�S—Z‘Z Õ#r   c                 ó  — t         j                  j                  d«      }t        d|¬«      \  }}}}}|j                  |j                  «      }t        j                  «       5  t        j                  ddt        «       t        j                  ddt        «       t        j                  dt        «       t        |||| j                  ¬«      }t        |||| j                  |j                  ¬«      }t        ||z   ||| j                  |j                  ¬«      }	d d d «       t        j                   ¬	«       t#        |j$                  d
«       t        	«       t'        |	j$                  |j$                  k  «       y # 1 sw Y   ŒdxY w)Nl   �%½4Û| r!   r  r  rÃ  rÊ  )rl   rm   r§   )rl   rm   r§   r.  rÞ   r   )r8   r9   r:   rR   rE   r  r  r  r
   rG  rË  r   r	   r§   r/   r3   r.   r   r™   r   )
rª   rG   rO   rP   rQ   r  rÔ  r   r5  Úres3s
             r   Ú%test_redundant_constraints_with_guessz9TestLinprogRSCommon.test_redundant_constraints_with_guessí  s  € Ü�i‰i×#Ñ# OÓ4ˆÜ$ Q¨CÔ0‰ˆˆ1ˆa��AØ�J‰J�q—w‘wÓˆÜ×$Ñ$Õ&Ü×#Ñ#ØÐ3´_ôFä×#Ñ#ØÐ5´~ôGä×!Ñ! (¬MÔ:Ü˜! !¨!°D·K±KÔ@ˆCÜ˜1 1¨1°T·[±[ÀSÇUÁUÔKˆDÜ˜1˜q™5 q¨q¸¿¹ÈÏÉÔOˆD÷ 'ô 	˜¨#¯'©'Õ2Ü�T—X‘X˜qÔ!Ü˜ÔÜ�—‘˜3Ÿ7™7Ñ"Õ#÷ 'Ð&ús   Á"B5E:Å:FN)rY  rZ  r[  r³   rÁ  r0  r5  r9  r;  rA  rE  r}   r   r   r)  r)  ¾  s*   „ Ø€Gò8ò!ò!ò!ò	!ò$ó$r   r)  c                   ó   — e Zd ZddiZy)ÚTestLinprogRSBlandÚpivotr¾  Nrû  r}   r   r   rG  rG   	  s   „ Ø˜Ð �Gr   rG  c                   ó   — e Zd ZdZi Zd„ Zy)ÚTestLinprogHiGHSSimplexDualrÈ   c                 ó|  — t        «       \  }}}}t        ||||| j                  | j                  ¬«      }t	        |j
                  d«       t        |j                  du«       t        t        j                  |j                  dkD  «      «       t        t        j                  |j                  |D ��cg c]  \  }}|€t        j                  n|‘Œ c}}k  «      «       t        t        j                  |j                  |D ��cg c]  \  }}|€t        j                   n|dz
  ‘Œ c}}k\  «      «       yc c}}w c c}}w )z�
        The scaled model should be optimal, i.e. not produce unscaled model
        infeasible.  See https://github.com/ERGO-Code/HiGHS/issues/494.
        )rj   rk   rp   r§   r³   r   Ng�íµ ÷Æ°¾rº  )r“   r	   r§   r³   r   r   r   r/   r8   Úallrš   re   )rª   rQ   rj   rk   r’   r   rn   ro   s           r   Útest_lad_regressionz/TestLinprogHiGHSSimplexDual.test_lad_regression	  s  € ô 1Ó2Ñˆˆ4��tÜ�a˜d¨°dØ!Ÿ[™[°$·,±,ô@ˆä�S—Z‘Z Ô#Ü�—‘˜TÐ!Ô"Ü”—‘�s—y‘y 5Ñ(Ó)Ô*Ü”—‘�s—u‘uÙ/3ô!5Ù/3¡V R¨ð ,.¨:¤§¢¸2Ñ!=Ø/3ò!5ñ 5ó 6ô 	7ä”—‘�s—u‘uÙ/3ô!5Ù/3¡V R¨ð -/¨J¤"§&¡&¡¸BÀ¹IÑ!EØ/3ò!5ñ 5ó 6õ 	7ùó!5ùó!5s   Â1D2Ä"D8N)rY  rZ  r[  r§   r³   rM  r}   r   r   rJ  rJ  		  s   „ Ø€FØ€Gó7r   rJ  c                   ó   — e Zd ZdZi Zy)ÚTestLinprogHiGHSIPMr€  N)rY  rZ  r[  r§   r³   r}   r   r   rO  rO  %	  s   „ Ø€FØ�Gr   rO  c                   ór  — e Zd ZdZi Zej                  j                  d«      ej                  j                  e	j                  dk  xr  ej                  «       dk(  dd¬«      d„ «       «       Zd	„ Zd
„ Zd„ Zd„ Zej                  j$                  d„ «       Zej                  j$                  d„ «       Zd„ Zd„ Zy)ÚTestLinprogHiGHSMIPrº   ra   l        ÚLinuxFzgh-16347)ræ  ÚrunrQ  c           	      óœ  — d}t        |«      \  }}}}}dgt        |«      z  }dgt        |«      z  }t        |dz  |||| j                  |¬«      }	|j	                  «       |	j
                  z  j                  |dz  ||«      }
t        j                  |
d¬«      }t        j                  j                  |j                  d¬«      |«       t        j                  j                  |j                  d¬«      |«       t        j                  j                  t        j                  |«      j                  «       |«       t        j                  j                  t        j                  |d d …d d d…f   «      j                  «       |«       t        j                  j                  |	j
                  t        j                  |	j
                  «      d	¬
«       y )Nr%   rÄ   r   r   ©rQ   rl   rm   rp   r§   rÇ   r   rI  r5   r™  r÷  )rR   rÍ   r	   r§   rA   r/   r<   r8   rg  r  r   ÚdiagÚround)rª   rF   rO   rP   rQ   rI   rH   rp   rÇ   r   ÚsÚsquares               r   Ú	test_mip1zTestLinprogHiGHSMIP.test_mip13	  sT  € ð ˆÜ*¨1›oÑˆˆ1ˆa�˜!Ø�œC ›FÑ"ˆØ�cœC ›F‘lˆä˜˜!™ !¨!°FØ!Ÿ[™[°kôCˆð �_‰_Ó §¡Ñ&×/Ñ/°°1±°a¸Ó;ˆÜ—‘˜ Ô"ˆÜ
�
‰
×"Ñ" 6§:¡:°1 :Ó#5°qÔ9Ü
�
‰
×"Ñ" 6§:¡:°1 :Ó#5°qÔ9Ü
�
‰
×"Ñ"¤2§7¡7¨6£?×#6Ñ#6Ó#8¸!Ô<Ü
�
‰
×"Ñ"¤2§7¡7¨6²!±T°r°T°'©?Ó#;×#?Ñ#?Ó#AÀ1ÔEä
�
‰
×"Ñ" 3§5¡5¬"¯(©(°3·5±5«/ÀÐ"ÕFr   c                 ó  — t        j                  ddgddgg«      }t        j                  ddg«      }t        j                  ddg«       }t        j                  dt         j                  fgt        |«      z  «      }t        j                  |«      }t        ||||| j                  |¬	«      }t         j                  j                  |j                  ddg«       t         j                  j                  |j                  d
«       y )Nr   r£   r{   ra   r5   r¥  r   r   r	  rx   )r8   rB   re   rÍ   Ú	ones_liker	   r§   r  r   r/   r.   r  s          r   Ú	test_mip2zTestLinprogHiGHSMIP.test_mip2M	  sÆ   € ô �x‰x˜!˜R˜ 2 r (Ð+Ó,ˆÜ�x‰x˜˜R˜Ó!ˆÜ�X‰X�q˜!�fÓÐˆä—‘˜AœrŸv™v˜;˜-¬#¨a«&Ñ0Ó1ˆÜ—l‘l 1“oˆä˜ ¨4¸Ø!Ÿ[™[°kôCˆô 	�
‰
×"Ñ" 3§5¡5¨1¨a¨&Ô1Ü
�
‰
×"Ñ" 3§7¡7¨BÕ/r   c                 ó  — t        j                  ddgddgddgg«      }t        j                  g d¢«      }t        j                  ddg«       }dt         j                  fgt        |«      z  }dgt        |«      z  }t	        ||||| j
                  |¬«      }t         j                  j                  |j                  d«       t        j                  |j                  ddg«      s%t        j                  |j                  ddg«      sJ ‚y y )	Nr5   r   r!   r   r  r   r	  r£   )r8   rB   re   rÍ   r	   r§   r  r   r.   r�  r/   r  s          r   Ú	test_mip3zTestLinprogHiGHSMIP.test_mip3`	  sÜ   € ô �x‰x˜"˜a˜ 1 a &¨1¨a¨&Ð1Ó2ˆÜ�x‰xšÓ$ˆÜ�X‰X�q˜!�fÓÐˆà”b—f‘f�+�¤ Q£Ñ'ˆØ�cœC ›F‘lˆä˜ ¨4¸Ø!Ÿ[™[°kôCˆô 	�
‰
×"Ñ" 3§7¡7¨BÔ/ä�{‰{˜3Ÿ5™5 1 a &Ô)¬R¯[©[¸¿¹ÀÀAÀÔ-GÐGÐGÐ-GÐ)r   c                 óÄ  — t        j                  ddgddgddgg«      }t        j                  g d¢«      }t        j                  ddg«      }dt         j                  fgt        |«      z  }ddg}t	        ||||| j
                  |¬	«      }t         j                  j                  |j                  d
dg«       t         j                  j                  |j                  d«       y )Nr5   r£   r|   r   r   )rt  ißÿÿÿrb   rs   r   r	  g      @rz   é;   )
r8   rB   re   rÍ   r	   r§   r  r   r/   r.   r  s          r   Ú	test_mip4zTestLinprogHiGHSMIP.test_mip4q	  s¸   € ô �x‰x˜"˜b˜ B¨ 8¨a°¨VÐ4Ó5ˆÜ�x‰xšÓ&ˆÜ�H‰H�a˜�VÓˆà”b—f‘f�+�¤ Q£Ñ'ˆØ˜!�fˆä˜ ¨4¸Ø!Ÿ[™[°kôCˆô 	�
‰
×"Ñ" 3§5¡5¨3°¨(Ô3Ü
�
‰
×"Ñ" 3§7¡7¨BÕ/r   c           
      óš  — t        j                  g d¢g«      }t        j                  dg«      }t        j                  g d¢g«      }t        j                  dg«      }t        j                  g d¢«      }dt         j                  fdt         j                  fdg}g d¢}t        ||||||| j                  |¬	«      }t         j
                  j                  |j                  g d
¢«       t         j
                  j                  |j                  d«       |j                  dd «      €J ‚|j                  dd «      €J ‚|j                  dd «      €J ‚y )Nr…  rz   )r%   r   r   r  )rx   r£   r5   r   rÄ   r8  )rQ   rj   rk   rl   rm   rp   r§   rÇ   )r   rv   r   iôÿÿÿÚmip_node_countÚmip_dual_boundÚmip_gap)
r8   rB   re   r	   r§   r  r   r/   r.   r=  )	rª   rj   rk   rl   rm   rQ   rp   rÇ   r   s	            r   Ú	test_mip5zTestLinprogHiGHSMIP.test_mip5�	  s  € ô �x‰xš˜Ó$ˆÜ�x‰x˜˜‹}ˆÜ�x‰xš˜Ó$ˆÜ�x‰x˜˜‹~ˆÜ�H‰H’\Ó"ˆà”b—f‘f�+ ¤2§6¡6˜{¨FÐ3ˆÚˆä˜ ¨4°dÀØ#¨D¯K©KØ"-ô/ˆô 	�
‰
×"Ñ" 3§5¡5ª)Ô4Ü
�
‰
×"Ñ" 3§7¡7¨CÔ0ð �w‰wÐ'¨Ó.Ð:Ð:Ð:Ø�w‰wÐ'¨Ó.Ð:Ð:Ð:Ø�w‰w�y $Ó'Ð3Ð3Ñ3r   c                 ód  — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  g d¢«      }dt         j                  fgdz  }d	gdz  }t        ||||| j                  |¬
«      }t         j
                  j                  |j                  d«       y )N©r¨  r¥  r¬  rÒ  r§  r!   rt  r¬  ©é'   rÏ  r¨  r®  r¬  r°  r©  rª  ©rÐ  rt  r¯  r­  r°  é&   r¬  r¬  ©é)   r¬  r®  r°  rÐ  rm  rÏ  r¬  ©iÀ  iâ(  i:,  i/  ©r   ra   r¥  r¦  rz   r  rz   r!   r   rs   r   rU  i>  )r8   rB   re   r	   r§   r  r   r.   )rª   rl   rm   rQ   rp   rÇ   r   s          r   Ú	test_mip6zTestLinprogHiGHSMIP.test_mip6™	  s—   € ô �x‰xÒ8Ú9Ú9Ú9ð;ó <ˆô �x‰xÒ3Ó4ˆÜ�H‰HÒ0Ó1ˆà”b—f‘f�+�˜q‘ˆØ�c˜!‘eˆä˜ ¨4¸Ø!Ÿ[™[°kôCˆô 	�
‰
×"Ñ" 3§7¡7¨DÕ1r   c                 ó6  — t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  g d¢«      }dt         j                  fgdz  }d	gdz  }g d
¢}g }|D ]G  }t        |t        t
        |||| j                  |d|i¬«	      }	|	d   }
|
|k  sJ ‚|j                  |
«       ŒI t        j                  t        j                  |«      «      }t        j                  |dk\  «      sJ ‚t        j                  |dk(  «      rJ ‚y )Nri  rj  rl  rn  rp  rq  r   rs   r   )rd   g      Ð?g{®Gáz„?r¢  Úmip_rel_gap)	rQ   rj   rk   rl   rm   rp   r§   rÇ   r³   rf  )r8   rB   re   r	   rj   rk   r§   r@   ÚdiffÚfliprL  )rª   rl   rm   rQ   rp   rÇ   Úmip_rel_gapsÚsol_mip_gapsrt  r   Úfinal_mip_gapÚ	gap_diffss               r   Útest_mip_rel_gap_passdownz-TestLinprogHiGHSMIP.test_mip_rel_gap_passdown¬	  s  € ô
 �x‰xÒ8Ú9Ú9Ú9ð;ó <ˆô �x‰xÒ3Ó4ˆÜ�H‰HÒ0Ó1ˆà”b—f‘f�+�˜q‘ˆØ�c˜!‘eˆâ/ˆØˆÛ'ˆKÜ˜A¤D¬t¸$ÀTØ!'°·±Ø&1Ø#0°+Ð">ô@ˆCð   	™NˆMð ! KÒ/Ð/Ð/Ø×Ñ Õ.ð (ô" —G‘GœBŸG™G LÓ1Ó2ˆ	Ü�v‰v�i 1‘nÔ%Ð%Ð%Ü—6‘6˜) q™.Ô)Ð)Ð)Ð)r   c                 ó:  — t        j                  g d¢«      }t        j                  ddgddgddgddgg«      }t        j                  g d¢«      }t        |||d¬«      }t         j                  j	                  |j
                  g d¢«       |j                  dk(  sJ ‚y )	N)rî   rî   r5   r5   rd   r.  )r   r!   r   r!   rº   )rp   rÇ   r§   )r   r   r.  r   r   )r8   rB   r	   r  r   r/   r   )rª   rQ   rp   rÇ   r   s        r   Útest_semi_continuousz(TestLinprogHiGHSMIP.test_semi_continuousÒ	  s…   € ô
 �H‰HÒ%Ó&ˆÜ—‘˜C ˜:¨¨S z°C¸°:ÀÀS¸zÐJÓKˆÜ—h‘hš|Ó,ˆä�a Ø"-°gô?ˆô 	�
‰
×"Ñ" 3§5¡5ª.Ô9Ø�z‰z˜QŠÐ‰r   c           	      ó$  — ddg}ddgg}dg}t        |||ddg¬«      }t        |||t        j                  ddg«      ¬«      }t        |||d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       y)z¡
        Test that when integrality is a list of all zeros, linprog gives the
        same result as when it is an array of all zeros / integrality=None
        r   r5   r   rÑ   rÒ   N)r	   r8   r³  r   r/   )rª   rQ   rj   rk   r4  r5  rD  s          r   Útest_bug_20584z"TestLinprogHiGHSMIP.test_bug_20584á	  s„   € ð
 �ˆFˆØ�Q�ˆyˆØˆvˆÜ�q˜t¨$¸QÀ¸FÔCˆÜ�q˜t¨$¼B¿J¹JÈÈ1ÀvÓ<NÔOˆÜ�q˜t¨$¸DÔAˆÜ�T—V‘V˜TŸV™VÔ$Ü�T—V‘V˜TŸV™VÕ$r   N)rY  rZ  r[  r§   r³   r¶   r]  rÈ  r�  r_  Úmaxsizer`  ÚsystemrZ  r]  r_  rb  rg  Úxslowrr  r{  r}  r  r}   r   r   rQ  rQ  /	  sÎ   „ Ø€FØ€Gà‡[�[×Ñ˜2ÓØ‡[�[×Ñ #§+¡+°Ñ"7ò #4Ø&�x—‘Ó(¨GÑ3Ø Ø(ð ó *ñGó	*ó ð
Gò*0ò&Hò"0ò 4ð0 ‡[�[×Ññ2ó ð2ð$ ‡[�[×Ññ#*ó ð#*òJó%r   rQ  c                   ó\   — e Zd ZddiZej
                  Zej                  Zej                  Zy)ÚAutoscaleTestsrU  TN)rY  rZ  r[  r³   rÕ   r
  r  r   r}   r   r   r„  r„  õ	  s-   „ à˜DÐ!€Gà&×4Ñ4€MØ&×4Ñ4€MØ&×4Ñ4�Mr   r„  c                   ó   — e Zd ZdZd„ Zy)ÚTestAutoscaleIPr¾   c                 óJ   — d| j                   d<   t        j                  | «      S )Nr'  r&  )r³   r„  r
  rØ   s    r   r
  zTestAutoscaleIP.test_bug_6139
  s!   € Ø#ˆ�‰�UÑÜ×+Ñ+¨DÓ1Ð1r   N)rY  rZ  r[  r§   r
  r}   r   r   r†  r†  þ	  s   „ Ø€Fó2r   r†  c                   ó   — e Zd ZdZy)ÚTestAutoscaleSimplexrÀ   Nrc  r}   r   r   r‰  r‰  
  s   „ Ø�Fr   r‰  c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚTestAutoscaleRSr¿   c                 óÈ   — t        «       \  }}}}}}}t        |||||t        | j                  | j                  |¬«	      }t        |||¬«       t        |j                  d«       y r,  r/  rÆ  s	            r   r0  z2TestAutoscaleRS.test_nontrivial_problem_with_guess
  r1  r   c                 ó´   — t        «       \  }}}}}}}g d¢}t        |||||t        | j                  | j                  |¬«	      }	t        |	j                  d«       y r=  r>  r?  s
             r   rA  z6TestAutoscaleRS.test_nontrivial_problem_with_bad_guess
  rB  r   N)rY  rZ  r[  r§   r0  rA  r}   r   r   r‹  r‹  

  s   „ Ø€Fò!ó$r   r‹  c                   óŒ   — e Zd ZdZeZej                  Zej                  Zej                  Z	ej                  Zej                  Zy)ÚRRTestsr¾   N)rY  rZ  r[  r§   rÕ   ÚLCTrÄ  Útest_RR_infeasibilityrN  r  rÚ  Ú	test_NFLCrã  r}   r   r   r�  r�  !
  sE   „ à€FØ
€Cà×DÑDÐØ×'Ñ'€NØ×%Ñ%€MØ×6Ñ6€IØ×1Ñ1Ñr   r�  c                   ó   — e Zd ZddiZy)Ú	TestRRSVDr±   ÚSVDNrû  r}   r   r   r”  r”  -
  s   „ Ø˜EÐ"�Gr   r”  c                   ó   — e Zd ZddiZy)ÚTestRRPivotr±   rH  Nrû  r}   r   r   r—  r—  1
  s   „ Ø˜GÐ$�Gr   r—  c                   ó   — e Zd ZddiZy)ÚTestRRIDr±   ÚIDNrû  r}   r   r   r™  r™  5
  s   „ Ø˜DÐ!�Gr   r™  )NNç:Œ0âŽyE>r›  r×   )r   )r   rs   rw   r#  )Vr\  r_  r`  r  Únumpyr8   Únumpy.exceptionsr   Únumpy.testingr   r   r   r   r¶   r   r´   Úscipy.optimizer	   r
   Úscipy.optimize._numdiffr   Úscipy.sparse.linalgr   Úscipy.linalgr   Úscipy.sparserˆ   rÙ  Úscikits.umfpackr   ÚImportErrorr  ÚsksparseÚsksparse.cholmodr   Úcholmodr   r   r"   r&   r3   rR   r_   rq   r€   r“   r«   r¸   r¼   rÂ   rÏ   rÓ   rj   rk   rl   rm   rp   rÕ   r]  r  rb  re  rj  rq  rÊ  rÞ  rã  rõ  rù  rý  r   r  r  r)  rG  rJ  rO  rQ  r„  r†  r‰  r‹  r�  r”  r—  r™  r}   r   r   Ú<module>r©     s   ðñó Û Û ã Ý 6÷.ó .å *ß 3Ý 5Ý 1Ý &Û Û à€ðÝ.ð €ðÛÝ4ò
LòFòEòKð 6:Ø$(ó.ó(?òDó6-ò 5ó òF4ò>9ò>ò%ò*#òZEð €Ø€Ø€Ø€Ø	€÷Z.ñ Z.ðD+ ‡�×ÑÐ8Ó9ôÐ,ó ó :ðð ‡�×ÑÐ8Ó9ôBÐ'ó Bó :ðBð ‡�×ÑÐ8Ó9ô8Ð'ó 8ó :ð8ô:s$Ð*ô s$ôv$Ð 3ô $ô*(Ð1ô (ô"%;Ð#6ô %;ôZ	 ˜ô 	 ñ ô5 ^ô 5ñ ôN ^ô Nô9>˜.ô 9>ôx  .ô  ð, ‡�×ÑÐ8Ó9÷CAð CAó :ðCAôV?$˜.ô ?$ôD!˜ô !ô7Ð"3ô 7ô8Ð+ô ÷~%ñ ~%ðL ‡�×ÑÐ8Ó9÷5ð 5ó :ð5ô2�nô 2ô˜>ô ô$�nô $ð. ‡�×ÑÐ8Ó9÷2ð 2ó :ð2ô#�ô #ô%�'ô %ô"ˆwõ "øð}P ò ØƒKðûð ò ØƒKðús$   ÁJ  Á
J Ê JÊ
JÊJÊJ