51c89f27975b47fa662909b7ab6a28c2.ppt
- Количество слайдов: 17
2^1500=35074662110434038747627587960280857993524015880330828824075798024790963850563322203657080886584969261653150406 795437517399294548941469959754171038918004700847889956485329097264486802711583462946536682184340138629451355458264946 342525383619389314960644665052551751442335509249173361130355796109709885580674313954210217657847432626760733004753275 317192133674703563372783297041993227052663333668509952000175053355529058880434182538386715523683713208549376 СИСТЕМА КОМПЬЮТЕРНОЙ АЛГЕБРЫ GAP
Как расшифровать “GAP” ? • Groups • Algorithms • Programming
Что такое GAP ? • Компьютерная алгебра – современная область науки, возникшая на стыке математики и информационных технологий. Ее предметом является осуществление символьных вычислений с помощью ЭВМ (например, разложение многочлена на множители, аналитическое интегрирование и дифференцирование, разнообразные задачи дискретной математики, в т. ч. проверка изоморфизма графов, сборка Кубика Рубика и др. ). • Технический прогресс привел к появлению различных программных продуктов для символьных вычислений – т. наз. систем компьютерной алгебры. Наиболее известны из них свободно распространяемые системы GAP, KANT, Singular, коммерческие системы MAGMA, Maple, Mathematica, Statistica, Math. CAD, Math. Lab, и др.
В чем преимущества GAP ? Система GAP: • Открытая • Расширяемая • Свободно распространяемая
Из чего состоит GAP ? · ядро, обеспечивающее интерпретацию языка GAP, работу с системой в программном и интерактивном режиме · библиотека функций, в которой реализованы разнообразные алгебраические алгоритмы (более 4000 пользовательских функций, более 140000 строк программ на языке GAP) · библиотека данных, в т. ч. библиотека всех групп порядка не более 2000, за исключением 49487365422 групп порядка 1024, количество которых также было определено с помощью системы GAP ! · обширная (более 1500 стр. ) документация, доступная в разнообразных форматах (tex, ps, pdf, html), а также через Интернет.
Что может GAP ? • Определить, что кубик Рубика имеет 43252003274489856000 различных состояний и собрать его из произвольного начального состояния в среднем за 100 ходов • Вычислить 6320430 цифр 40 -го числа Мерсенна 220996011 -1, являющегося на сегодня самым большим из известных науке простых чисел
Что дает применение GAP ? • Студенту : лучшее усвоение основных понятий курса алгебры и теории чисел • Преподавателю : средство автоматизации рутинных математических вычислений • Исследователю : инструмент для выдвижения и тестирования гипотез
Как получить GAP ? • Дистрибутив (от минимальной до профессиональной версии): http: //www. zsu. zp. ua/ukrgap/ или http: //ukrgap. exponenta. ru • CHIP-CD № 9 / 2004 • Сайт системы: http: //www. gap-system. org • Система установлена в компьютерных классах ЗГУ (“gap 4 r 4” на сетевом диске)
Как научиться работать с GAP ? • Методическое пособие и раздел «Изучаем алгебру с GAP» на сайтах Украинской группы пользователей GAP: http: //www. zsu. zp. ua/ukrgap/ и http: //ukrgap. exponenta. ru • Рассылка новостей группы: http: //subscribe. ru/catalog/science. exact. gap/ • Сайт системы: http: //www. gap-system. org
############### # ##### ####### ##### ############### ###### ########## ##### ##### ################ ##### ###### ######### ##### ##### ###### ############# #### ##### ############# ##### ##### #### Information at: http: //www. gap-system. org Try '? help' for help. See also '? copyright' and '? authors' Loading the library. Please be patient, this may take a while. GAP 4, Version: 4. 4. 3 of 3 -May-2004, i 686 -pc-cygwin-gcc Components: small 2. 0, small 2 2. 0, small 3 2. 0, small 4 1. 0, small 5 1. 0, small 6 1. 0, small 7 1. 0, small 8 1. 0, id 2 3. 0, id 3 2. 1, id 4 1. 0, id 5 1. 0, id 6 1. 0, trans 1. 0, prim 2. 1 loaded. Packages: AClib 1. 1, Polycyclic 1. 1, Alnuth 1. 0, Cryst. Cat 1. 1. 2, Cryst 4. 1. 4, Aut. PGrp 1. 2, CTbl. Lib 1. 1. 3, Tom. Lib 1. 1. 1, Fact. Int 1. 3. 1, GAPDoc 0. 9999, LAGUNA 3. 3, Sophus 1. 11, Polenta 1. 1, Res. Classes 1. 1. 1 loaded. gap>
gap> 2^64; 18446744073709551616 gap> 2^10000; 19950631168807583848837421626835850838234968318861924548520089498529438830221946631919961684036194 59789933112942320912427155649134941378111759378593209632395785573004679379452676524655126605989552 05500869181933115425086084606181046855090748660896248880904898948380092539416332578506215683094739 02556912388065225096643874441046759871626985453222868538161694315775629640762836880760732228535091 64147618395638145896946389941084096053626782106462142733339403652556564953060314268023496940033593 43166514592977732796657756061725820314079941981796073782456837622800373028854872519008344645814546 50557929601414833921615734588139257095379769119277800826957735674444123062018757836325502728323789 27071037380286639303142813324140162419567169057406141965434232463880124885614730520743199225961179 62501309928602417083408076059323201612684922884962558413128440615367389514871142563151110897455142 03313820202931640957596464756010405845841566072044962867016515061920631004186422275908670900574606 41785695191145605506825125040600751984226189805923711805444478807290639524254833922198270740447316 23767608466130337787060398034131971334936546227005631699374555082417809728109832913144035718775247 68509857276937926433221599399876886660808368837838027643282775172273657572744784112294389733810861 60742325329197481312019760417828196569747589816453125843413595986278413012818540628347664908869052 10475808826158239619857701224070443305830758690393196046034049731565832086721059133009037528234155 39745394397715257455290510212310947321610753474825740775273986348298498340756937955646638621874569 49927901657210370136443313581721431179139822298384584733444027096418285100507292774836455057863450 11008529878123894739286995408343461588070439591189858151457791771436196987281314594837832020814749 82171858011389071228250905826817436220577475921417653715687725614904582904992461028630081535583308 13010198767585623434353895540917562340084488752616264356864883351946372037729324009445624692325435 04006780272738377553764067268986362410374914109667185570507590981002467898801782719259533812824219 54028302759408448955014676668389697996886241636313376393903373455801407636741877711055384225739499 11018646821969658165148513049422236994771476306915546821768287620036277725772378136533161119681128 07926694818872012986436607685516398605346022978715575179473852463694469230878942659482170080511203 22365496288169035739121368338393591756418733850510970271613915439590991598154654417336311656936031 12224993796999922678173235802311186264457529913575817500819983923628461524988108896023224436217377 16180863570154684840586223297928538756234865564405369626220189635710288123615675125433383032700290 97668650568557157505516727518899194129711337690149916181315171544007728650573189557450920330185304 84711381831540732405331903846208403642176370391155063978900074285367219628090347797453332046836879 58685802379522186291200807428195513179481576244482985184615097048880272747215746881315947504097321 15080498190455803416826949787141316063210686391511681774304792596709376
gap> vec : = [ 1, 4, -3, 2, 10 ]; [ 1, 4, -3, 2, 10 ] gap> w : = 2 * vec; [ 2, 8, -6, 4, 20 ] gap> u : = [ 1, 1/3, 2/5, 10, 0 ]; [ 1, 1/3, 2/5, 10, 0 ] gap> u + w; [ 3, 25/3, -28/5, 14, 20 ] gap> u * w; 634/15 gap> Sum( List([1. . 5], i -> u[i]*w[i]) ); 634/15
gap> x: =[3, 4, 5]; ; y: =[1, 2, 4]; ; z: =[-3, 8, 0]; ; gap> a: =1/2*x+5*y; ; gap> Determinant([x, y, z]); Determinant([x, y, a]); -74 0 gap> Vector. Product: =function(x, y) local z 1, z 2, z 3; z 1 : = x[2]*y[3] - x[3]*y[2]; z 2 : = x[3]*y[1] - x[1]*y[3]; z 3 : = x[1]*y[2] - x[2]*y[1]; return [ z 1, z 2, z 3 ]; end; function( x, y ). . . end gap> d: =Vector. Product(x, y); [ 6, -7, 2 ] gap> d*z; d*a; -74 0
gap> A: =[[3, -4, 0, 2], [4, -5, -2, 4], [0, 0, 3, -2], [0, 0, 2, -1]]; ; gap> Display(A); [ [ 3, -4, 0, 2 ], [ 4, -5, -2, 4 ], [ 0, 0, 3, -2 ], [ 0, 0, 2, -1 ] ] gap> Determinant. Mat(A); 1 gap> Display(A^-1); [ [ -5, 4, 4, -2 ], [ -4, 3, 2, 0 ], [ 0, 0, -1, 2 ], [ 0, 0, -2, 3 ] ] gap> A*A^-1=Identity. Mat(4); true gap> f: =Characteristic. Polynomial(A); x_1^4 -2*x_1^2+1 gap> Roots. Of. UPol(f); [ 1, 1, -1 ] gap> Factors(f); [ x_1 -1, x_1+1, x_1+1 ]


