<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Конечные группы, Абелевы группы — Sage Tutorial in Russian v5.9</title> <link rel="stylesheet" href="_static/sage.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '', VERSION: '5.9', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/translations.js"></script> <link rel="shortcut icon" href="_static/favicon.ico"/> <link rel="top" title="Sage Tutorial in Russian v5.9" href="index.html" /> <link rel="up" title="Тур по Sage" href="tour.html" /> <link rel="next" title="Теория чисел" href="tour_numtheory.html" /> <link rel="prev" title="Полиномы" href="tour_polynomial.html" /> <link rel="icon" href="_static/sageicon.png" type="image/x-icon" /> </head> <body> <div class="related"> <h3>Просмотр</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="genindex.html" title="Словарь-указатель" accesskey="I">словарь</a></li> <li class="right" > <a href="py-modindex.html" title="Python Module Index" >модули</a> |</li> <li class="right" > <a href="tour_numtheory.html" title="Теория чисел" accesskey="N">следующий</a> |</li> <li class="right" > <a href="tour_polynomial.html" title="Полиномы" accesskey="P">предыдущий</a> |</li> <a href="../index.html"><img src="_static/sagelogo.png" style="vertical-align: middle" title="Sage Logo"></a> <li><a href="index.html">Sage Tutorial in Russian v5.9</a> »</li> <li><a href="tour.html" accesskey="U">Тур по Sage</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="id1"> <h1>Конечные группы, Абелевы группы<a class="headerlink" href="#id1" title="Ссылка на этот заголовок">¶</a></h1> <p>Sage поддерживает вычисления с группами перестановок, конечными классическими группами (как, например, <img class="math" src="_images/math/ea408e1735df8926cb4055d216f8143b53224cdc.png" alt="SU(n,q)"/>), конечными матричными группами (с собственными генераторами) и группами Абеля (даже с бесконечными). Многое из этого осуществляется посредством интерфейса к GAP.</p> <p>Например, чтобы построить группу перестановок, надо задать список генераторов:</p> <div class="highlight-python"><div class="highlight"><pre><span class="go">sage: G = PermutationGroup(['(1,2,3)(4,5)', '(3,4)'])</span> <span class="go">sage: G</span> <span class="go">Permutation Group with generators [(3,4), (1,2,3)(4,5)]</span> <span class="go">sage: G.order()</span> <span class="go">120</span> <span class="go">sage: G.is_abelian()</span> <span class="go">False</span> <span class="go">sage: G.derived_series() # random output</span> <span class="go">[Permutation Group with generators [(1,2,3)(4,5), (3,4)],</span> <span class="go"> Permutation Group with generators [(1,5)(3,4), (1,5)(2,4), (1,3,5)]]</span> <span class="go">sage: G.center()</span> <span class="go">Subgroup of (Permutation Group with generators [(3,4), (1,2,3)(4,5)]) generated by [()]</span> <span class="go">sage: G.random_element() # random output</span> <span class="go">(1,5,3)(2,4)</span> <span class="go">sage: print latex(G)</span> <span class="go">\langle (3,4), (1,2,3)(4,5) \rangle</span> </pre></div> </div> <p>Также можно получить символьную таблицу в формате LaTeX:</p> <div class="highlight-python"><div class="highlight"><pre><span class="go">sage: G = PermutationGroup([[(1,2),(3,4)], [(1,2,3)]])</span> <span class="go">sage: latex(G.character_table())</span> <span class="go">\left(\begin{array}{rrrr}</span> <span class="go">1 & 1 & 1 & 1 \\</span> <span class="go">1 & 1 & -\zeta_{3} - 1 & \zeta_{3} \\</span> <span class="go">1 & 1 & \zeta_{3} & -\zeta_{3} - 1 \\</span> <span class="go">3 & -1 & 0 & 0</span> <span class="go">\end{array}\right)</span> </pre></div> </div> <p>Sage также включает в себя классические и матричные группы для конечных полей:</p> <div class="highlight-python"><div class="highlight"><pre><span class="go">sage: MS = MatrixSpace(GF(7), 2)</span> <span class="go">sage: gens = [MS([[1,0],[-1,1]]),MS([[1,1],[0,1]])]</span> <span class="go">sage: G = MatrixGroup(gens)</span> <span class="go">sage: G.conjugacy_class_representatives()</span> <span class="go"> [</span> <span class="go"> [1 0]</span> <span class="go"> [0 1],</span> <span class="go"> [0 1]</span> <span class="go"> [6 1],</span> <span class="go"> ...</span> <span class="go"> [6 0]</span> <span class="go"> [0 6]</span> <span class="go"> ]</span> <span class="go">sage: G = Sp(4,GF(7))</span> <span class="go">sage: G._gap_init_()</span> <span class="go">'Sp(4, 7)'</span> <span class="go">sage: G</span> <span class="go">Symplectic Group of rank 2 over Finite Field of size 7</span> <span class="go">sage: G.random_element() # random output</span> <span class="go">[5 5 5 1]</span> <span class="go">[0 2 6 3]</span> <span class="go">[5 0 1 0]</span> <span class="go">[4 6 3 4]</span> <span class="go">sage: G.order()</span> <span class="go">276595200</span> </pre></div> </div> <p>Также можно производить вычисления с группами Абеля (конечными и бесконечными):</p> <div class="highlight-python"><div class="highlight"><pre><span class="go">sage: F = AbelianGroup(5, [5,5,7,8,9], names='abcde')</span> <span class="go">sage: (a, b, c, d, e) = F.gens()</span> <span class="go">sage: d * b**2 * c**3</span> <span class="go">b^2*c^3*d</span> <span class="go">sage: F = AbelianGroup(3,[2]*3); F</span> <span class="go">Multiplicative Abelian group isomorphic to C2 x C2 x C2</span> <span class="go">sage: H = AbelianGroup([2,3], names="xy"); H</span> <span class="go">Multiplicative Abelian group isomorphic to C2 x C3</span> <span class="go">sage: AbelianGroup(5)</span> <span class="go">Multiplicative Abelian group isomorphic to Z x Z x Z x Z x Z</span> <span class="go">sage: AbelianGroup(5).order()</span> <span class="go">+Infinity</span> </pre></div> </div> </div> </div> </div> </div> <div class="sphinxsidebar"> <div class="sphinxsidebarwrapper"> <h4>Предыдущий раздел</h4> <p class="topless"><a href="tour_polynomial.html" title="предыдущая глава">Полиномы</a></p> <h4>Следующий раздел</h4> <p class="topless"><a href="tour_numtheory.html" title="следующая глава">Теория чисел</a></p> <h3>На этой странице</h3> <ul class="this-page-menu"> <li><a href="_sources/tour_groups.txt" rel="nofollow">Показать исходный текст</a></li> </ul> <div id="searchbox" style="display: none"> <h3>Быстрый поиск</h3> <form class="search" action="search.html" method="get"> <input type="text" name="q" size="18" /> <!-- The shading of the "Go" button should be consistent --> <!-- with the colour of the header and footer. See the file --> <!-- doc/common/themes/sage/theme.conf for colours used by --> <!-- the Sage theme. --> <input type="submit" style="background-color: #B8B9F6" value="Искать" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> Введите слова для поиска или имя модуля, класса или функции. </p> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related"> <h3>Просмотр</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="genindex.html" title="Словарь-указатель" >словарь</a></li> <li class="right" > <a href="py-modindex.html" title="Python Module Index" >модули</a> |</li> <li class="right" > <a href="tour_numtheory.html" title="Теория чисел" >следующий</a> |</li> <li class="right" > <a href="tour_polynomial.html" title="Полиномы" >предыдущий</a> |</li> <a href="../index.html"><img src="_static/sagelogo.png" style="vertical-align: middle" title="Sage Logo"></a> <li><a href="index.html">Sage Tutorial in Russian v5.9</a> »</li> <li><a href="tour.html" >Тур по Sage</a> »</li> </ul> </div> <div class="footer"> © Copyright 2005--2011, The Sage Development Team. При создании использован <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. </div> <script type="text/javascript"> /*global jQuery, window */ /* Sphinx sidebar toggle. Putting this code at the end of the body * enables the toggle for the live, static, and offline docs. Note: * sage.misc.html.math_parse() eats jQuery's dollar-sign shortcut. */ var jq = jQuery; jq(document).ready(function () { var bar, bod, bg, fg, key, tog, wid_old, wid_new, resize, get_state, set_state; bod = jq('div.bodywrapper'); bar = jq('div.sphinxsidebar'); tog = jq('<div class="sphinxsidebartoggle"></div>'); /* Delayed resize helper. Not perfect but good enough. */ resize = function () { setTimeout(function () { tog.height(bod.height()); }, 100); }; jq(window).resize(function () { resize(); }); /* Setup and add the toggle. See Sphinx v0.5.1 default.css. */ fg = jq('div.sphinxsidebar p a').css('color') || 'rgb(152, 219, 204)'; bg = jq('div.document').css('background-color') || 'rgb(28, 78, 99)'; wid_old = '230px'; wid_new = '5px'; tog.css('background-color', bg) .css('border-width', '0px') .css('border-right', wid_new + ' ridge ' + bg) .css('cursor', 'pointer') .css('position', 'absolute') .css('left', '-' + wid_new) .css('top', '0px') .css('width', wid_new); bod.css('position', 'relative'); bod.prepend(tog); resize(); /* Cookie helpers. */ key = 'sphinxsidebar='; set_state = function (s) { var date = new Date(); /* Expiry in 7 days. */ date.setTime(date.getTime() + (7 * 24 * 3600 * 1000)); document.cookie = key + encodeURIComponent(s) + '; expires=' + date.toUTCString() + '; path=/'; }; get_state = function () { var i, c, crumbs = document.cookie.split(';'); for (i = 0; i < crumbs.length; i += 1) { c = crumbs[i].replace(/^\s+/, ''); if (c.indexOf(key) === 0) { return decodeURIComponent(c.substring(key.length, c.length)); } } return null; }; /* Event handlers. */ tog.mouseover(function (ev) { tog.css('border-right-color', fg); }).mouseout(function (ev) { tog.css('border-right-color', bg); }).click(function (ev) { if (bod.hasClass('wide')) { bod.removeClass('wide'); bod.css('margin-left', wid_old); bar.css('width', wid_old); bar.show(); set_state('visible'); } else { set_state('hidden'); bar.hide(); bar.css('width', '0px'); bod.css('margin-left', wid_new); bod.addClass('wide'); } resize(); }); /* Hide the normally visible sidebar? */ if (get_state() === 'hidden') { tog.trigger('click'); } else { set_state('visible'); } }); </script> </body> </html>