
    bil	                     l    d dl Z d dlmZ d dlZd dlmZ d dlZd dlZej                  d        Z
d Zd Zy)    N)SimpleNamespace)sparsec                 n    t               }dddddd|d|_        t        j                  |       |_        |S )NFgh㈵>g#B;i	  )verboseeps_abseps_releps_dual_infmax_iter	polishingsolver_type)algebra)r   optsosqpOSQPmodel)r   r   atolrtoldecimal_tolselfs         _/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/osqp/tests/primal_infeasibility_test.pyr   r   	   s?    D"DI 7+DJK    c           	         t         j                  j                  d       d| _        d| _        t         j                  j                  | j                  | j                        }t        j                  |j                  j                  |      d      | _
        t         j                  j                  | j                        | _        t        j                  | j                  | j                        j                         | _        dt         j                  j                  | j                        z   | _        dt         j                  j                  | j                        z   | _        | j                  t#        | j                  dz        d	z   d d f   | j                  t#        | j                  dz        d d f<   | j                  t#        | j                  dz        d	z      d
t         j                  j                         z  z   | j                   t#        | j                  dz        <   | j                   t#        | j                  dz           dz   | j                  t#        | j                  dz        <   | j                  j%                         | _         | j&                  j(                  d| j                  | j                  | j                  | j                   | j                  d| j*                   | j&                  j-                         }|j.                  j0                  | j&                  j3                  d      k(  sJ |j4                  t         j6                  j9                  |j4                        z  }t        j:                  t<        j>                  jA                  t<        j>                  jC                  tD              dd            d   }t        jF                  ||      sJ y )N   2   i  csc)format         
   g      ?PqAluOSQP_PRIMAL_INFEASIBLE	solutionsztest_primal_infeasibility.npz normalized_prim_inf_cert_correct )$nprandomseednmrandr   triuTdotr#   r$   tolilr%   randnr'   r&   inttocscr   setupr   solveinfo
status_valconstantprim_inf_certlinalgnormloadospathjoindirname__file__allclose)r   Ptresnormalized_prim_inf_certr*   s        r   test_primal_infeasible_problemrK      s   IINN1DFDF		'B[["e4DFYY^^DFF#DF]]466466*002DF((DF"))//$&&))DF "&DFFQJ!(;Q(>!?DFF3tvvz?A"ffS!_q%89BAQ<QQDFF3tvvz?"ffS!_5;DFF3tvvz? VV\\^DFDJJStvv466TVVtvvSS **


C88$**"5"56N"OOOO"00299>>#BSBS3TT')ww
RWW__X.=\](((*$ ;;/1QRRRr   c           	         d| _         d| _        t        j                  d      | _        t        j                  ddg      | _        t        j                  ddgddgddgddgg      | _        t        j                  g d      | _	        t
        j                  t        j                  | j                        z  | _         | j                  j                  d| j                  | j                  | j                  | j                  | j                  d| j                   | j                  j!                         }|j"                  j$                  | j                  j'                  d	      | j                  j'                  d
      fv sJ y )Nr   r   )r   r   g            ?        )rM   rM   rN   rN   r"   r(   OSQP_DUAL_INFEASIBLEr+   )r/   r0   r   
csc_matrixr#   r,   arrayr$   r%   r&   infonesr'   r   r9   r   r:   r;   r<   r=   )r   rI   s     r   'test_primal_and_dual_infeasible_problemrT   =   s#   DFDFv&DFXXtTl#DFddC[3*sCjQRDFXX*+DFVVbggdffo%DFDJJStvv466TVVtvvSS
**


C88

45

23#   r   )rB   typesr   r   scipyr   numpyr,   pytestfixturer   rK   rT   r+   r   r   <module>rZ      s;    	 !      !SHr   