
    bi}                     v    d dl mZ d dlZd dlZd dlmZ d dlZd dlm	Z
 ej                  d        Zd Zd Zd Zy)    )SimpleNamespaceN)sparsec                    t               }t        j                  ddgddggd      |_        t	        j
                  ddg      |_        t        j                  dd	gd	dgdd
gddgd
dgg      |_        t	        j
                  g d      |_	        t        j                   t	        j                  t        |j                              z  |_        t        j                  |       |_        |S )Ng       @g      @g      ?csc)format      g              g      @)r
   r
   id   P   )algebra)r   r   triuPnparrayq
csc_matrixAuinfoneslenlosqpOSQPmodel)r   solver_typeatolrtoldecimal_tolnss         U/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/osqp/tests/non_convex_test.pyselfr#   
   s    		B;;c
S#J/>BD88QFBDtSkC;sc3ZRUWXQYZ[BD88,-BDFF7RWWSY''BDyy)BHI    c           
         |dk(  rt        j                  t        j                        5  | j                  j                  | j                  | j                  | j                  | j                  | j                  |d       d d d        y | j                  j                  | j                  | j                  | j                  | j                  | j                  |d       | j                  j                         }|j                  j                  | j                  j                  d      | j                  j                  d      fv sJ y # 1 sw Y   y xY w)Ndirectgư>)r   r   r   r   r   r   sigmaOSQP_MAX_ITER_REACHEDOSQP_NON_CVX)pytestraisesr   OSQPExceptionr   setupr   r   r   r   r   solveinfo
status_valconstant)r#   r   ress      r"   test_non_convex_small_sigmar3      s   h]]4--. 		JJ&&&&&&&&&&'  		 		 	

ffffffffff# 	 	
 jj xx""JJ 78JJ/'
 
 	
 
-		 		s   AEEc                 F   | j                   j                  | j                  | j                  | j                  | j
                  | j                  d       | j                   j                         }|j                  j                  | j                   j                  d      k(  sJ y )N   )r   r   r   r   r   r'   r)   )r   r-   r   r   r   r   r   r.   r/   r0   r1   )r#   r2   s     r"   test_non_convex_big_sigmar6   4   sn    JJtvv466TVVtvvQO
**


C88$**"5"5n"EEEEr$   c                 ~    t        j                  | j                  j                  d      t        j
                         y )NOSQP_NAN)nptestassert_approx_equalr   r1   r   nan)r#   s    r"   test_nanr<   ;   s%    
tzz22:>Gr$   )typesr   r   numpyr   scipyr   r*   numpy.testingtestingr9   fixturer#   r3   r6   r<    r$   r"   <module>rD      s@    !       
<FHr$   