
    \h7                         S SK Jr  S SKJrJr  S SKJrJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJr  S S	KJrJrJr  S
 rS rS rS rS rS rS rS rS rS rg)    )symbols)cossin)QQZZ)Poly)NotInvertible)FiniteExtension)DomainMatrix)raises)xytc                    ^^^ [        [        [        S-  S-   [        5      5      mTR                  S:X  d   e[	        T5      S:X  d   eTR
                  mTR                  5       TL d   eTT-  T" S5      :X  d   e[        [        U4S j5        TR                  TR                  T4:X  d   eT" S5      TR                  :X  d   eTS-  T" S5      :X  d   eTS-  S:w  d   eST-   ST-
  -  ST-
  :X  d   eST-   S-  T" S5      :X  d   eT" S5      R                  5       T" S5      :X  d   e[        [        U4S	 j5        [        [        [        S-  [        -
  S-   [        SS
95      mTR                  S:X  d   eTR
                  n TR                  T" S5      X S-  4:X  d   eU S-  U :X  d   eU S-  T" S5      :X  d   eU S-  T" S5      :X  d   eU S-  U S-   :X  d   eU S-  U S-
  :X  d   eU S-  U S-  U -   S-   :X  d   eT" [        S-  [        -   5      R                  5       SU -
  :X  d   eT" [        S-   5      S-  T" [        S-   5      R                  5       :X  d   eU S-  U S-  -  T" S5      :X  d   eU S-
  SU S-  -  S-
  -  U S-  S-   :X  d   eU S-
  SU S-  -  S-
  -  U S-  S-   :X  d   eSU S-  S-   -  U S-  U -
  S-   :X  d   eU S-  S-   S-  U S-  * S-
  :X  d   e[        [        U4S j5        [        [        [        S-  [        S-  -
  [        -
  S-   [        SS95      nUR                  S:X  d   e[	        U5      S:X  d   eUR
                  nS[        S-  [        S-  -
  [        -   S-
  -  nU[        -   U[        -
  -  R                  5       U" U5      :X  d   eU[        -   U[        -
  -  U-  U" S5      :X  d   eg )N      zZZ[x]/(x**2 + 1)c                     > T S-  $ )N r   )is   ^/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/agca/tests/test_extensions.py<lambda>&test_FiniteExtension.<locals>.<lambda>   s	    ad             c                  0   > T " S5      R                  5       $ )Nr   inverse)As   r   r   r       s    !r   )modulus         	         ic                  0   > T " S5      R                  5       $ )Nr   r   )Fs   r   r   r   4   s    !A$,,.r   T)fieldzZZ(x)[t]/(t**2 - x**3 - x + 1))r
   r   r   rankstr	generatorparentr   	TypeErrorbasisoner    NotImplementedErrorr	   r   )aKr   cr!   r*   r   s       @@@r   test_FiniteExtensionr7      s   QTAXq)*A66Q;;q6''''	A88:??Q3!B%<<
9l#77quuaj   Q4155==a41R5==a42::EAE?a!e###EA:2Q4<<>QqT!!!
 67 	QTAX\1a89A66Q;;	A77qtQ1o%%%b5A::b5AaD==b5AbE>>a41q5==a41q5==a41a4!8a<QTAX; AE)))QU8b>Qq1uX--////b51s8qt###Ea1fqj!QTAX---EqAvz"adQh...adQh<1a4!8a<'''qD1Ha<AqD519$$$
=01 	QTAqD[1_q0!4@AA66Q;;q65555	A	1a4!Q$;?QAUQUO$$&!A$...EAE?1!$$$r   c                  l   [        [        S-  S-
  [        [        S9n [        [        S-  S-
  [        [        S9n[	        U 5      n[	        U5      nU[	        [        [        S-  S-
  5      5      :X  d   eU[	        [        [        S-  S-
  5      5      :w  d   e[        X#[	        U 5      15      S:X  d   eg )Nr   domain)r   r   r   r   r
   len)p1p2K1K2s       r   test_FiniteExtension_eq_hashr@   @   s    	adQh"	%B	adQh"	%B		B		BadQh0000adQh0000+,-222r   c                    ^ [        [        [        S-  S-   [        [        S95      n U " [        5      mTS-  S-
  S-  U R                  :X  d   eSTS-  S-
  -  U R                  :X  d   eTS-  S-
  TS-
  -  TS-   :X  d   eTS-  S-
  TS-
  -  TS-   :X  d   eTS-  S-
  TS-
  -  U R                  :X  d   e[        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        [        S-  S-   [        [        S95      n U " [        5      mTS-  S-
  S-  U R                  :X  d   e[        [        U4S j5        g )	Nr   r   r9   r   c                     > T S-  S-
  S-  $ )Nr   r   r   r   xfs   r   r   *test_FiniteExtension_mod.<locals>.<lambda>T   s    r1uqyAor   c                     > T / -  $ Nr   rC   s   r   r   rE   U   	    b2gr   c                     > / T -  $ rG   r   rC   s   r   r   rE   V   rH   r   c                      > T S-  S-
  T S-
  -  $ )Nr   r   r   rC   s   r   r   rE   \   s    QrAv(>r   )
r
   r   r   r   zeror   ZeroDivisionErrorr0   r   r3   r5   rD   s    @r   test_FiniteExtension_modrN   K   s<   QTAXq45A	
1BEAI?aff$$$A	?aff$$$EAI"q&!R!V+++EAI26"b1f,,,EAI"q&!QVV+++
56
9o&
9o& 	QTAXq45A	
1BEAI?aff$$$
 >?r   c                      [        [        [        S-  S-   [        [        S95      n U " [        5      nU R	                  [        5      U:X  d   eU R                  U5      [        :X  d   eg )Nr   r   r9   )r
   r   r   r   
from_sympyto_sympyrM   s     r   test_FiniteExtension_from_sympyrR   _   sR    QTAXq45A	
1B<<?b   ::b>Qr   c                      [        [        [        S-  S-   [        SS95      n [        [        [        S-  S-   [        SS95      nU R                  [        5      U:X  d   eg )Nr   r   r   r9   r   )r
   r   r   
set_domainr   )KZKQs     r   test_FiniteExtension_set_domainrW   g   sO    	adQh$7	8B	adQh$7	8B=="""r   c                      [        [        [        S-  S-   5      5      n U " [        5      nU R                  US-  S-
  US-
  5      US-   :X  d   eg )N   r   r   )r
   r   r   exquorM   s     r   test_FiniteExtension_exquor[   m   sJ    QTAX'A	
1B772q519b1f%a///r   c                     [        [        [        S-  S-   5      5      n [        [           nU " [        5      U" [        5      p2U R	                  U5      U:X  d   eUR	                  U5      U:X  d   e[        [        [        S-  S-
  [        S95      nUR                  [        SS5      [        5      UR                  S-  :X  d   eg Nr   r   r9   )r
   r   r   r   convertconvert_fromr2   )r>   r?   x1x2r5   s        r   test_FiniteExtension_convertrb   t   s    	adQh	(B	ABUBqE::b>R::b>RQTAXb12A>>"Q(B'1557222r   c            	      f  ^^ [        [        [        S-  S-
  [        [        S95      n [        [        [        S-  S-
  [        [        S95      n[        [        [        S-  S-
  [        [        [
           S95      n[        [        [        S-  S-
  [        [        R                  " [
        5      S95      nU R                  SL d   eUR                  SL d   eUR                  SL d   eUR                  SL d   eXX#4 GH/  mTR                  [        5      mTTR                  -  T:X  d   eTTR                  -  T:X  d   eTTR                  -  TR                  :X  d   e[        [        UU4S j5        [        [        UU4S j5        [        [        UU4S j5        TR                  (       aA  TT-  TR                  :X  d   eTT-  TR                  :X  d   eTT-  TR                  :X  d   eM  [        [        U4S	 j5        [        [        U4S
 j5        [        [        U4S j5        GM2     g )Nr   r   r9   TFc                  "   > TT R                   -  $ rG   rK   r5   xKs   r   r   4test_FiniteExtension_division_ring.<locals>.<lambda>       "qvv+r   c                  "   > TT R                   -  $ rG   re   rf   s   r   r   rh      s    ",r   c                  "   > TT R                   -  $ rG   re   rf   s   r   r   rh      ri   r   c                     > T T -  $ rG   r   rg   s   r   r   rh      	    Rr   c                     > T T -  $ rG   r   rm   s   r   r   rh      s	    br   c                     > T T -  $ rG   r   rm   s   r   r   rh      rn   r   )r
   r   r   r   r   r   
frac_fieldis_Fieldr^   r2   rK   r   rL   r3   )rV   rU   KQtKQtfr5   rg   s       @@r   "test_FiniteExtension_division_ringru      s   	adQh"5	6B	adQh"5	6B
$q!tax2a59
:C41q!BMM!4DEFD;;$;;%<<5   ==D   SYYq\AEEzRQUU{b   AEEzQVV### "56 "67 "56::7aee###8quu$$$7aff$$$&8&(89&8 r   c                     [        [        [        S-  S-
  5      5      n [        [        [        U S9nUR                  U :X  d   eUR                  5       [        :X  d   eUS-  R                  5       S:X  d   e[        [        [        S-  S-
  [        [        S95      n [        [        [        S-  S-
  [        U S95      n[        U5      S:X  d   eUR                  [        [        -   5      nUR                  U5      [        [        -   :X  d   eUR                  US-  5      SS[        -  [        -  -   :X  d   e[        [        [        -   [        US9nUS-  [        SS[        -  [        -  -   [        US9:X  d   eg )Nr   r9   zQQ[x]/(x**2 - 2)[t]/(t**2 - 2)rY   )r
   r   r   r   r:   as_exprr   r   r-   r^   rQ   )r5   pr?   eKs       r   test_FiniteExtension_Polyrz      s8   QTAX'AQ!A88q==99;!qD>>q   QTAXq45A	adQh!4	5Br76666	AE	B;;r?a!e###;;rQw1qs1u9,,,QUAb!Aa44AaCE	1R0000r   c                    ^^ [        S5      u  n mm[        T5      [        T5      -  U [        T5      -  [        T5      -  U * [        T5      -  [        T5      -  /[        T5      [        T5      -  U [        T5      -  [        T5      -  U [        T5      -  [        T5      -  /[        T5      U * [        T5      -  S//nUU4S jnU" [        U    5      nU" [        5      U    nX44 H  nU VVs/ s H#  of Vs/ s H  ouR	                  U5      PM     snPM%     nnn[        USU5      n	U	R                  5       S   UR                  * S-  -  n
XR	                  U S-  [        T5      -  5      :X  a  M   e   g s  snf s  snnf )Nzrho, phi, thetar   c           
      $  > [        [        [        T5      S-  [        T5      S-  -   S-
  [        T5      U [        T5         S95      n [        [        [        T5      S-  [        T5      S-  -   S-
  [        T5      U [        T5         S95      n U $ r]   )r
   r   r   r   )r5   rx   r   s    r   make_extension<test_FiniteExtension_sincos_jacobian.<locals>.make_extension   sz    DQ3q619!4Q!6AqQyQRDQ3q619!4Q!6AqQyQRr   )r   r   r   r   r   )r   r   r   r   r^   r   charpolyr2   )relementsr}   Ksc1Ksc2r5   rowe
elements_KJdetrx   r   s              @@r   $test_FiniteExtension_sincos_jacobianr      sQ    '(GAq!	QA#a&Q!CF3q6)9:	QA#a&Q!CF(3q6/:AqbQi:H
 "Q% D"a D\=EFXcS1Syy|S1X
FVQ/jjl2155&1,ii1SV,,,,	 1Fs   1	E>:E9E>9E>N) sympy.core.symbolr   (sympy.functions.elementary.trigonometricr   r   sympy.polysr   r   sympy.polys.polytoolsr   sympy.polys.polyerrorsr	   sympy.polys.agca.extensionsr
   sympy.polys.domainmatrixr   sympy.testing.pytestr   	sympy.abcr   r   r   r7   r@   rN   rR   rW   r[   rb   ru   rz   r   r   r   r   <module>r      sW    % ?  & 0 7 1 '  /%d3@(#0	3981$-r   