************ Ðведение ************ Ðанное ÑÑебное поÑобие â лÑÑÑий ÑпоÑоб познакомиÑÑÑÑ Ñ Sage за неÑколÑко ÑаÑов. ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÐµÐ³Ð¾ в HTML или PDF ÑоÑмаÑе, а Ñакже оÑкÑÑÑÑ Ð¸Ð½ÑеÑакÑивнÑÑ Ð²ÐµÑÑÐ¸Ñ Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенной ÑабоÑÑ Ð² Sage notebook: нажмиÑе ``Help``, поÑом ``Tutorial``. (ÐнÑеÑакÑÐ¸Ð²Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпна на ÑÑÑÑком ÑзÑке, но Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±Ð¾Ð»ÐµÐµ полной и ÑоÑнее ÑооÑвеÑÑÑвоваÑÑ ÑекÑÑей веÑÑии Sage.) СÑÑеÑÑÐ²ÐµÐ½Ð½Ð°Ñ ÑаÑÑÑ Sage напиÑана на ÑзÑке пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Python, однако его знание не ÑÑебÑеÑÑÑ Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ поÑобиÑ. ÐÑли ÐÑ Ð¿Ð¾Ð¶ÐµÐ»Ð°ÐµÑе ÑзнаÑÑ Ð±Ð¾Ð»ÑÑе о Python (оÑÐµÐ½Ñ ÑлеганÑнÑй ÑзÑк!), ÑÑÑеÑÑвÑÐµÑ Ð¼Ð½Ð¾Ð³Ð¾ пÑекÑаÑнÑÑ (и беÑплаÑнÑÑ ) иÑÑоÑников, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº [PyT]_ и [Dive]_. ÐÐ»Ñ Ð¿ÐµÑвого же знакомÑÑва Ñ Sage данное поÑобие ÑвлÑеÑÑÑ Ð¾ÑлиÑной оÑпÑавной ÑоÑкой. ÐÑак: :: sage: 2 + 2 4 sage: factor(-2007) -1 * 3^2 * 223 sage: A = matrix(4,4, range(16)); A [ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15] sage: factor(A.charpoly()) x^2 * (x^2 - 30*x - 80) sage: m = matrix(ZZ,2, range(4)) sage: m[0,0] = m[0,0] - 3 sage: m [-3 1] [ 2 3] sage: E = EllipticCurve([1,2,3,4,5]); sage: E Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 4*x + 5 over Rational Field sage: E.anlist(10) [0, 1, 1, 0, -1, -3, 0, -1, -3, -3, -3] sage: E.rank() 1 sage: k = 1/(sqrt(3)*I + 3/4 + sqrt(73)*5/9); k 1/(I*sqrt(3) + 5/9*sqrt(73) + 3/4) sage: N(k) 0.165495678130644 - 0.0521492082074256*I sage: N(k,30) # ТоÑноÑÑÑ 30 Ð±Ð¸Ñ 0.16549568 - 0.052149208*I sage: latex(k) \frac{1}{i \, \sqrt{3} + \frac{5}{9} \, \sqrt{73} + \frac{3}{4}} .. _installation: УÑÑановка ============ ÐÑли на ваÑем компÑÑÑеÑе не ÑÑÑановлен Sage, и Ð²Ñ Ñ Ð¾ÑиÑе попÑобоваÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе командÑ, воÑполÑзÑйÑеÑÑ ÑÑой ÑÑÑлкой: http://www.sagenb.org. Ð ÑководÑÑво по ÑÑÑановке Sage можно пÑоÑмоÑÑеÑÑ Ð½Ð° главной ÑÑÑаниÑе Sage в Ñазделе докÑменÑаÑии: [SA]_ ÐдеÑÑ Ð¼Ñ Ð¿Ñиведем лиÑÑ Ð½ÐµÑколÑко комменÑаÑиев: #. ÐагÑÑженнÑй Ñайл ÑÑÑановки Sage ÑвлÑеÑÑÑ ÑамодоÑÑаÑоÑнÑм. То еÑÑÑ, Ñ Ð¾ÑÑ Sage иÑполÑзÑÐµÑ Python, IPython, PARI, GAP, Singular, Maxima, NTL, GMP и Ñ.д., оÑделÑной ÑÑÑановки вÑÑепеÑеÑиÑленнÑÑ Ð¿Ð°ÐºÐµÑов не ÑÑебÑеÑÑÑ, Ñак как они Ñже вклÑÑенÑ. Ðднако, Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ ÑÑнкÑий Sage ÑÐ°ÐºÐ¸Ñ , как Macaulay или KASH, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÑÑановиÑÑ ÑÑебÑÑÑиеÑÑ ÑÐ°Ð¹Ð»Ñ Ð¸Ð»Ð¸ имеÑÑ ÑооÑвеÑÑÑвÑÑÑие пÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð° ваÑем компÑÑÑеÑе. Macaulay и KASH ÑвлÑÑÑÑÑ Ð¿Ð°ÐºÐµÑами Sage (Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа ÑпиÑка доÑÑÑпнÑÑ Ð¿Ð°ÐºÐµÑов введиÑе ``sage -optional`` или изÑÑиÑе Ñаздел âDownloadâ на веб-ÑайÑе Sage). #. ÐÑедваÑиÑелÑно ÑкомпилиÑованнÑÑ Ð±Ð¸Ð½Ð°ÑнÑÑ Ð²ÐµÑÑÐ¸Ñ Sage, коÑоÑÑÑ Ñакже можно найÑи на веб-ÑайÑе, бÑÐ´ÐµÑ Ð»ÐµÐ³Ñе ÑÑÑановиÑÑ, Ñем веÑÑÐ¸Ñ Ð² иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ коде. ÐÑоÑÑо ÑаÑпакÑйÑе и вÑполниÑе ``sage``. #. ÐÑли Ð²Ñ Ð¶ÐµÐ»Ð°ÐµÑе иÑполÑзоваÑÑ Ð¿Ð°ÐºÐµÑ SageTeX, коÑоÑÑй позволÑÐµÑ Ð²ÑÑавлÑÑÑ ÑезÑлÑÑаÑÑ Ð²ÑÑиÑлений Sage в LaTeX Ñайл, ÑÑебÑеÑÑÑ ÑделаÑÑ SageTeX извеÑÑнÑм ваÑей ÑиÑÑеме TeX. ÐÐ»Ñ ÑÑого изÑÑиÑе ÑекÑÐ¸Ñ "Make SageTeX known to TeX" в `Ð ÑководÑÑве по ÑÑÑановке Sage <http://www.sagemath.org/doc/>`_ (`Ð´Ð°Ð½Ð½Ð°Ñ ÑÑÑлка <../installation/index.html>`_ Ð²ÐµÐ´ÐµÑ Ðº локалÑÐ½Ð¾Ð¼Ñ ÑазмеÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ ÑÑководÑÑва по ÑÑÑановке). ÐÑо доволÑно пÑоÑÑо; вам понадобиÑÑÑ Ð²Ñего лиÑÑ ÑкопиÑоваÑÑ Ð¾Ð´Ð¸Ð½ Ñайл в диÑекÑоÑÐ¸Ñ Ð¿Ð¾Ð¸Ñка TeX. ÐокÑменÑаÑÐ¸Ñ Ð¿Ð¾ иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ SageTeX Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² ``$SAGE_ROOT/local/share/texmf/tex/generic/sagetex/``, где "``$SAGE_ROOT``" ÑооÑвеÑÑÑвÑÐµÑ Ð´Ð¸ÑекÑоÑии, где ÑÑÑановлен Ñам Sage, напÑимеÑ, ``/opt/sage-4.2.1``. РабоÑа в Sage ================ РабоÑа в Sage Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑÑеÑÑвлена неÑколÑкими пÑÑÑми: - **Notebook (гÑаÑиÑеÑкий инÑеÑÑейÑ):** Ñм. Ñаздел о Notebook в ÑпÑавоÑном ÑÑководÑÑве, а Ñакже :ref:`section-notebook` ниже; - **ÐнÑеÑакÑÐ¸Ð²Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ ÑÑÑока:** Ñм. :ref:`chapter-interactive_shell`; - **ÐÑогÑаммÑ:** Ñоздание инÑеÑпÑеÑиÑÑемÑÑ Ð¸ компилиÑÑемÑÑ Ð¿ÑогÑамм в Sage (Ñм. :ref:`section-loadattach` и :ref:`section-compile`); - **СкÑипÑÑ:** Ñоздание ÑамоÑÑоÑÑелÑнÑÑ ÑкÑипÑов на Python, иÑполÑзÑÑÑÐ¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки Sage (Ñм. :ref:`section-standalone`). Цели Sage ========= - **ÐолезнÑй:** пÑÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÐµÐ¼Ð°Ñ Ð°ÑдиÑоÑÐ¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей Sage â ÑÑо ÑколÑники ÑÑаÑÑÐ¸Ñ ÐºÐ»Ð°ÑÑов, ÑÑÑденÑÑ, ÑÑиÑелÑ, пÑоÑеÑÑоÑа и маÑемаÑики-иÑÑледоваÑели. ЦелÑ: пÑедоÑÑавиÑÑ Ð¿ÑогÑаммное обеÑпеÑение, коÑоÑое бÑло Ð±Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ Ð¸Ð·ÑÑÐµÐ½Ð¸Ñ Ð¸ иÑÑледований Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼Ð°ÑемаÑиÑеÑÐºÐ¸Ñ ÐºÐ¾Ð½ÑÑÑÑкÑий в алгебÑе, геомеÑÑии, ÑеоÑии ÑиÑел, ÑиÑленнÑÑ Ð²ÑÑиÑлениÑÑ Ð¸ Ñ.д. Sage ÑпÑоÑÐ°ÐµÑ Ð¸Ð½ÑеÑакÑивное ÑкÑпеÑименÑиÑование Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼Ð°ÑемаÑиÑеÑÐºÐ¸Ñ Ð¾Ð±ÑекÑов. - **ÐÑÑекÑивнÑй:** ÐÑдÑÑе бÑÑÑÑÑми в вÑÑиÑелниÑÑ . Sage иÑполÑзÑÐµÑ Ð²ÑÑокоопÑимизиÑованное пÑогÑаммное обеÑпеÑение, как GMP, PARI, GAP, and NTL, и поÑÑÐ¾Ð¼Ñ ÑвлÑеÑÑÑ Ð¾ÑÐµÐ½Ñ Ð±ÑÑÑÑÑм в опеÑаÑиÑÑ . - СвободнÑй и оÑкÑÑÑÑй: ÐÑÑ Ð¾Ð´Ð½Ñй код должен бÑÑÑ Ñвободно доÑÑÑпнÑм, Ñем ÑамÑм пÑедоÑÑавлÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑм возможноÑÑÑ Ð¿Ð¾Ð½ÑÑÑ, ÑÑо именно вÑполнÑеÑÑÑ ÑиÑÑемой, и легко дополнÑÑÑ ÐµÐµ. Так же, как и маÑемаÑики пÑиобÑеÑаÑÑ Ð±Ð¾Ð»ÐµÐµ глÑбокое понимание ÑеоÑемÑ, ÑглÑблÑÑÑÑ Ð² ее доказаÑелÑÑÑво, лÑди, вÑполнÑÑÑие вÑÑиÑлениÑ, в ÑÐ¸Ð»Ð°Ñ Ð¿Ð¾Ð½ÑÑÑ, как ÑÑи вÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¿ÑоизводÑÑÑÑ, поÑиÑав докÑменÑиÑованнÑй иÑÑ Ð¾Ð´Ð½Ñй код. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе вÑÑиÑÐ»ÐµÐ½Ð¸Ñ Sage в ÑÐ²Ð¾Ð¸Ñ Ð¿ÑбликаÑиÑÑ , Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе бÑÑÑ ÑвеÑенÑ, ÑÑо ваÑи ÑиÑаÑели бÑдÑÑ Ð²Ñегда имеÑÑ Ð´Ð¾ÑÑÑп к Sage и вÑÐµÐ¼Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð¼Ñ ÐºÐ¾Ð´Ñ. ÐÑ Ñакже можеÑе аÑÑ Ð¸Ð²Ð¸ÑоваÑÑ Ð¸ пеÑеÑаÑпÑеделÑÑÑ Ð¸ÑполÑзÑемÑÑ Ð²ÐµÑÑÐ¸Ñ Sage. - **Ðегко компилиÑÑемÑй:** Sage должно бÑÑÑ Ð»ÐµÐ³ÐºÐ¾ ÑкомпилиÑоваÑÑ Ð¸Ð· иÑÑ Ð¾Ð´Ð½ÑÑ ÐºÐ¾Ð´Ð¾Ð² под GNU/Linux, OS X и Windows. ÐÑо пÑедоÑÑÐ°Ð²Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑм возможноÑÑÑ Ð¼Ð¾Ð´Ð¸ÑиÑиÑоваÑÑ Ð¸ опÑимизиÑоваÑÑ ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾Ð´ Ñвои пÑедпоÑÑениÑ. - **ÐзаимодейÑÑвие:** ÐбеÑпеÑиÑÑ Ð¿ÑоÑÑÑе и надежнÑе инÑеÑÑейÑÑ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð´ÑÑÐ³Ð¸Ñ ÑиÑÑем компÑÑÑеÑной алгебÑÑ, вклÑÑÐ°Ñ PARI, GAP, Singular, Maxima, KASH, Magma, Maple, and Mаthematica. Sage Ñоздан Ð´Ð»Ñ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑей ÑÑÑеÑÑвÑÑÑего маÑемаÑиÑеÑкого пÑогÑаммного обеÑпеÑениÑ. - **ХоÑоÑо докÑменÑиÑованнÑй:** ÐÑ Ð¸Ð¼ÐµÐµÑе доÑÑÑп к ÑÑÐµÐ±Ð½Ð¾Ð¼Ñ Ð¿Ð¾ÑобиÑ, ÑÑководÑÑÐ²Ñ Ð¿Ð¾ пÑогÑаммиÑованиÑ, ÑпÑавоÑÐ½Ð¾Ð¼Ñ ÑÑководÑÑÐ²Ñ Ð¸ how-to, вклÑÑаÑÑие в ÑÐµÐ±Ñ Ð¼Ð½Ð¾Ð³Ð¾ÑиÑленнÑе пÑимеÑÑ Ð¸ обÑÑждение маÑемаÑиÑеÑкой подоплеки. - **РаÑÑиÑÑемÑй:** ÐбÑÑвлÑйÑе новÑе ÑÐ¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð»Ð¸ ÑаÑÑиÑÑйÑе вÑÑÑоеннÑе, иÑполÑзÑйÑе код, напиÑаннÑй во множеÑÑве ÑзÑков. - **ÐÑÑжеÑÑвеннÑй:** Ðам бÑÐ´ÐµÑ Ð»ÐµÐ³ÐºÐ¾ понимаÑÑ ÑÑнкÑионалÑноÑÑÑ Ð»Ñбого обÑекÑа, а Ñакже пÑоÑмаÑÑиваÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ Ð¸ иÑÑ Ð¾Ð´Ð½Ñй код. Также имейÑе в Ð²Ð¸Ð´Ñ Ð²ÑÑокий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки полÑзоваÑелей.