
    g                         d Z ddlmZmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZmZmZmZmZmZmZmZ d Zd	 Zd
 Zd Zd ZdS )z9Tests for high-level polynomials manipulation functions.     )
symmetrizehornerinterpolaterational_interpolateviete)MultivariatePolynomialError)S)symbols)raises)abcdexyzc                  f
   t          dt          t          t                    dk    sJ t          dt          t          t                    dk    sJ t          t          z   t          z   } t          t          z  t          t          z  z   t          t          z  z   }t          d          dk    sJ t          dd          ddg fk    sJ t          t                    t          dfk    sJ t          t          dz             t          dz   dfk    sJ t          t          t          t                    t          t          z   t           fk    sJ t          t          dz   t          t                    t          t          z   dz   t           fk    sJ t          t          t          t          t                    | t           t          z
  fk    sJ t          t          dz   t          t          t                    | dz   t           t          z
  fk    sJ t          t          dz  t          t          t                    | dz  d|z  z
  t          dz   t          dz  z
  fk    sJ t          t          dz  t          dz  z             dt          z  t          z  t          t          z   dz  z   dfk    sJ t          t          dz  t          dz  z
            dt          z  t          z  t          t          z   dz  z   dt          dz  z  fk    sJ t          t          d	z  t          dz  z   t          t          dz  z  z   t
          t          d	z  z  z   t          t                    d
t          z  t          z  t          t          z   z  dt          z  t          z  t          z  z
  t          t          t          z   dz  z  z   t          t          z   d	z  z   t          dz  dt          z
  z  t          d	z  t
          dz
  z  z   fk    sJ t          d          x}\  }}}t          t          dz   t          t          t          d|          |dz   t           t          z
  |t          t          z   t          z   f|t          t          z  t          t          z  z   t          t          z  z   f|t          t          z  t          z  fgfk    sJ t          g d          g dk    sJ t          g dd          g dg fk    sJ t          t          t          z   t          t          z
  g          t          t          z   dft          t          z   dt          z  fgk    sJ d S )Nr   )r   r      r   r   T)formal      zu:3)r   r
   r   r   r   )r   )r   r   )r   r   )r   r   r   r   r   r   r
   )s1s2Uu0u1u2s         \/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/polys/tests/test_polyfuncs.pytest_symmetrizer$      s:   aAq!!V++++aAq!!V++++	
QB	
1qsQqSBa==F""""a%%%!Q3333a==QF""""a!eQ
****aA1q51"+----a!eQ""q1uqy1"o5555aAq!!b1"q&\1111a!eQ1%%"q&1"q&)99999adAq!$$Q21uq!t|(DDDDDadQTk""r!tAvQ
':A&>>>>>adQTk""r!tAvQ
':Bq!tG&DDDDDadQTkAadF*Qq!tV3Q::	AaQ!A#a%'	!Aq1uqjL	0AEA:	=	
Aq1u1a!e	$	&& & & & u~~%ARa!eQ1T1===	a!a2q1uqy/B!ac	AaC+@2qs1u+NOP P P P iii  $<$<$<<<<<iii---2J2J2JB1OOOOOq1ua!en%%1q5!*q1ubdm)DDDDDDD    c                     t          d          dk    sJ t          d          dk    sJ t          t                    t          k    sJ t          t          dz             t          dz   k    sJ t          t          dz  dz             t          dz  dz   k    sJ t          t          dz  t          z             t          dz   t          z  k    sJ t          t          dz  t          z   dz             t          dz   t          z  dz   k    sJ t          dt          dz  z  dt          dz  z  z   dt          dz  z  z   d	t          z  z   d
z             dt          z  dz   t          z  dz   t          z  d	z   t          z  d
z   k    sJ t          t          t          dz  z  t          t          dz  z  z   t          t          dz  z  z   t
          t          z  z   t          z             t          t          z  t          z   t          z  t          z   t          z  t
          z   t          z  t          z   k    sJ t          dt          dz  z  t          dz  z  dt          dz  z  t          z  z   dt          z  t          dz  z  z   t          t          z  z   t                    dt          z  dz   t          z  t          z  dt          z  dz   t          z  z   t          z  k    sJ t          dt          dz  z  t          dz  z  dt          dz  z  t          z  z   dt          z  t          dz  z  z   t          t          z  z   t                    dt          z  dz   t          z  t          z  dt          z  dz   t          z  z   t          z  k    sJ d S )Nr   r   r   	         r            )wrt)r   r   r   r   r   r   r   r    r%   r#   test_hornerr/   9   s   !99>>>>!99>>>>!99>>>>!a%==AE!!!!!Q$(q!tax''''!Q$(Aqy((((!Q$(Q,AE19q=0000	!Q$1a4!AqD& 1Q3&*, ,23A#'1q!0Ca0G/JQ/NO O O O	!Q$1a4!AqD& 1Q3&*, ,23A#'1q!0Ca0G/JQ/NO O O O !AqD&A+!Q$q(1Q3q!t83ac9qAAA	!aGG!a{G#$%F& & & & &!AqD&A+!Q$q(1Q3q!t83ac9qAAA	!aGG!a{G#$%F& & & & & & &r%   c                     t          g dt                    t          dz  k    sJ t          g dt                    t          d          t          dz  z  dz  t          d          t          dz  z  z
  t          d          t          z  dz  z   dz
  k    sJ t          g dt                    t          dz  k    sJ t          g d	t                    d
t          dz  z   k    sJ t          ddddt                    d
t          dz  z   k    sJ t          dddddt                    t          d           t          dz  z  dz  t          d          t          dz  z  z   t          d          t          z  dz  z
  dz   k    sJ t          g dt                    t          d          t          dz  z  dz  t          d          t          dz  z  dz  z   t          d          t          dz  z  dz  z   t          d          t          z  dz  z
  dz   k    sJ t          dd          dk    sJ t          dd
          t          j        u sJ t          t          d
fd ft                    t          j        u sJ t          t          d
ddit                    t          j        u sJ t          dt          fd!ft                    t          dz  dt          z  z
  dz   k    sJ d S )"N)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      )r,   r*   r)   r'         i     )r   r   )r   r+   r4   )r,   r*   )r   r(   ir(   i           iO  i  r+   )r'   r(   r'   )r   r'   r1   )r   r   r:   )r   r   r	   Oner.   r%   r#   test_interpolater?   N   s   }}}a((AqD0000}}}a((AaDDAIaK!A$$q!t),CaeeAgai,ORS,SSSSS///33q!t;;;;000!44AqD@@@@1r**A..!ad(::::1rb11155	
2q!tB2q!t#aggail2S89 9 9 9@@@!DD	#q!tC!C&&A+c/)AcFF1a4KO;aggaimKaOP P P Py!$$))))z1%%....A'++qu44441a|Q''150000A'++q!taczA~======r%   c                     t          d          \  } }g d}g d}g d}t          t          t          ||                    d          d| dz  z  dz   | z  k    sJ t          t          t          ||                    d          d| dz  z  dz   | z  k    sJ t          t          t          ||                    d|          d	|dz  z  d
z
  |dz   z  k    sJ t          t	          dd                    }g d}t          t          t          ||                    d          d| dz  z  d| dz  z  z   d| dz  z  z
  d| z  z   dz
  | dz  d| dz  z  z   d| z  z
  dz   z  k    sJ d S )Nzx,y)r   r   r   r(   r,   r+   )x            i8  ir  )i.ii      i^  i  r   <   r   )XrE   i  r      )
l*oW6 l5(  lutNlKnlvvIO~l)*U_Vlfg<AldH+L;lP@\SQBlsG/KTr,   l]s[Nqr(   l   >"=4 l   76]l   Q{ r'   )r
   r   listziprange)r   r   xdataydata1ydata2ydatas         r#   test_rational_interpolaterQ   _   s   5>>DAqE+++F,,,FS%7%7 8 8!<<	!Q$w|Q   S%7%7 8 8!<<	!Q$w|Q   S%7%7 8 8!qAAA
1a4x#~A! ! ! !qE  E  S%6%6 7 7;;!Q$q!t/1457G7IJa4!AqD&=1Q3.356 6 6 6 6 6r%   c                     t          d          \  } t          t          t          dz  z  t          t          z  z   t
          z   | gt                    | z   t           t          z  f| z  t
          t          z  fgk    sJ t          t          d            t          t          fd           t          t          fd           d S )Nzr1, r2r   c                  .    t          dg t                    S )Nr   r   r   r.   r%   r#   <lambda>ztest_viete.<locals>.<lambda>{   s    uQA r%   c                  <    t          t          dz  dz    g          S )Nr   r   rT   r1s   r#   rU   ztest_viete.<locals>.<lambda>|   s    uQTAXt44 r%   c                  @    t          t          t          z    g          S )N)r   r   r   rW   s   r#   rU   ztest_viete.<locals>.<lambda>~   s    a!ebT0B0B r%   )	r
   r   r   r   r   r   r   
ValueErrorr   )r2rX   s    @r#   
test_vieter\   u   s    XFB	!Q$1q2r(A' ',.GaRT?RUAaCL*IJ J J J :..///
:4444555
&(B(B(B(BCCCCCr%   N)__doc__sympy.polys.polyfuncsr   r   r   r   r   sympy.polys.polyerrorsr   sympy.core.singletonr	   sympy.core.symbolr
   sympy.testing.pytestr   	sympy.abcr   r   r   r   r   r   r   r   r$   r/   r?   rQ   r\   r.   r%   r#   <module>rd      sA   ? ?                   # " " " " " % % % % % % ' ' ' ' ' ' , , , , , , , , , , , , , , , , , , , ,$E $E $EN& & &*> > >"6 6 6,	D 	D 	D 	D 	Dr%   