
    [hJ"                         S SK Jr  S SK Jr  \R                  R                  rSS jrSS jrSS jrSS jrS r	SS jr
S	 rS
 rS rS rS rS rS rS rS rSS jrg)    )mp)libmpc                    U(       a  [        S[        U 5      5        [        R                  " U 5      u  p#U[        R                  " U5      -  UR                  5       -  nX-
  nX3R                  5       -  [        R                  " U R                  5      -
  nU(       a  [        SU5        [        SU5        [        R                  " U5      n[        R                  " U5      nU(       a  [        SUSUS5        [        SUSUS5        [        R                  " S[        R                  " [        R                  5      -  5      n	Xy:  d   eX:  d   eU$ Noriginal matrix:
zeigenvalues:
zeigenvectors:
zdifference:
皙?)printstrr   eigsydiag	transposeeyerowsmnormexplogeps
AverboseDQBCENCNEr   s
             Y/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/tests/test_eigen_symmetric.py	run_eigsyr    	   s    "CF+88A;DA	BGGAJ&A	A	KKMBFF166N*A"#	!B	!BmRq$/mRq$/
&&#rvv&
'C8O88O8I    c                    U(       a  [        S[        U 5      5        [        R                  " U 5      u  p#U[        R                  " U5      -  UR                  5       -  nX-
  nX3R                  5       -  [        R                  " U R                  5      -
  nU(       a  [        SU5        [        SU5        [        R                  " U5      n[        R                  " U5      nU(       a  [        SUSUS5        [        SUSUS5        [        R                  " S[        R                  " [        R                  5      -  5      n	Xy:  d   eX:  d   eU$ r   )r
   r   r   eigher   transpose_conjr   r   r   r   r   r   r   s
             r   	run_eigher%   $   s    "CF+88A;DA	BGGAJ))++A	A	/A"#	!B	!BmRq$/mRq$/
&&#rvv&
'C8O88O8Ir!   c                    U R                   U R                  pC[        R                  " S[        R                  " [        R
                  5      -  5      nU(       a!  [        S[        U 5      5        [        SU5        [        R                  " XS9u  pgn[        R                  " UR                  UR                   5      n	[        [        X45      5       H  n
Xz   XU
4'   M     U(       a?  [        S[        U5      5        [        S[        U5      5        [        S[        U5      5        Xi-  U-  U -
  n[        R                  " U5      nU(       a  [        S[        U5      S	U5        X:  d   eXR                  5       -  [        R                  " UR                   5      -
  n[        R                  " U5      nU(       a  [        S
[        U5      S	U5        X:  d   eUR                  5       U-  [        R                  " UR                  5      -
  n[        R                  " U5      nU(       a  [        S[        U5      S	U5        X:  d   eg Nr	   r   full)full_matriceszU:
zS:
zV:
zC
r   zD:
zE:
)r   colsr   r   r   r   r
   r   svd_rzerosxrangeminr   r   r   r   r)   r   mnr   US0VSjr   errr   r   s                  r   	run_svd_rr8   ?   s   66166q
&&rvvbff~%
&C"CF+fm$xx9HA1
 ACIA#  fc!ffc"gfc!f		AA
((1+CeSVT3'99	KKMBFF166N*A
((1+Cfc!fdC(99	BFF166N*A
((1+Cfc!fdC(99r!   c                    U R                   U R                  pC[        R                  " S[        R                  " [        R
                  5      -  5      nU(       a!  [        S[        U 5      5        [        SU5        [        R                  " XS9u  pgn[        R                  " UR                  UR                   5      n	[        [        X45      5       H  n
Xz   XU
4'   M     U(       a?  [        S[        U5      5        [        S[        U5      5        [        S[        U5      5        Xi-  U-  U -
  n[        R                  " U5      nU(       a  [        S[        U5      S	U5        X:  d   eXR                  5       -  [        R                  " UR                   5      -
  n[        R                  " U5      nU(       a  [        S
[        U5      S	U5        X:  d   eUR                  5       U-  [        R                  " UR                  5      -
  n[        R                  " U5      nU(       a  [        S[        U5      S	U5        X:  d   eg r'   )r   r*   r   r   r   r   r
   r   svd_cr,   r-   r.   r   r$   r   r/   s                  r   	run_svd_cr;   f   s   66166q
&&rvvbff~%
&C"CF+fm$xx9HA1
 ACIA#  fc!ffc"gfc!f		AA
((1+CeSVT3'::	/A
((1+Cfc!fdC(99	Q/A
((1+Cfc!fdC(99r!   c                     Sn[         R                  " [        U5      U 5      u  pEU[         R                  " U5      -  nU[         R                  " U5      -  n[         R                  " U5      U:  d   e[         R                  " U5      U:  d   eg )Nh㈵>)r   gauss_quadraturelenmatrixr   )qtypeabr   des         r   	run_gaussrF      so    
Cs1vu-DA1A1A88A;88A;r!   c                     [         R                  " X 5      n[        U 5       H@  n[        U 5       H.  n[        S[         R                  " 5       -  S-
  U-  5      X#U4'   M0     MB     U$ )z$
random matrix with integer entries
      )r   r@   r-   intrand)r1   ranger   ir6   s        r   irandmatrixrN      sX     			!AAYARWWY*e34AcF   Hr!   c                     [         R                  " SS/SS//5      n [        U 5        [        U 5        [         R                  " SS/SS//5      n [        U 5        [        U 5        [         R                  " / SQ/ SQ/ S	Q/5      n [        U 5        [        U 5        [         R                  " / S
Q/ SQ/ SQ/5      n [        U 5        [        U 5        [         R                  " SS/SS//5      n [        U 5        [         R                  " / SQ/ SQ/ SQ/5      n [        U 5        [         R                  " / SQ/ SQ/ SQ/5      n [        U 5        g )NrH               )rH      rR   )rU   rP   rT   )rR   rT   rQ   )rH   r   rR   )r   rP   rI   )rR   rI   rQ   y      @      @y      @      )rH   y             &r   )y              &@rP   y              =@)r   y             =rQ   )rH   y      &@      1@y      @      3@)y      &@      1rP   y      *      7@)y      @      3y      *      7rQ   )r   r@   r    r%   )r   s    r   test_eighe_fixed_matrixrV      s    
		Aq6Aq6"#AaLaL
		As8c2Y'(AaLaL
		:{J78AaLaL
		9i34AaLaL 			At9tQi()AaL
		<>?AaL
		)+CE\]^AaLr!   c                      Sn [        S5       H]  nS[        R                  " X 5      -  S-
  n[        SU 5       H#  n[        US-   U 5       H  nX#U4   X$U4'   M     M%     [        U5        M_     g )NrQ   
   rH   rI   r   )r-   r   
randmatrixr    NrB   r   rM   r6   s        r   test_eigsy_randmatrixr\      sl    	ABZa##a'1AAE1%Q3A# &  	! r!   c                     Sn [        S5       H  nS[        R                  " X 5      -  S-
  SS[        R                  " X 5      -  S-
  -  -   n[        SU 5       HU  n[        R                  " X#U4   5      X#U4'   [        US-   U 5       H!  n[        R                  " X#U4   5      X$U4'   M#     MW     [        U5        M     g )NrQ   rX   rH   rI                 ?r   )r-   r   rY   reconjr%   rZ   s        r   test_eighe_randmatrixra      s    	ABZq$$q(B!bmmA6I2IA2M,NN1AUU1qS6]AcFAE1%Q3A# & 
 	! r!   c                      Sn Sn[        S5       HL  n[        X5      n[        SU 5       H#  n[        US-   U 5       H  nX4U4   X5U4'   M     M%     [        U5        MN     g )N   rX   r   rI   )r-   rN   r    r[   RrB   r   rM   r6   s         r   test_eigsy_irandmatrixrf      sc    	A	ABZ
a
1AAE1%Q3A# &  	! r!   c                  D   Sn Sn[        S5       H  n[        X5      S[        X5      -  -   n[        SU 5       HU  n[        R                  " X4U4   5      X4U4'   [        US-   U 5       H!  n[        R                  " X4U4   5      X5U4'   M#     MW     [        U5        M     g )Nrc   rX   r^   r   rI   )r-   rN   r   r_   r`   r%   rd   s         r   test_eighe_irandmatrixrh      s    	A	ABZ
a
b;q#44
41AUU1qS6]AcFAE1%Q3A# & 
 	! r!   c                     [        S5       H  n [        R                  " 5       S:  nS[        [        R                  " 5       S-  5      -   nS[        [        R                  " 5       S-  5      -   nS[        R                  " X#5      -  S-
  n[        R                  " 5       S:  a<  US-  n[        U5       H(  n[        U5       H  n[        XEU4   5      XEU4'   M     M*     [        XASS9  M     g )NrQ         ?rI   rX   rH   Fr)   r   )r-   r   rK   rJ   rY   r8   rM   r(   r0   r1   r   xys          r   test_svd_r_randro      s    AYwwy3BGGIN##BGGIN##a##a'779s?GAAYAq1v;AcF #  	!U; r!   c                     [        S5       GH:  n [        R                  " 5       S:  nS[        [        R                  " 5       S-  5      -   nS[        [        R                  " 5       S-  5      -   nS[        R                  " X#5      -  S-
  SS[        R                  " X#5      -  S-
  -  -   n[        R                  " 5       S:  aw  US-  n[        U5       Hc  n[        U5       HQ  n[        [        R
                  " XEU4   5      5      S[        [        R                  " XEU4   5      5      -  -   XEU4'   MS     Me     [        XASS9  GM=     g )	NrQ   rj   rI   rX   rH   r^   Frk   )r-   r   rK   rJ   rY   r_   imr;   rl   s          r   test_svd_c_randrr     s    AYwwy3BGGIN##BGGIN##q$$q(B!bmmA6I2IA2M,NN779s?GAAYAruuQsV}-Sq1v5G0GGAcF #  	!7 r!   c            	      4   [         R                  " S[         R                  " [         R                  5      -  5      n / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S	Q/n[         R                  " U5      n[         R                  " [         R
                  " S
5      S[         R
                  " S5      SS/5      n[         R                  " USS9nX2-  n[         R                  " U5      U :  d   e[         R                  " USS9nX2-  n[         R                  " U5      U :  d   eg )Nr	   )   rX   rH   rP   rR   )   rR   rX   r      )rT   rw   rS   rP   )rT   ry   rc   )	   rv   rI   ry   rc   )rz   rI   irQ   rw   )rH   i   rQ   rI   )rc   rQ   r   ry   rH   i     i  r   F)
compute_uv)	r   r   r   r   r@   sqrtr+   r   r:   )r   rB   rC   r5   s       r   test_svd_test_caser     s     &&rvvbff~%
&C									 A 			!A
		2774="bggclAq9:A
'AFA88A;
'AFA88A;r!   c                      SS/n SS/n[        SX5        / SQn / SQn[        SX5        / SQn / SQn[        S	X5        S
S/n SS/n[        SX5        / SQn / SQn[        SX5        / SQn / SQn[        SX5        g )NgEygEy?rI   legendre)g{[lg0#;r   g0#;?g{[l?)ΞS?$%ڡ?gr3yV4?r   r   )gHƱ?g?g
p?gü6?)>c@C?:Ά_?r   r   
legendre01g'eg'e?gE%[?hermite)g"U) g䬀)r   g䬀)?g"U) @)8Dn?R1?g??r   r   )g\m?gpPZ@g\(@)g F?g1m<?goF?laguerre)rF   )rB   rC   s     r   test_gauss_quadrature_staticr   *  s    	z"A
aAj! QAPAj! <A<AlA"	z"A
z"AiOAOAi/A/Aj! r!   c           
      .  ^ ^^^ Sm[         R                  " ST-  S5      mU4S jmSUUU 4S jjnU" SS S	S/5        U" S
S SS/5        U" SS [         R                  * [         R                  /5        U" SS S[         R                  /5        U" SS S[         R                  /S[         R                  " S5      -  S9  U" SS S	S/5        U" SS S	S/5        U" SS S	S/S[         R                  " S5      -  S[         R                  " S5      -  S9  g )NrQ   rH   rI   c                 `   > Sn[        [        T5      S-
  SS5       H  nX-  TU   -   nM     U$ )Nr   rI   rw   )r-   r?   )rm   rrM   r   s      r   F(test_gauss_quadrature_dynamic.<locals>.FH  s7    A
B+A!A ,r!   r   c                 4  >^ [         R                  " TXUS9u  pVSn[        [        U5      5       H  nXvU   T" XX   5      -  -  nM     [         R                  " UU4S jU5      n	[         R
                  " Xy-
  5      n
T(       a  [        X
Xy5        U
S:  d   eg )Nalphabetar   c                 &   > T" U 5      T" U 5      -  $ N )rm   r   FWs    r   <lambda><test_gauss_quadrature_dynamic.<locals>.run.<locals>.<lambda>U  s    beadlr!   r=   )r   r>   r-   r?   quadfabsr
   )rA   r   re   r   r   XWrB   rM   rC   cr   r1   r   s    `         r   run*test_gauss_quadrature_dynamic.<locals>.runN  s    ""1e4HAA1!$A   GG*A.GGAEN%A!4xxr!   r   c                     gNrI   r   rm   s    r   r   /test_gauss_quadrature_dynamic.<locals>.<lambda>^  s    ar!   rw   r   c                     gr   r   r   s    r   r   r   _  s    r!   r   c                 6    [         R                  " U * U -  5      $ r   r   r   r   s    r   r   r   `  s    RVVQBqD\r!   r   c                 0    [         R                  " U * 5      $ r   r   r   s    r   r   r   a  s    bffaRjr!   	glaguerrec                 ^    [         R                  " U 5      [         R                  " U * 5      -  $ r   )r   r~   r   r   s    r   r   r   b  s    rwwqz"&&!*4r!   )r   
chebyshev1c                 >    S[         R                  " SX -  -
  5      -  $ r   r   r~   r   s    r   r   r   c  s    "''!AC%. 0r!   
chebyshev2c                 8    [         R                  " SX -  -
  5      $ r   r   r   s    r   r   r   d  s    !#r!   jacobic                     SU -
  S[         R                  " S5      -  -  SU -   S[         R                  " S5      -  -  -  $ )NrI   rP   rQ   )r   mpfr   s    r   r   r   e  s3    QqSAbffQiK0AaC1RVVAY;3GGr!   rP   r   )r   r   )r   rY   infr   )r   r   r   r   r1   s   ` @@@r   test_gauss_quadrature_dynamicr   C  s    	A
a!eQA   
K"a)kAq6*	)RVVGRVV+<=
(1bff+64q"&&k1rvvVWy=Y02q':.Q8G"aZ[^`^d^def^gZgpqtvtztz{|t}p}r!   N)F)FT)rX   )mpmathr   r   backendr-   r    r%   r8   r;   rF   rN   rV   r\   ra   rf   rh   ro   rr   r   r   r   r   r!   r   <module>r      so     			66%N%N8
<86!2"@r!   