
    ^Mhk                        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 ej        j        d             Z d	 Z!d
 Z"d Z#ej        $                    deeg          ej        $                    dddg          d                         Z%ej        $                    deeg          ej        $                    dddg          d                         Z&dS )    )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            d S # 1 swxY w Y   d S )N                    ?)r   assert_raises
ValueErrorr   r   r   )As    b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/linalg/tests/test_decomp_ldl.py	test_argsr"      s    AA*c1QQQU8,,,	~		  AbD			                 s   A++A/2A/c                  .   t          dt                    } t          t          d                    \  }}}t          |t	          |                      t          |t	          |                      t          |t          g t                               d S )N)r   r   dtype)r
   complexr   r   r	   r   int)aldps       r!   test_empty_arrayr,      s|    fG$$$A%--  GAq!aA///aA///ar!5!5!566666    c                  z   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                  |t          d          d           t          |d          \  }}}t          |                    |                              |j                  |t          d          d           t          | d          \  }}}t          |                    |                              |j                  | t          d          d           t          | dd          \  }}}t          |                    |                              |j                  | t          d          d           t          |                                j        d          \  }}}t          t          |                    |                              |                                j                  |z
            t          d          t          d          d           d S )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AA@@@CCCAAAC 	D 	DA 	~~ 	  	 A 	&&&%%%$$$%%%###	% 	& 	&A 	   ######"""###	% 	& 	&A
 	...111888AAAC 	D 	DA AY K Ka&&1aaQS))175>>JJJJau%%%1aaQS))175>>JJJJJ!u%%%GAq!AEE!HHLL%%qwu~~AFFFF!5E222GAq!AEE!HHLL%%qwu~~AFFFF !&&((*A&&&GAq!Dqaffhhj11!344eFmm a1 1 1 1 1 1r-   c            	         t          d           t          d          D ]E} t          dd          }t          d          rt          ||          n#t          ||          t          ||          dz  z   }||                                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           Gd S )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   I   s_   JJJ2YY = =AsOO!!**DDAJJJ$q!**tAqzz"}*D
N	SVVGAsOO##!!r***!!q))) aq///1aC!QQQ$'''););););<<<aq///1aC!QQQ$'''););););<<<<!= =r-   r%   rj         c                 L   t          d           d|  d| }t          | |                               |          }||j        z   }|t	          | |           |t          dd                    z  z  }t          |          \  }}}t          |d          \  }}}|t          u rd	nd
}	t          |	                    |          	                    |j                  ||	|           t          |	                    |          	                    |j                  ||	|           d S )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    	JJJ2q22522CQ

%  A	ACAQe			UU71c??33	33A1vvHAr11AHAr1G##44DAEE"IIMM!#&&cBBBBAEE"IIMM!#&&cBBBBBBr-   c                    t          d           d|  d| }d|  d| }t          | |           dt          | |           z  z                       |          }||                                j        z   }|t          | |           |t          dd                    z  z  }t          |          \  }}}t          |d	
          \  }}	}|t          u rdnd}
t          |
                    |          
                    |                                j                  ||
|           t          |
                    |	          
                    |                                j                  ||
|           t          | |           dt          | |           z  z                       |          }||j        z   }|t          | |           |t          dd                    z  z  }t          |d	          \  }}}t          |d	d	          \  }}	}t          |
                    |          
                    |j                  ||
|           t          |
                    |	          
                    |j                  ||
|           d S )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}   o   sL    	JJJ7A7777D7A7777D 
aBtAqzzM	!))%00A	!&&((*AQe			UU71c??33	33A1vvHAr11AHAr1I%%445DAEE"IIMM!&&((*--qtTJJJJAEE"IIMM!&&((*--qtTJJJJ 
aBtAqzzM	!))%00A	!#AQe			UU71c??33	33A1"""HAr11A+++HAr1AEE"IIMM!#&&dCCCCAEE"IIMM!#&&dCCCCC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   markthread_unsafer"   r,   r_   rm   parametrizery   r}    r-   r!   <module>r      s'   M M M M M M M M M M* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - , , , , , , , , ,       + + + + + +  1 1 1 1 1 1 1 1   7 7 7(1 (1 (1V= = =* 7G"455r3i((C C )( 65C 9j"9::r3i((D D )( ;:D D Dr-   