
    tKgP                        d dl mZmZmZ d dlmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZ d dlmZmZmZ d dlmZ d dlmZ d dlZd dlmZmZ d Zd	 Zd
 Z d Z!ejD                  jG                  deeg      ejD                  jG                  dddg      d               Z$ejD                  jG                  deeg      ejD                  jG                  dddg      d               Z%y)    )assert_array_almost_equalassert_allcloseassert_)arrayeyezeros
empty_likeemptytril_indices_fromtriltriu_indices_fromspacingfloat32float64	complex64
complex128)randrandintseed)ldl)ComplexWarningN)raiseswarnsc                      t        d      } t        t        t        | d d d df          t	        t
              5  t        | dz         d d d        y # 1 sw Y   y xY w)N                    ?)r   assert_raises
ValueErrorr   r   r   )As    f/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/linalg/tests/test_decomp_ldl.py	test_argsr"      sB    AA*c1QU8,	~	AbD	 
		s   AAc                      t        dt              } t        t        d            \  }}}t        |t	        |              t        |t	        |              t        |t        g t                     y )N)r   r   dtype)r
   complexr   r   r	   r   int)aldps       r!   test_empty_arrayr,      sO    fG$A%- GAq!aA/aA/ar!56    c                     t        g dg dg dg dg      } t        g dg dg dg dg      }t        g d	g d
g dg dg dg      }t        g dg dg dg dg dg      }t        g dg dg dg dg      }|||fD ]  }t        |      \  }}}t        |j                  |      j                  |j                        |t        d      d       t        |d      \  }}}t        |j                  |      j                  |j                        |t        d      d        t        | d      \  }}}t        |j                  |      j                  |j                        | t        d      d       t        | dd      \  }}}t        |j                  |      j                  |j                        | t        d      d       t        |j                         j                  d      \  }}}t        t        |j                  |      j                  |j                         j                        |z
        t        d      t        d      d       y )N)y(\ؿQ(\@{Gzq=
ףpGzffffff@q=
ףp?)r/   yQ!@(\?)\((\?HzG@q=
ףp)r0   r2   yp=
ףQp=
ףzG)r1   r3   r4   yQῸQ?)g      @
         )g      $@r      r6   )g      ?r8      	   )g      2@r6   r:   r   )g      J@a   p   k   2   )g     @X@r   Y   b      )g      \@r@   @   !      )g     Z@rA   rD   <   I   )g      I@rB   rE   rG   M   )       @r   r      )rI   rL   r5   )g      rL   rE   rM   rJ   )g        r5   rM   rE   )g      @rM   rJ   rN   r5   )y(\                        rO   rO   )yHzG?y=
ףp!        rO   rO   )yGz@zG?yq=
ףpQ?yQ        rO   )yHzG@      y{GzzGy)\(?)\(yq=
ףp        g     @@r   )atolrtolFlower	hermitianrS   rU   )rK   rK   )	r   r   r   dotTr   conjr   r   )	r(   bcr*   exr)   r+   us	            r!   test_simpler_      s   A@CAC 	DA 	 	 A 	&%$%#	% 	&A 	 ##"#	% 	&A
 	.18AC 	DA AYa&1aaQSS)175>Jau%1aaQSS)175>J  !u%GAq!AEE!HLL%qwu~AF!5E2GAq!AEE!HLL%qwu~AF !&&(**A&GAq!Dqaffhjj1!34eFm a1r-   c            	      0   t        d       t        d      D ]  } t        dd      }t        d      rt        ||      nt        ||      t        ||      dz  z   }||j	                         j
                  z   }|t        |      t        dd      z  z  }t        |d	
      }t        |d
      }t        |d      \  }}}t        t        ||d d f   |          d|  d       t        |d      \  }}}t        t        ||d d f   |          d|  d        y )N  r5   r6   d   r   r          .A)kr   rR   zSpin z failed)r   ranger   r   rY   rX   r   r   r   r   r   any)	_nr]   l_indu_indr^   r*   r+   r)   s	            r!   test_permutationsrm   H   s    J2YAsO!!*DAJ$q!*tAqz"}*D

N	SVGAsO##!!r*!!q) aq/1aC!Q$''57);<aq/1aC!Q$''57);<! r-   r%   rj         c                    t        d       d|  d| }t        | |       j                  |      }||j                  z   }|t	        | |       |t        dd            z  z  }t        |      \  }}}t        |d      \  }}}|t        u rd	nd
}	t        |j                  |      j                  |j                        ||	|       t        |j                  |      j                  |j                        ||	|       y )Nra   zFailed for size: 	, dtype: r$   rc   rd   r   rR   g-C6?绽|=rQ   err_msg)
r   r   astyperX   r   r   r   r   r   rW   )
rj   r%   msgr]   r)   d1r+   r^   d2rQ   s
             r!   $test_ldl_type_size_combinations_realry   ]   s     	Jqc5'2CQ
% A	ACCAQe	U71c?3	33A1vHAr11AHAr1G#4DAEE"IMM!##&cBAEE"IMM!##&cBr-   c                 X   t        d       d|  d| }d|  d| }t        | |       dt        | |       z  z   j                  |      }||j                         j                  z   }|t        | |       |t        dd            z  z  }t        |      \  }}}t        |d	
      \  }}	}|t        u rdnd}
t        |j                  |      j                  |j                         j                        ||
|       t        |j                  |	      j                  |j                         j                        ||
|       t        | |       dt        | |       z  z   j                  |      }||j                  z   }|t        | |       |t        dd            z  z  }t        |d	      \  }}}t        |d	d	      \  }}	}t        |j                  |      j                  |j                        ||
|       t        |j                  |	      j                  |j                        ||
|       y )Nra   zHer failed for size: rq   zSym failed for size: r   r$   rc   rd   r   rR   g-C6*?rr   rs   rT   rV   )r   r   ru   rY   rX   r   r   r   r   r   rW   )rj   r%   msg1msg2r]   r)   rw   r+   r^   rx   rQ   s              r!   'test_ldl_type_size_combinations_complexr}   n   s    	J#A3iw7D#A3iw7D 
aBtAqzM	!))%0A	!&&(**AQe	U71c?3	33A1vHAr11AHAr1I%45DAEE"IMM!&&(**-qtTJAEE"IMM!&&(**-qtTJ 
aBtAqzM	!))%0A	!##AQe	U71c?3	33A1"HAr11A+HAr1AEE"IMM!##&dCAEE"IMM!##&dCr-   )&numpy.testingr   r   r   numpyr   r   r   r	   r
   r   r   r   r   r   r   r   r   numpy.randomr   r   r   scipy.linalgr   scipy._lib._utilr   pytestr   r   r   r"   r,   r_   rm   markparametrizery   r}    r-   r!   <module>r      s    M M* * * * - ,  +  17(1V=* 7G"45r3i(C ) 6C 9j"9:r3i(D ) ;Dr-   