+
    i                        R t ^ RIHt ^ RIHtHtHtHtHtH	t	 ^ RI
Ht ^ RIHtHtHtHt ^ RIHt ^ RIHt ^ RIHt R t^]]P0                  R	3.^]^,          ],           ^,           ]P2                  R
3.^]^,          ]^,          ,           ^],          ,
          ^,
          ]P4                  R	3]^,          ^,           ]P6                  R
3.^]^,          ]^,          ,           ]^,          ,           ],           ^,           ]P8                  R
3]^,          ^,           ]P:                  R	3]^,          ^,
          ]P<                  R
3]^,          ^],          ,           ^,           ]P>                  R	3]^,          ],           ^,           ]P@                  R
3.^]^,          ]^,          ,           ^]^,          ,          ,
          ^]^,          ,          ,
          ^],          ,           ^,           ]PB                  R	3]^,          ^],          ,
          ^,           ]PD                  R	3]^,          ^,           ]PF                  R
3]^,          ^],          ,           ^,           ]PH                  R	3]^,          ],
          ^,           ]PJ                  R
3.^]^,          ]^,          ,           ]^,          ,           ]^,          ,           ]^,          ,           ],           ^,           ]	PL                  R
3]^,          ^l,           ]	P6                  R
3]^,          ^,           ]	PN                  R
3]^,          ^]^,          ,          ,
          ^,
          ]	P>                  R	3]^,          ^]^,          ,          ,           ^,           ]	PP                  R
3]^,          ^]^,          ,          ,
          ^,           ]	PR                  R
3]^,          ^]^,          ,          ,
          ^,
          ]	PT                  R	3]^,          ^]^,          ,          ,
          ^]^,          ,          ,           ^]^,          ,          ,
          ^]^,          ,          ,           ],           ^,
          ]	PV                  R
3]^,          ^]^,          ,          ,           ^,
          ]	PX                  R
3]^,          ^]^,          ,          ,           ^,           ]	PZ                  R
3]^,          ^
]^,          ,          ,           ^7]^,          ,          ,           ^]^,          ,          ,           ^]^,          ,          ,           ^],          ,           ^,           ]	P\                  R	3]^,          ^
]^,          ,          ,           ^7]^,          ,          ,           ^]^,          ,          ,           ^]^,          ,          ,           R],          ,
          ^,           ]	P^                  R
3]^,          ^]^,          ,          ,           ^]^,          ,          ,           ^	]^,          ,          ,           ^],          ,           ^,
          ]	P`                  R	3]^,          ^]^,          ,          ,           ^]^,          ,          ,           ]^,          ,           ^],          ,           ^,           ]	Pb                  R
3]^,          ^],          ,           ^,
          ]	Pd                  R	3]^,          ],           ^,           ]	Pf                  R
3./t4R t5R t6R t7R t8R t9R t:R t;R# )z#Tests for computing Galois groups. )x)S1TransitiveSubgroupsS2TransitiveSubgroupsS3TransitiveSubgroupsS4TransitiveSubgroupsS5TransitiveSubgroupsS6TransitiveSubgroups)QQ)tschirnhausen_transformationgalois_group"_galois_group_degree_4_root_approx_galois_group_degree_5_hybrid)field_isomorphism)Poly)raisesc                     \        \        ^,          ^,
          4      \        \        ^,          \        ,           ^,           4      \        \        ^,          ^,           4      \        \        ^,          \        ^,          ,
          \        ^,          ,           \        ,
          ^,           4      3 F  p \        V 4      w  rVP                  4       V P                  4       8X  g   Q hVP                  '       g   Q hVP
                  '       g   Q h\        P                  ! V 4      p\        P                  ! V4      p\        VP                  VP                  4      e   K  Q h	  R# )   N)
r   r   r
   degreeis_monicis_irreducibler	   alg_field_from_polyr   ext)T_UKLs        n/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/numberfields/tests/test_galoisgroups.py!test_tschirnhausen_transformationr      s    QTAXQTAX\QTAXQTAqD[1a4!#a'(	 ,A.xxzQXXZ'''zzzz""1%""1% .:::    TFi  c                     \        ^^4       F1  p \        V ,          pV F  w  r#p\        VRR7      W438X  d   K  Q h	  K3  	  R# )z
Try all the test polys.
Tby_nameNrangetest_polys_by_degr   )degpolysr   Galts        r   test_galois_groupr*   Z   sC     Q{!#&IA#40QH<<<  r   c                  l    \        \        R  4       \        \        R 4       \        \        R 4       R# )c                  4    \        \        ^ \        4      4      # )    r   r   r    r   r   <lambda>8test_galois_group_degree_out_of_bounds.<locals>.<lambda>e       |DAJ7r   c                  4    \        \        ^\        4      4      # )   r.   r/   r   r   r0   r1   f   r2   r   c                  N    \        \        \        ^,          ^,           4      4      # )   r.   r/   r   r   r0   r1   g   s    |Da!,<=r   N)r   
ValueErrorr/   r   r   &test_galois_group_degree_out_of_boundsr8   d   s#    
:78
:78
:=>r   c                     \        ^^4       F=  p \        V ,          ^ ,          w  rp\        V4      w  rCWBP                  4       8X  d   K=  Q h	  R# )zj
Check at least one polynomial of each supported degree, to see that
conversion from name to group works.
N)r$   r%   r   get_perm_group)r&   r   G_namer   r(   s        r   test_galois_group_not_by_namer<   j   sG    
 Q{(-a01A))++++ r   c                     \        ^^4       F6  p \        V ,          ^ ,          w  rp\        V^,          RR7      W#38X  d   K6  Q h	  R# )z?
Check that we can work with polys that are not monic over ZZ.
Tr!   Nr#   )r&   r   r(   r)   s       r   #test_galois_group_not_monic_over_ZZr>   u   sB     Q{%c*1-	cAaC.1(::: r   c                  l    \         ^,           F"  w  rp\        \        V 4      4      W38X  d   K"  Q h	  R# )   N)r%   r   r   r   r(   r)   s      r   'test__galois_group_degree_4_root_approxrB   ~   s1    &q))	c1$q':qhFFF *r   c                  l    \         ^,           F"  w  rp\        \        V 4      4      W38X  d   K"  Q h	  R# )   N)r%   r   r   rA   s      r   "test__galois_group_degree_5_hybridrE      s1    &q))	c,T!W5!AAA *r   c                  v   \         P                  ! \        \        ^,          ^,           4      4      p V P	                  RR7      w  rV\
        P                  8X  g   Q h\         P                  ! \        \        ^,          ^,
          4      4      p V P	                  RR7      w  rV\
        P                  8X  g   Q hR# )r@   Tr!   N)r	   r   r   r   r   r   VD4)kr(   r   s      r    test_AlgebraicField_galois_grouprJ      s    
tAqD1H~.A>>$>'DA%'''''
tAqD1H~.A>>$>'DA%(((((r   N)<__doc__	sympy.abcr   sympy.combinatorics.galoisr   r   r   r   r   r   !sympy.polys.domains.rationalfieldr	   %sympy.polys.numberfields.galoisgroupsr
   r   r   r   !sympy.polys.numberfields.subfieldr   sympy.polys.polytoolsr   sympy.testing.pytestr   r   S1S2A3S3C4rG   rH   A4S4C5D5M20A5S5C6D6G18A4xC2S4pS4mG36mS4xC2PSL2F5PGL2F5G36pG72A6S6r%   r*   r8   r<   r>   rB   rE   rJ   r/   r   r   <module>rm      s   )   1  @ & ';( 	
!$$d+ 	
AA,//7 	
A1qs	Q	 5 8 8$?	
A(++U3
 	
A1q!t	a	!	#%:%=%=uE	
A(**D1	
A(++U3	
A!b/22D9	
AA,//7 	
A1qAv	!Q$	&1	,q	02G2J2JDQ	
A!b/22D9	
A(,,e4	
A1r	033T:	
AA,//7 	
A1q!t	ad	"QT	)A	-	13H3K3KUS	
A*--u5	
A(++U3	
A!Q$	144d;	
A!Q$	155u=	
A!Q$	177?	
A!Q$	155t<	
A!Q$1a4	!AqD&	(1QT6	1A	5	9;P;T;TV[\	
A!Q$	166>	
A!Q$	177?	
A1a4"QT'	!C1H	,s1a4x	7#a%	?"	DF[FbFbdhi	
A1a4"QT'	!C1H	,s1a4x	7$q&	@2	EG\GcGcejk	
A!Q$1a4	!AqD&	(1Q3	.	24I4N4NPTU	
A!Q$1a4	!Q$	&1	,q	02G2K2KUS	
A1r	033T:	
AA,//7!?1 h=?,;G
B
)r   