
    Ph'                        d dl Zd dlmZmZmZ d dlZd dlZd dl	Zd dl	m
Z
 dZ ej                  e      Zej                  j                  Zej                   j"                  Z ed      D ]E  Z ee      Zeej*                  z  Zeeej*                  z   dz  z  Ze ee       ee      z  z  ZG  ee      ZdZd	Zd
ZdZdZd Zd Zd Zd Z d Z!y)    N)assert_allcloseassert_array_equalassert_equal)lsqr#      )sizeg      ?g|=g|=g:0yU>Fc            	         t         j                         } t        t        t         t        t
        t
        t              ^}}t        | t                t        j                  j                  t        t               }t        ||t        t               d}t        t        t         |t        t
        t
        t              ^}}t        j                  t        |t        j                  t        j                   d         z  f   }t        j                  t         t        j"                  t        j                   d         f   }t        j                  j%                  ||d       ^}}t        ||t        t               y )Nshowatolbtoliter_lim)r   rtolg      ?)dampr   r   r   r      )rcond)bcopyr   Gr   tolmaxitr   nplinalgsolver   	atol_test	rtol_testr_eyeshapezeroslstsq)b_copyxo_svxr   Gextbexts          vC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\scipy/sparse/linalg/_isolve/tests/test_lsqr.pytest_lsqr_basicr*       s    VVXF!QT#FFBvq!
))//!Q
CB))< D	14d3HFB 55D266!''!*---.D55BHHQWWQZ(()DiioodDo5GC!B))<    c                     t        j                  ddg      } t        j                  ddg      }t        j                  ddg      }t        j                  j	                  || |ffd      }t        j
                  dg      }t        ||       y )Nr   r   )r      )r       )r   arrayscipysparse	coo_arrayasarrayr   )rowcolvalAr   s        r)   test_gh_2466r9   6   sr    
((Aq6
C
((Aq6
C
((Ar7
Cc3Z0?A


A3AAJr+   c                  b   d} t         j                  j                  | |       }|j                         }t	        j
                  d      5  t        d      D ]  }t        j                  j                  |dz         }|j                  |       }d||dk(  <   ||d d t        j                  f   z  }t        ||t              }t        |d   d       |d   }t        ||       t        j                  j!                  ||      j#                         }	t        ||	        	 d d d        y # 1 sw Y   y xY w)	N
   raise)invalid   gh㈵>r   )r   r   )r1   r2   	eye_arraytoarrayr   errstaterangerandomRandomStaterandnewaxisr   r   r   r   r   r   ravel)
nA_sparseA_denseseedrngbetar   outputsolutionreference_solutions
             r)   test_well_conditioned_problemsrQ   ?   s    
 	A||%%a+H G	W	%"ID))''r	2C88A;D%DO42::..A(AD1F A&ayH Hd+ "$!!<!B!B!DH&89#  
&	%	%s   	CD%%D.c                     t        j                  ddgg      } d}t        | |      d   }t        | j	                  |      |z
        t        j                  d      k(  sJ t        j                  d      } t        j                  d      }t        | |      d   }t        | j	                  |      |j                         z
        t        j                  d      k(  sJ y )Ng      ?g       @g      @r   r;   )r;   r   )
r   r0   r   normdotpytestapproxr   onesrG   )r8   r   xs      r)   test_b_shapesrY   ]   s    
3*AAQ
1Aa1q!1111 	r
A
AQ
1Aa1779$%q)9999r+   c            	      B   t         j                         } t        t        t         t        t
        t
        t              }t        j                  |d   j                        }t        t        t         t        t
        t
        t        |      }t        | t                t        |d   |d          t        t        t         t        t
        t
        d      d   }t        t        t         t        t
        t
        t        |      }t        |d   |d          t        | t                y )Nr   r   )r   r   r   r   x0r   )r   r   r   r   r   r   r   r   r!   r    r   r   )r#   x_refr[   rX   s       r)   test_initializationr]   k   s    VVXFADsuEE	%(..	!BQ3S5RHAvq!E!Had# 
aCcA	>q	ABQ3S5RHAE!Had#vq!r+   )"numpyr   numpy.testingr   r   r   rU   scipy.sparser1   scipy.sparse.linalgr   rH   r   r   rC   normalr   rS   rB   jjggThhr   r   r   r   r   r   r*   r9   rQ   rY   r]    r+   r)   <module>rh      s     K K    $ 
BFF1I				yy~~
(B	QB	bddB"rtt)s	AQ&a.	((A	  N  		=,:<:"r+   