
    [hA                     r    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 rS r	g)
    )mp)libmpc           	         US:  a  [        SU 5        U R                  n[        R                  " U 5      u  p4US:  a  [        SU5        [        SU5        X4-  UR	                  5       -  n[        R
                  " S[        R                  " [        R                  5      -  5      nSn[        U5       H.  n[        U5       H  n	U[        X	U4   XYU4   -
  5      -  nM     M0     XrU-  -  nSn
[        U5       H+  n[        US-   U5       H  n	U
[        XIU4   5      -  n
M     M-     US:  a  [        SXz5        US:  a  [        S	U5        Xv:  d   eU
S:X  d   eg )
N   zoriginal matrix (hessenberg):
Q:
zH:
皙?r      zdifference (H):B:
)
printrowsr   
hessenbergtranspose_conjexplogepsxrangeabs)AverbosenQHBr   err0xyerr1s              O/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/tests/test_eigen.pyrun_hessenbergr   	   s>   {/3	A==DA{fQfQ	  ""A
&&rvvbff~%
&CDAYACA#Q3((D   	EMDDAYAq!ACA#KD "  {,{fa::199    c           	         US:  a  [        SU 5        U R                  n[        R                  " U 5      u  p4US:  a  [        SU5        [        SU5        X4-  UR	                  5       -  nX3R	                  5       -  n[        R
                  " S[        R                  " [        R                  5      -  5      nSn[        U5       H.  n	[        U5       H  n
U[        X
U	4   XZU	4   -
  5      -  nM     M0     XU-  -  nSn[        U5       H:  n	[        U5       H(  n
X:X  a  XjU	4==   S-  ss'   U[        XjU	4   5      -  nM*     M<     XU-  -  nSn[        U5       H+  n	[        U	S-   U5       H  n
U[        XJU	4   5      -  nM     M-     US:  a  [        SXU5        US:  a  [        SU5        X:  d   eX:  d   eUS:X  d   eg )	Nr   zoriginal matrix (schur):
r   zR:
r   r   zdifference (S):r
   )
r   r   r   schurr   r   r   r   r   r   )r   r   r   r   Rr   Cr   r   r   r   r   err2s                r   	run_schurr&   .   s   {*A.	A88A;DA{fafa	  ""A	A
&&rvvbff~%
&CDAYACA#Q3((D   	EMDDAYAvA#!CA#KD  
 	EMDDAYAq!ACA#KD "  {T2{fa::::199r    c                    US:  a  [        SU 5        U R                  n[        R                  " U SSS9u  p4nUS:  a$  [        SU5        [        SU5        [        SU5        [        R                  " S[        R
                  " [        R                  5      -  5      nS	n[        U5       Hv  nXS S 2U4   -  X8   US S 2U4   -  -
  n	[        U[        R                  " U	5      5      nXHS S 24   U -  XHS S 24   X8   -  -
  n	[        U[        R                  " U	5      5      nMx     XrU-  -  nUS	:  a  [        S
U5        Xv:  d   eg )Nr   zoriginal matrix (eig):
T)leftrightzE:
zEL:
zER:
r   r   zdifference (E):)
r   r   r   eigr   r   r   r   maxmnorm)
r   r   r   EELERr   r   ir   s
             r   run_eigr1   \   s   {(!,	Aqt4IA2{fagrgr
&&rvvbff~%
&CDAY1Q3K!$AaC.(4!%sGaK"qS'AD.(4!%  	EMD{&::r    c                  \   Sn [        S5       GH  nS[        [        R                  " 5       S-  5      -   n[        R                  " 5       S:  ar  S[        R                  " X"5      -  S-
  n[        R                  " 5       S:  a<  US-  n[        U5       H(  n[        U5       H  n[        X4U4   5      X4U4'   M     M*     OS[        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
                  " X4U4   5      5      S[        [        R                  " X4U4   5      5      -  -   X4U4'   MS     Me     [        X0S9  [        X0S9  [        X0S9  GM     g )	Nr      r   g      ?r	   
   y              ?r   )
r   intr   rand
randmatrixreimr   r&   r1   )vr0   r   r   r   r   s         r   test_eig_dynr<   |   sZ   	AAYBGGIM""779s?BMM!''!+Awwy3RA#AY!$QsVA# ' # R]]1((1,a"--:M6MPQ6Q0RRAwwy3RA#AY!$RUU1qS6]!3b3ruuQsV};M6M!MA# ' # 	q&!!) r    c                     Sn / n[         R                  " / SQ/ SQ/ SQ/5      nUR                  U5        UR                  UR                  5       5        [         R                  " / SQ/ SQ/ SQ/5      nUR                  U5        UR                  UR                  5       5        [         R                  " / SQ/ SQ/ SQ/5      nUR                  U5        UR                  UR                  5       5        [         R                  " / SQ/ S	Q/ S
Q/5      nUR                  U5        UR                  UR                  5       5        U H  n[	        X S9  [        X S9  [        X S9  M      g )Nr   )r	   r   r   )r   r	   r   )r   r   r	   )r	   r   r   )r	   r   r   )r   r	   r   )r   r   r   )r   r   r   )r   r   r   r5   )r   matrixappend	transposer   r&   r1   )r;   ASr   s      r   test_eigrB      s   	A	B
		9 	A IIaLIIakkm
		9 	A IIaLIIakkm
		9 	A IIaLIIakkm
		9 	A IIaLIIakkmq&!! r    N)r   )
mpmathr   r   backendr   r   r&   r1   r<   rB    r    r   <module>rF      s8     			"J,\@ 0 r    