
    gA                     Z    d dl mZ d dl mZ ej        j        Zd	dZd	dZd	dZd Zd Z	dS )
    )mp)libmpc           	         |dk    rt          d|            | j        }t          j        |           \  }}|dk    r t          d|           t          d|           ||z  |                                z  }t          j        dt          j        t          j                  z            }d}t          |          D ]9}t          |          D ]'}	|t          | |	|f         ||	|f         z
            z  }(:|||z  z  }d}
t          |          D ]2}t          |dz   |          D ]}	|
t          ||	|f                   z  }
3|dk    rt          d||
           |dk    rt          d	|           ||k     sJ |
dk    sJ d S )
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              S/var/www/html/ai-engine/env/lib/python3.11/site-packages/mpmath/tests/test_eigen.pyrun_hessenbergr   	   s   {{/333	A=DAq{{fQfQ	A  """A
&rvbf~~%
&
&CDAYY ) ) 	) 	)AC!A#1Q3(((DD	)AEMDDAYY    Aq!! 	  	 AC!A#KKDD	  {{t,,,{{fa#::::1999999    c           	         |dk    rt          d|            | j        }t          j        |           \  }}|dk    r t          d|           t          d|           ||z  |                                z  }||                                z  }t          j        dt          j        t          j                  z            }d}t          |          D ]9}	t          |          D ]'}
|t          | |
|	f         ||
|	f         z
            z  }(:|||z  z  }d}t          |          D ]F}	t          |          D ]4}
|	|
k    r||
|	fxx         dz  cc<   |t          ||
|	f                   z  }5G|||z  z  }d}t          |          D ]2}	t          |	dz   |          D ]}
|t          ||
|	f                   z  }3|dk    rt          d|||           |dk    rt          d|           ||k     sJ ||k     sJ |dk    sJ d S )	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&   .   sM   {{*A...	A8A;;DAq{{fafa	A  """A	AA
&rvbf~~%
&
&CDAYY ) ) 	) 	)AC!A#1Q3(((DD	)AEMDDAYY     	  	 AAvv!A#!C!A#KKDD	  	AEMDDAYY    Aq!! 	  	 AC!A#KKDD	  {{tT222{{fa#::::#::::1999999r    c                    |dk    rt          d|            | j        }t          j        | dd          \  }}}|dk    r0t          d|           t          d|           t          d|           t          j        dt          j        t          j                  z            }d	}t          |          D ]}| |d d |f         z  ||         |d d |f         z  z
  }	t          |t          j	        |	                    }||d d f         | z  ||d d f         ||         z  z
  }	t          |t          j	        |	                    }|||z  z  }|d	k    rt          d
|           ||k     sJ d S )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   \   st   {{(!,,,	Aqt444IAr2{{fagrgr
&rvbf~~%
&
&CDAYY & &111Q3K!A$AAAaC.(4!%%qsGaK"QqqqS'AaD.(4!%%AEMD{{&&&#::::::r    c                     d} t          d          D ]}dt          t          j                    dz            z   }t          j                    dk    rxdt          j        ||          z  dz
  }t          j                    dk    rE|dz  }t          |          D ]0}t          |          D ]}t          |||f                   |||f<   1ndt          j        ||          z  dz
  ddt          j        ||          z  dz
  z  z   }t          j                    dk    r|dz  }t          |          D ]o}t          |          D ]]}t          t          j        |||f                             dt          t          j        |||f                             z  z   |||f<   ^pt          ||            t          ||            t          ||            d S )	Nr      r   g      ?r	   
   y              ?r   )
r   intr   rand
randmatrixreimr   r&   r1   )vr0   r   r   r   r   s         r   test_eig_dynr<   |   s   	AAYY    BGIIM"""799s??BM!Q'''!+Awyy3R - -A#AYY - -!$QqsV!A#- R]1a(((1,a"-1:M:M6MPQ6Q0RRAwyy3R N NA#AYY N N!$RU1QqS6]]!3!3b3ruQqsV}};M;M6M!M!A#N 	qA&&&&!q!!!!Q)   r    c                  F   d} g }t          j        g dg dg dg          }|                    |           |                    |                                           t          j        g dg dg dg          }|                    |           |                    |                                           t          j        g dg dg dg          }|                    |           |                    |                                           t          j        g dg d	g d
g          }|                    |           |                    |                                           |D ]5}t	          ||            t          ||            t          ||            6d S )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
	9999999 	 	A IIaLLLIIakkmm
	9999999 	 	A IIaLLLIIakkmm
	9999999 	 	A IIaLLLIIakkmm
	9999999 	 	A IIaLLLIIakkmm    qA&&&&!q!!!!Q   r    N)r   )
mpmathr   r   backendr   r   r&   r1   r<   rB    r    r   <module>rF      s               		" " " "J, , , ,\   @     0         r    