ÐонеÑнÑе гÑÑппÑ, ÐÐ±ÐµÐ»ÐµÐ²Ñ Ð³ÑÑÐ¿Ð¿Ñ =============================== Sage поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ñ Ð³ÑÑппами пеÑеÑÑановок, конеÑнÑми клаÑÑиÑеÑкими гÑÑппами (как, напÑимеÑ, :math:`SU(n,q)`), конеÑнÑми маÑÑиÑнÑми гÑÑппами (Ñ ÑобÑÑвеннÑми генеÑаÑоÑами) и гÑÑппами ÐÐ±ÐµÐ»Ñ (даже Ñ Ð±ÐµÑконеÑнÑми). Ðногое из ÑÑого оÑÑÑеÑÑвлÑеÑÑÑ Ð¿Ð¾ÑÑедÑÑвом инÑеÑÑейÑа к GAP. ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÑÑÑоиÑÑ Ð³ÑÑÐ¿Ð¿Ñ Ð¿ÐµÑеÑÑановок, надо задаÑÑ ÑпиÑок генеÑаÑоÑов: :: sage: G = PermutationGroup(['(1,2,3)(4,5)', '(3,4)']) sage: G Permutation Group with generators [(3,4), (1,2,3)(4,5)] sage: G.order() 120 sage: G.is_abelian() False sage: G.derived_series() # random output [Permutation Group with generators [(1,2,3)(4,5), (3,4)], Permutation Group with generators [(1,5)(3,4), (1,5)(2,4), (1,3,5)]] sage: G.center() Subgroup of (Permutation Group with generators [(3,4), (1,2,3)(4,5)]) generated by [()] sage: G.random_element() # random output (1,5,3)(2,4) sage: print latex(G) \langle (3,4), (1,2,3)(4,5) \rangle Также можно полÑÑиÑÑ ÑимволÑнÑÑ ÑаблиÑÑ Ð² ÑоÑмаÑе LaTeX: :: sage: G = PermutationGroup([[(1,2),(3,4)], [(1,2,3)]]) sage: latex(G.character_table()) \left(\begin{array}{rrrr} 1 & 1 & 1 & 1 \\ 1 & 1 & -\zeta_{3} - 1 & \zeta_{3} \\ 1 & 1 & \zeta_{3} & -\zeta_{3} - 1 \\ 3 & -1 & 0 & 0 \end{array}\right) Sage Ñакже вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ ÐºÐ»Ð°ÑÑиÑеÑкие и маÑÑиÑнÑе гÑÑÐ¿Ð¿Ñ Ð´Ð»Ñ ÐºÐ¾Ð½ÐµÑнÑÑ Ð¿Ð¾Ð»ÐµÐ¹: :: sage: MS = MatrixSpace(GF(7), 2) sage: gens = [MS([[1,0],[-1,1]]),MS([[1,1],[0,1]])] sage: G = MatrixGroup(gens) sage: G.conjugacy_class_representatives() [ [1 0] [0 1], [0 1] [6 1], ... [6 0] [0 6] ] sage: G = Sp(4,GF(7)) sage: G._gap_init_() 'Sp(4, 7)' sage: G Symplectic Group of rank 2 over Finite Field of size 7 sage: G.random_element() # random output [5 5 5 1] [0 2 6 3] [5 0 1 0] [4 6 3 4] sage: G.order() 276595200 Также можно пÑоизводиÑÑ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ñ Ð³ÑÑппами ÐÐ±ÐµÐ»Ñ (конеÑнÑми и беÑконеÑнÑми): :: sage: F = AbelianGroup(5, [5,5,7,8,9], names='abcde') sage: (a, b, c, d, e) = F.gens() sage: d * b**2 * c**3 b^2*c^3*d sage: F = AbelianGroup(3,[2]*3); F Multiplicative Abelian group isomorphic to C2 x C2 x C2 sage: H = AbelianGroup([2,3], names="xy"); H Multiplicative Abelian group isomorphic to C2 x C3 sage: AbelianGroup(5) Multiplicative Abelian group isomorphic to Z x Z x Z x Z x Z sage: AbelianGroup(5).order() +Infinity