PARI/GP

С Википедије, слободне енциклопедије
PARI/GP
Програмер(и)Henri Cohen, Karim Belabas, et al., at the Université Bordeaux 1
Стабилно издање
2.7.5 / 9. новембар 2015. год.; пре 8 година (2015-11-09)
Репозиторијум Уреди на Википодацима
Написан уC
Оперативни системCross-platform
ТипРачунарски алгебарски систем
ЛиценцаGPL
Веб-сајтpari.math.u-bordeaux.fr

PARI/GP је рачунарски алгебрски систем са главним циљем да олакша прорачуне теорије бројева. Верзија 2.1.0 и више се дистрибуирају под ГНУ-овом јавном лиценцом. Ради на већини уобичајених оперативних система.

Преглед система[уреди | уреди извор]

PARI/GP систем је пакет који је способан да ради формалне прорачуне рекурзивне врсте при великој брзини; то је првенствено усмерено на број теоретичара. Његове три главне предности су брзина, могућност директног коришћења типова података  познатих математичара, и његов велики алгебарски број теорија модула.

PARI/GP систем се састоји од следећих стандардних компоненти:

  • PARI је C библиотека, што омогућава брзе прорачуне, а који могу бити позвани из апликације на високом нивоу језика (на пример, писане у C, C++, Паскал, Фортран , Перл, и Пајтон).
  • gp је једноставан за коришћење интерактивне интерфејс командне линије и дају приступ ПАРИ функцији. Функционише као софистициран програмирани калкулатор који садржи већину контролних упутстава стандардног језика као што је C. ГП је име скрипт језика ГП која се може користити за програмирање гп.

Такође, доступан је gp2c, GP-to-C компајлеру, који саставља GP скрипте у  C језику и транспарентно учитава настале функције у гп. Предност овога је да ће gp2c-скрипте обично радити три до четири пута брже. gp2c разуме готово свим ГП, са изузетком Lists.

PARI/GP обавља произвољне прецизне прорачуне (нпр могу бити милиони цифара и милијарде цифара на 64-битним машинама). То може израчунати факторизацију, обављати елиптичке прорачуне криве и обављати алгебарске прорачуне теорије бројева. Такође омогућава прорачуне са матрицама, полинома, степени ред, алгебарски бројеви и спроводити многе посебне функције.

PARI/GP долази са сопственим графичким способностима цртања. PARI/GP има симболичку манипулациону способност, на пример, мултиваријантни полиноми и рационална функција руковања. Она такође има неке интеграције и диференцијацију способности.

PARI/GP се може саставити са GMP (GNU Multiple Precision Arithmetic Library) обезбеђивањем брзих прорачуна на PARI/GP's матерњем произвољном прецизности језгра.

Историја[уреди | уреди извор]

PARI/GP's progenitor was a program named Isabelle, an interpreter for higher arithmetic, written in 1979 by Henri Cohen and François Dress at the Université Bordeaux 1.[1]

PARI/GP је првобитно развијен у 1985 од стране тима који предводи Henri Cohen у Лабораторији А2X и сада одржава Karim Belabas на Универзитету Бордо 1 уз помоћ многих добровољаца сарадника.

Етимологија[уреди | уреди извор]

Име PARI је игра речи о раним фазама пројекта када су аутори почели да спроводе библиотеку "Паскал аритметика" у програмском језику Паскал (мада су брзо прешли на C), а након "pari de Pascal" (Pascal's Wager).[2]

Прва верзија ГП калкулатора је првобитно названа ГПЦ. Из неког разлога, пратећи C је на крају пао.[2]

Примери коришћења[уреди | уреди извор]

Испод су неки узорци коришћења ГП калкулатора:

? \p 212
   realprecision = 221 significant digits (212 digits displayed)
? (1.378-0.09143*I)^(14.87+0.3721*I)
time = 0 ms.
%1 = 80.817082637557070449383034933010288336925078193546211741027496566803185
11092579265743992920628314516739962724446042667886245322716456966120413965187
3272488827365261487845201056199035423784093096984005713791800191 - 94.8384618
89186304973351271821601500916571303364865064205039706592481303045713982306764
33264430511752515705768858710051382035377195497482934017239179757538824688799
0680136241031895212412150770309289450962931402933*I

? 123456! + 0.
time = 1,656 ms.
%2 = 2.6040699049291378729513930560926568818273270409503019584610185579952057
37967683415793560716617127908735520017061666000857261271456698589373086528293
4317244121152865814030204645985573419251305342231135573491050756 E574964

? sin(x)
time = 0 ms.
%3 = x - 1/6*x^3 + 1/120*x^5 - 1/5040*x^7 + 1/362880*x^9 - 1/39916800*x^11
+ 1/6227020800*x^13 - 1/1307674368000*x^15 + O(x^17)

? for(z=25,30, print (factor(2^z-1)))
[31, 1; 601, 1; 1801, 1]
[3, 1; 2731, 1; 8191, 1]
[7, 1; 73, 1; 262657, 1]
[3, 1; 5, 1; 29, 1; 43, 1; 113, 1; 127, 1]
[233, 1; 1103, 1; 2089, 1]
[3, 2; 7, 1; 11, 1; 31, 1; 151, 1; 331, 1]
time = 5 ms.

? K = bnfinit(x^2 + 23); K.cyc
time = 1ms.
%4 = [3]
/* This number field has class number 3. */

Види још[уреди | уреди извор]

  • Sage, вишеструки-математички софтвер пакет који укључује PARI/GP као један од његових компоненти

Референце[уреди | уреди извор]

  1. ^ Dress, François (1979). „Le langage et l'interpréteur 'Isabelle', spécialement conçus pour utilisations arithmétiques”. Séminaire de Théorie des Nombres de Bordeaux. 9. 
  2. ^ а б "TRIVIA" section of "Manpage of GP," August 10, 2004

Спољашње везе[уреди | уреди извор]