
    g(                        d dl mZ d dlZd dlT ej        j        Zej        Zej	        Z	ej
        Z
ej        Zej        Z eg dg dg dg          Zg dZ eg dg d	g d
g dg          Zg dZ eg dg dg dg dg dg          Zg dZ eg dg dg dg dg dg          Zg dZ eg dg dg dg          Z eg dg dg dg          Zg dZ ed d!gd"d gd#d$gg          Zg d%Z eg d&g d'g d(g d)g          Zg d*Z eg d+g d,g d-g          Zg d.Z eg d/g d0g d1g          Zg d2Z d3 Z!d4 Z"d5 Z#d6 Z$d7 Z%d8 Z&d9 Z'd: Z(d; Z)d< Z* e+d=          d>             Z,d? Z-d@ Z.dA Z/dB Z0dC Z1dS )D    )divisionN)*)         )   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   )r   r   r   r   r   )r
   r   r   r   )r   r   r   	   i)r      r   r      )r   r   r   r   2   )gQx$@g=
ףp=g        gQ롿gGz@)gNbX9gRQ?g(\@g(\B!gHzG?)gRQgQ?g rпgp=
ף"@gE)g)\#@g(\@g     @1g;On?g\(8@)gQ"g33333sA@gp=
ףS@gQ?g33333sP@)gfffff!@g
ףp=4@gGz@ffffff@gףp=
7M@)r   r   r   )r   r   r   )r   r   i)g	?gZB>@gr3܀o@)gsFZ*o@g#GGge,i9@)g}.AgR#@g(~Ƅ.)g     7@gQ/gQ@r   g      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   r   )r   r   g      @)
      g      /)      ?      ?       @r   )g      @g      @g      @)g      @g       @g      "@)      ?r   r   c                  B   t                                           } t          }t          |           \  } }t	          | ||          }t          | |          }|g dk    sJ d |D             g dk    sJ t                                          } t          }t          |           \  } }t	          | ||          }t          | |          }|g dk    sJ d |D             g dk    sJ t          d          } |                                 }t          | d	           | |k    sJ d S )
N)r   r   r   r   c                 .    g | ]}t          |d           S    round.0is     T/var/www/html/ai-engine/env/lib/python3.11/site-packages/mpmath/tests/test_linalg.py
<listcomp>z"test_LU_decomp.<locals>.<listcomp>O        $$$QE!RLL$$$    )g-P@grhA@g(mUg^ \^v@g+6CV@)r   r   r
   r   c                 .    g | ]}t          |d           S r   r   r    s     r#   r$   z"test_LU_decomp.<locals>.<listcomp>W   r%   r&   )gw]@g_DP@gIϘ}X?gRxgE9r   r   )	overwrite)	A3copyb3	LU_decompL_solveU_solveA4b4
randmatrix)Abpyxbaks         r#   test_LU_decompr8   H   s\   
		A
AQ<<DAq1aA1A$$!$$$ )K )K )K K K K K
		A
AQ<<DAq1aA1A$$!$$$ )K )K )K K K K K1A
&&((Ca1888888r&   c                      t           t          t          fD ]?} t          |           }t	          | |z  t          | j                  z
  d          dk     sJ @d S )Nr   g+=)A1A2A5inversemnormeyerows)r2   invs     r#   test_inverserB   ^   s[    "b\ 6 6ajjQsUS[[(!,,v555556 6r&   c                  |   dt           _        t          t          }} t	          t          | |                    \  }}}}|t          t          d          t          d          t          d          dgdt          d          t          d          t          d	          gdt          d
          t          d          t          d          gdt          d          t          d          t          d          gg          k    sJ |ddt          d          gk    sJ t          t          |d          d          dk    sJ g d}d }g }g }	t          dd          D ]}
 ||
          } t	          t          | |                    \  }}}}t          |          }t          |          }|                    t          |d                     |	                    t          t          | ||          d                     d |D             g dk    sJ t          t          |          t          |	          z
  t                    dk     sJ d }g }g }t          dd          D ]}
 ||
          } t	          |                                           \  }}}}|                    t          |d                     |                    t          t          | d d d |
dz
  f         || d d |
dz
  f                   d                     t          t          |          t          |          z
  t                    dk     sJ d S )N   z3.0z-2.0z-1.0r   g      z3.333333333333333z-2.9999999999999991z2.0z-0.66666666666666674z2.8142135623730948z-2.8284271247461898r   z-1.3333333333333333z-0.20000000000000018z4.2426406871192857r   z-1.4142135623730949r   r   gv@)gJ+Y@gy&1,M@g%C;B@g(\O8@g1Z1@gn(@gMb"@g(\@gq=
ףp@gʡE@gy&1,@g/$@c           	          g }t          dd          D ]4|                    fdt          d| dz             D                        5t          |          S )Nr      c                 &    g | ]}d |z   dz
  z  S )r   r    )r!   jr"   s     r#   r$   z3test_householder.<locals>.coeff.<locals>.<listcomp>x   s&    @@@1bAEAI&@@@r&   )rangeappendmatrix)nr2   r"   s     @r#   coeffztest_householder.<locals>.coefft   sc    q" 	B 	BAHH@@@@aQ@@@AAAAayyr&   r	   c                 .    g | ]}t          |d           S )r   r   )r!   ress     r#   r$   z$test_householder.<locals>.<listcomp>   s     000sE#rNN000r&   )gRmX.@g8hi\?g5Żڌ^?g?g A8C?vIh%<=c                     t          d| z  |           }t          d| z  ddd          }|                    d           }t          |d d df                   |z  t          |d | df                   z  }|S )Nr   r   r   minmaxc                 D    t          dt                      z  | z            S )Ny              ?)exppir6   s    r#   <lambda>z9test_householder.<locals>.hilbert_cmplx.<locals>.<lambda>   s    c"RTT'!)nn r&   r   )hilbertr1   applydiag)rM   r2   vs      r#   hilbert_cmplxz'test_householder.<locals>.hilbert_cmplx   sy    AaCNNqsA21---GG,,--111Q3LLN4"1"Q$==(r&   r   )mpdpsA8b8householderextendrL   mpfr   normrJ   rK   residualinfr*   )r2   r3   Hr4   r6   rr5   rN   	residualsrefresrM   r_   residuals_cmplxrefres_cmplxs                 r#   test_householderrp   c   se   BFrqAVAq\\**JAq!Q	%jj#f++s6{{A.
3"##C(=$>$>s5zzJ
C&'',@(A(A	
  "	3$%%c*@&A&A	
!	"# # # # # # R23344444aR  $66666	 	 	A   IF1a[[ 2 2E!HH 1..
1a1II1IIa$$$d8Aq!,,a00111100i000 5# 5# 5# # # # # y!!F6NN2C886AAAA   OL1b\\ G GM! **
1atAqzz***D!AAAdqsdF)Q!!!AaC%!A!A1EEFFFF''&*>*>>DDvMMMMMMr&   c                      t          d          } t          |           \  }}}t          || z  ||z  z
  d          dk     sJ d S )Nr   r   gV瞯<)r1   lur>   )r2   PLUs       r#   test_factorizationrv      sK    1AeeGAq!1qsA''''''r&   c            	         t          t          t          t          t          t                    t                    t
                    dk     sJ t          t          t          t          t          t                    t                    t
                    dk     sJ t          t          t          t          t          t                    t                    t
                    dk    sJ t          t          t          t          t          t                    d         t                    t
                    dk     sJ t          t          t          t          t          t                    d         t                    t
                    dk     sJ t          t          t          t          t          t                    d         t                    d          dk    sJ t          t          t          t          t          t                    t                    d          dk     sJ t          t          t          t          t          t                    d         t                    d          dk     sJ d S )Ng|=      ?go   @r   r   g333333@)rg   rh   A6lu_solveb6ri   A7b7rb   rc   qr_solveA10b10rH   r&   r#   
test_solver      s   Xb"--r22C886AAAAXb"--r22C883>>>>Xb"--r22C88JFFFFXb"--a0"55s;;fDDDDXb"--a0"55s;;cAAAAXb"--a0"55q99S@@@@hsC00#66::VCCCChsC003S991==FFFFFFr&   c            	          t          ddgddgddgg          } t          dt          z   dt           g          }t          t          | t	          | |          |                    dk     sJ d S )	Nr   y               @r   y              @r   r   r   g|a2U?)rL   rI   rg   rh   rz   )r2   r3   s     r#   test_solve_overdet_complexr      sn    B!R1a&)**AAq1"~AHQNNA..//&888888r&   c                     dt           _        ddgddgg} t          t          d                    }ddg}d| d	|d
d|d	|d
d| d	|d
d|d	|d
fD ]&t	          j        t          t          ffd           'd S )NrD   r   g333333?g?g?r   r   z	lu_solve(z, )z	qr_solve(c                  "    t                     S N)eval)r"   s   r#   rZ   ztest_singular.<locals>.<lambda>   s    tAww r&   )r`   ra   reprzerospytestraisesZeroDivisionError
ValueError)r2   Br3   r"   s      @r#   test_singularr      s    BF
seR[!AU1XXA	
AAA$%AAqqq))AAA+F+F$%AAqqq))AAA+FH H H(*5GGGGH Hr&   c                     t                               t                               t                              t                               g dg dg dg          k    sJ t                               t          t
                    } t                               t                               t          | t
                    t           j                  dk    sJ d S )N)r   r   r   )r   r   r   )r   g      rx   r   )	fpcholeskyrL   A9cholesky_solveb9rg   rh   ri   rY   s    r#   test_choleskyr      s    ;;ryy}}%%IIIyyy///3Z)[)[[[[[
"b!!A772;;r1b))2622a777777r&   c                     t          t                    dk    sJ t          t          t                    d          dk    sJ t          t          t                              dk    sJ t          t          t
                              dk    sJ t          t                    dk    sJ t          t          t                              dk    sJ t          t          d                    dk    sJ d S )	Nr   r      i*  iC ir   r   )	detr:   r   r;   r)   r/   r<   ry   r   rH   r&   r#   test_detr      s    r77a<<<<R"""""R>>T!!!!R>>W$$$$r77a<<<<R>>X%%%%uQxx==Ar&   c                      dt           _        t          ddgddgg          } t          | d           t	          d          k    sJ t          | d           t	          d          k    sJ t          | d	           t	          d
          k    sJ d S )NrD   g6?gꕲq?ga2U0*?gBiq?c                 "    t          | d          S )Nr   r>   rY   s    r#   rZ   ztest_cond.<locals>.<lambda>   s    U1QZZ r&   z327065209.73817754c                 ,    t          | t                    S r   )r>   ri   rY   s    r#   rZ   ztest_cond.<locals>.<lambda>   s    U1S\\ r&   c                 "    t          | d          S )NFr   rY   s    r#   rZ   ztest_cond.<locals>.<lambda>   s    U1S\\ r&   z249729266.80008656)r`   ra   rL   condrf   r2   s    r#   	test_condr      s    BF 66"2344A''((C0D,E,EEEEE))**c2F.G.GGGGG))**c2F.G.GGGGGGGr&   r   c                      t          dd          } t          t          t          |                     | z
  d          dk     sJ d S )Nr   r   gj7֖6)r1   r>   r=   r   s    r#   test_precisionr      sE    2rA$$q(!,,v555555r&   c                     dt           _        dt          _        t                              g dg dg dg          } t                              g d          }t                              | |          }|d         j        dk     sJ |d         j        dk     sJ |d	         j        dk     sJ d
|d         v sJ d|d         v sJ d|d	         v sJ d S )NrD   )z0.1z0.3z1.0)z7.1z5.5z4.8)z3.2z4.4z5.6)4z0.6z0.5r   rQ   r   r   giE'n@gFxlbO*g'ɮ@)r`   ra   ivrL   rz   delta)ar3   cs      r#   test_interval_matrixr      s    BFBF
		&&&':':':;N;N;NOPPA
		###$$A
AqAQ4:Q4:Q4:$!,,,,$!,,,,$!,,,,,,r&   c                      t          d          } t          |           }| j        t          |           k    sJ d| d<   | j        J d S )Nr   )r   r   )r1   r,   _LU)r2   LUs     r#   test_LU_cacher      sI    1A	1B5IaLL    AcF5=====r&   c                  >   t          ddd          } t          dddd          }t          | |          t          dddd	          z   }t          | ||          }t          t	          | ||          d
          t          t	          | ||          d
          k     sJ d S )Nr   g#B;g@xDrS   r   r   i  gh㈵gh㈵>r   )r1   rz   improve_solutionrg   rh   )r2   r3   x1x2s       r#   test_improve_solutionr      s    1%T***A1aU---A	!Q*Qu%@@@	@B	!R	#	#BB""A&&hq"a.@.@!)D)DDDDDDDr&   c                  v   t          d          D ]} d}d}||z   t          _        d}d}t          d|dz             }t          |          }t          d |D                       }t	          |          dk     r1t          |          }t          |          }t	          |          dk     1||z  }|dz  |z  |z  }	|dz  |z  |z  }
|t          _        t          |	d	          }||z   t          _        |
|z
  }|t          _        t          |t                    
                    d          sJ dt          _        d S )
Nr   rD   r   r   c                 ,    g | ]}t          |          S rH   )rW   )r!   r6   s     r#   r$   z!test_exp_pade.<locals>.<listcomp>   s    (((SVV(((r&   g{Gz?r   pade)method)rJ   r`   ra   r]   absr1   r   expmrg   ri   ae)r"   ra   extradmNdgr   expama1e2e1ds                r#   test_exp_pader      s6   1XX " "u1QqS\\HH((R((()) "ggnn1AQB "ggnn bDUQY]UT\A"V$$$uGAs||q!!!!!!BFFFr&   c            	         dt           _        d} d}d}d}t          d          }t          dd          D ]}d}d	}t	          |d
z            }t          |t                      z            }t          |t                      z            }	t          t          ||	                    }
t          t          ||	                    }t           
                    |
|          }|rd}d}t          d|          D ]r}t          d|
          D ]_}t          | || z
  t                      z  z             }t          | || z
  t                      z  z             }t          ||          |||f<   `snbd}d}t          d|          D ]M}t          d|
          D ]:}t          | || z
  t                      z  z             }t          |          |||f<   ;Nt          |||          \  }}t          d          }t          |||z  z
            }||k    sJ |dk    r^t          t          |
          |j        |z  z
            }||k    sJ t          t          |
          ||j        z  z
            }||k    sJ |dk    rt          t          |
          |j        |                                z  z
            }||k    sJ t          t          |
          |                                |j        z  z
            }||k    sJ d S )NrD   ir   r
   Fz0.0r   r   fullr   complexTreal)edpsz1.0E-11)r`   ra   rf   xrangeboolnintrandintrU   rT   rL   mpcqrrg   r?   T	conjugate)lowlimituplimitmaxmflgzerokexdpsmodenum1num2r   rM   r2   dtyperI   r"   valval2QRmaxnormn1s                         r#   test_qrr     s   BFHGD
Cu::DAb\\ <! <!1q5kk DK  DK  D$  D$   IIaNN  	&CEAa[[ , ,! , ,Ax78+;TVV*CCDDCGH,<dff+D DEED d^^AacFF,, CEAa[[ & &! & &Ax78+;TVV*CCDDC XXAacFF&
 !T%(((1 i..!a!e)__W}}}}F??c!ffqsQw&''B====c!ffq13w&''B====Ic!ffqsQ[[]]2233B====c!ffq{{}}qs2233B====y<! <!r&   )2
__future__r   r   mpmathlibmpbackendr   r`   r,   r-   r.   rd   r   rL   r:   b1r;   b2r)   r+   r/   r0   r<   ry   r{   r|   r}   rb   rc   r   r   r   r   r8   rB   rp   rv   r   r   r   r   r   r   extradpsr   r   r   r   r   r   rH   r&   r#   <module>r      s              		 L	
*
*n& VYYYYYYY   YYV     __V!!!!!!!!!!!!!!!	# $ $
 V333333333333333	5 6 6
 &%%V\\\\\\\   V//////999; < < '&&VaYV!W   ZZVYYYZZ\\ZZ   \\V\\\\\]]   __f$$$OOOO     ,6 6 6
5N 5N 5Nn( ( (
G G G9 9 9
H H H8 8 8
  H H H 
"6 6 6- - -  E E E  8D! D! D! D! D!r&   