Кіріспе
Компьютерлік алгебралық жүйе Фермат (Пьер де Ферматтың есімімен аталған) - Фордэм университетінің профессоры Роберт Х. Льюис әзірлеген бағдарлама. Бұл компьютерлік алгебра жүйесі, онда есептелген элементтер бүтін сандар (еркін өлшемді), рационалдық сандар, нақты сандар, күрделі сандар, модульдік сандар, шекті өріс элементтері, көп өзгермелі полиномиялар, рационалдық функциялар немесе басқа полиномиялардың модульді полиномиялар болуы мүмкін. Қолданылудың негізгі бағыттары - көпвариантлы рационалды функция арифметикалық және көпвариантлы полиномиалдар сақиналары немесе рационалды функцияларға арналған матрицалық алгебра. Ферма трансценденттік функцияларды немесе символикалық интеграцияны оңайлатып көрсетпейді. Фермамен сессия әдетте рационалды немесе модульді "режимді" таңдап, жер өрісін (немесе жер сақинасын) орнатумен басталады. Бұған қоса кез келген сандағы символды айнымалылар қосылуы мүмкін, осылайша полиномиялық сақина мен оның үлестік өрісін жасайды. Бұдан басқа, кейбір көптік сандарды құрайтын кейбір көптік сандарды таңдап, бөлшек сақинасын құруға болады. Ақыр соңында Лоран көптік сандарына, теріс және оң экспоненттері барларға рұқсат беру мүмкін. Есептеулік сақина осылай құрылғаннан кейін барлық есептеулер осы сақинаның элементтері болып табылады. Есептеулік сақинаны сессияның соңында өзгертуге болады. Бір-бірін өте рекурсивті түрде шақыратын көптік gcd процедуралары шамамен 7000 жолдық кодты құрайды. Ферматтың матрицалық және матрицалық манипуляциялар үшін примитивтерде кеңінен салынған, мысалы субматрица, шашыраңқы матрица, детерминант, нормализация, бағандық азайту, жолдық эшелон, Смит нормальды формасы және матрицалық кері. Ол белгілі компьютерлік алгебра жүйелерінен, әсіресе көптүсті полиномиялы gcd-ден үнемі жылдам. Сонымен қатар ол кеңістікті тиімді пайдаланады. Фермадағы негізгі дерек элементі - көпвариантлы рационалдық функция немесе кволиномиал. Сан мен сандық бөлгіш - ортақ коэффициенті жоқ көптік. Көптамалар жалпы байланысқан тізімдер ретінде рекурсивті түрде іске асырылады, бұл кейбір жүйелерден айырмашылығы көптамаларды мономиалдар тізімі ретінде іске асырады. (Ең көп) шекті өрістерді іске асыру үшін пайдаланушы символдық айнымалыда азайтылмайтын монологиялық көптік табады, айталық, және Ферматқа оны өзгертуді тапсырады. Бұл рекурсивті түрде жалғастырылуы мүмкін және т.б. Төмен деңгейдегі деректер құрылымдары жаңадан құрылған осы жерде арифметика мен GCD-ді жеңілдету үшін құрылған. Екі арнайы өрістер, және олар бит деңгейінде тиімді жүзеге асырылады.
Fermat (named after Pierre de Fermat) is a program developed by Prof. Robert H. Lewis of Fordham University. It is a computer algebra system, in which items being computed can be integers (of arbitrary size), rational numbers, real numbers, complex numbers, modular numbers, finite field elements, multivariable polynomials, rational functions, or polynomials modulo other polynomials. The main areas of application are multivariate rational function arithmetic and matrix algebra over rings of multivariate polynomials or rational functions. Fermat does not do simplification of transcendental functions or symbolic integration. A session with Fermat usually starts by choosing rational or modular "mode" to establish the ground field (or ground ring) as or On top of this may be attached any number of symbolic variables thereby creating the polynomial ring and its quotient field. Further, some polynomials involving some of the can be chosen to mod out with, creating the quotient ring Finally, it is possible to allow Laurent polynomials, those with negative as well as positive exponents. Once the computational ring is established in this way, all computations are of elements of this ring. The computational ring can be changed later in the session. The polynomial gcd procedures, which call each other in a highly recursive manner, are about 7000 lines of code. Fermat has extensive built in primitives for array and matrix manipulations, such as submatrix, sparse matrix, determinant, normalize, column reduce, row echelon, Smith normal form, and matrix inverse. It is consistently faster than some well known computer algebra systems, especially in multivariate polynomial gcd. It is also space efficient. The basic data item in Fermat is a multivariate rational function or quolynomial. The numerator and denominator are polynomials with no common factor. Polynomials are implemented recursively as general linked lists, unlike some systems that implement polynomials as lists of monomials. To implement (most) finite fields, the user finds an irreducible monic polynomial in a symbolic variable, say and commands Fermat to mod out by it. This may be continued recursively, etc. Low level data structures are set up to facilitate arithmetic and gcd over this newly created ground field. Two special fields, and are more efficiently implemented at the bit level.
Тарих
Windows 10 арқылы және Bogdan Radu-ға арқасында қазір (2021 жылдың мамыр айы) Windows-та Fermat Linux-ты іске қосуға болады. Негізгі веб-бетті қараңыз http://home. Жақсы. net/lewis Fermat соңғы рет 2020 жылдың 20 мамырында жаңартылды (Mac және Linux; Windows-тың соңғы нұсқасы: 2011 жылдың 1 қарашасы). FFermat (Float Fermat) деп аталатын бұрынғы нұсқада негізгі сан түрі 18 цифрлы жылжымалы нүктелі сандар болып табылады. Бұл нұсқа сандық есептеу техникаларын қолданады, кең көлемді графикалық мүмкіндіктерге ие, күрделі полиномиялық gcd алгоритмі жоқ және тек Mac OS 9-ға арналған. Фермат бастапқыда DEC VAX үшін Паскальмен жазылған, содан кейін 1985-1996 жылдары Mac OS классикалық жүйесі үшін жазылған. 1998 жылы Microsoft Windows-қа көшірілді. 2003 жылы C тіліне аударылып, Linux (Intel машиналары) және Unix (Sparc/Sun) жүйесіне көшірілді. Бұл 98 мың C-код сызығы. FFermat және (ескі) Windows Fermat Pascal бастапқы коды шектеулі лицензия бойынша көпшілікке қолжетімді болды. Қолхат 2011 жылдың 25 шілдесінде қайта қаралып, жаңартылды (соңғы рет 2016 жылдың маусым айында, тағы бір рет 2020 жылдың 25 наурызында).
Fermat was last updated on 20 May 2020 (Mac and Linux; latest Windows version: 1 November 2011). In an earlier version, called FFermat (Float Fermat), the basic number type is floating point numbers of 18 digits. That version allows for numerical computing techniques, has extensive graphics capabilities, no sophisticated polynomial gcd algorithms, and is available only for Mac OS 9. Fermat was originally written in Pascal for a DEC VAX, then for the classic Mac OS during 1985–1996. It was ported to Microsoft Windows in 1998. In 2003 it was translated into C and ported to Linux (Intel machines) and Unix (Sparc/Sun). It is about 98,000 lines of C code. The FFermat and (old) Windows Fermat Pascal source code have been made available to the public under a restrictive license. The manual was extensively revised and updated on 25 July 2011 (latest small revision in June 2016, apparently another revision on 25 March 2020).