
    bil                     l    d dl Zd dlZd dlmZ d dlmc mZ d dl	Z
d dlmZ d dl	mZ ddZd Zd Zd Zy)    N)psd_wrapc                     d} t        j                  |       }t        j                  |        }t        j                  |      j	                         sJ t        j                  |      j                         rJ t        j                  |      j                         sJ t        j                  |      j	                         rJ t               }t        dd      D ]t  }t         j                  j                  |       t         j                  j                  | |       }|j                  |z  }	 t        j                  |      j	                          v |dhk(  sJ t!        t        j                              j	                         sJ y # t        j                  $ r*}dt        |      v sJ |j                  |       Y d }~d }~ww xY w)N2   _   d   z
CVXPY notea   )npeyecpConstantis_psdis_nsdsetrangerandomseedrandnTsparlaArpackNoConvergencestraddr   )npsdnsdfailuresr   Pes          T/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/cvxpy/tests/test_constant.pytest_is_psdr       sc   
A &&)C66!9*C;;s""$$${{3&&(((;;s""$$${{3&&((( uHb# 

		tIIOOAq!CC!G	KKN!!#
 tBKKN#**,,, )) 	3q6)))LL	s   *#FG F>>Gc                  P   t        j                  t        j                  d            } t	        |       dk(  sJ t        j                  t        j                  d            }t	        |      dk(  sJ t
        j                  }dt
        _        t	        |      dk(  sJ |t
        _        y )N)   r"   z6[[1.00 1.00 1.00]
 [1.00 1.00 1.00]
 [1.00 1.00 1.00]])      z9[[1.00 1.00]
 [1.00 1.00]
 ...
 [1.00 1.00]
 [1.00 1.00]]
   zA[[1.00 1.00]
 [1.00 1.00]
 [1.00 1.00]
 [1.00 1.00]
 [1.00 1.00]])r   r   r	   onesr   sPRINT_EDGEITEMS)ABdefaults      r   
test_printr,   .   s    
BGGFO$Aq6OOOO
BGGFO$A	MN N NGA	UV V VA    c                     t        j                  t        j                  d      t        j                  d      dd  g      } t        j                  t        j                  d      t        j                  d      dd  g      }t        j                  d      }t        j                  || |ffd      }t        j                  t        j                  |      j                  d      sJ t        j                  t        j                  |d      j                  dgdgd	z  z         sJ t        j                  |d      j                  d
k(  sJ t        j                  t        j                  |d      j                  dgdgd	z  z         sJ t        j                  |d      j                  d
k(  sJ t        j                  t        j                  |dd      j                  dgdgd	z  z   g      sJ t        j                  |dd      j                  dk(  sJ t        j                  t        j                  |dd      j                  dggdggd	z  z         sJ t        j                  |dd      j                  dk(  sJ t        j                  d      j                  dd      dz   }t        j                  t        j                  t        j                  |            j                  d      sJ y )Nr         )r   r   )shapeg        r   )axisc   )r   T)r2   keepdims)r/   r   )r   r/      r$      )r	   concatenatearangezerosr&   sp
coo_matrixallcloser   prodvaluer1   reshape)rowscolsvaluesr)   r*   s        r   	test_prodrC   ;   s:   >>299S>288C=+<=>D>>288C="))C.*<=>DWWS\F
vd|,J?A;;rwwqz''---;;rwwqq)//!sRx@@@7711##v---;;rwwqq)//!sRx@@@7711##v---;;rwwqq48>>!sRx@PQQQ7711t,22h>>>;;rwwqq48>>!!PR
@RSSS7711t,22h>>>
		!Q"Q&A;;rwwr}}Q/066;;;r-   c                     ddgddgddgg} t        j                  |       }t        j                  |      }t	        j
                  d      5  t        j                  |       }d d d        t        j                  |j                  |      sJ t        j                  j                  j                  |      sJ y # 1 sw Y   XxY w)	Nr/   r$   r"   r5   r#      z!nested list is undefined behavior)match)	r	   arrayr   r   pytestwarnsr<   r>   r   )r)   numpy_arrayconstant_from_numpyconstant_from_listss       r   test_nested_listsrM   O   s    
Q!Q!Q A((1+K++k2	?	@ - kk!n- ;;*00+>>> ;;*0022K@@@- -s   B99C)returnN)numpyr	   rH   scipy.sparsesparser:   scipy.sparse.linalglinalgr   cvxpyr   cvxpy.settingssettingsr'   r   r    r,   rC   rM    r-   r   <module>rX      s3       $ $    -F
 <(Ar-   