Fermat (datoralgebrasystem)

Fermat
Utvecklare Robert H. Lewis
Stabil frisättning
6,5 / 25 juni 2021 ; 20 månader sedan ( 2021-06-25 )
Skrivet i C
Operativ system macOS , klassiskt Mac OS , Linux , Unix , Windows
Typ Datoralgebrasystem
Licens Gratisprogram , GPL sedan 4 augusti 2018
Hemsida home .bway .net /lewis /

Fermat (uppkallad efter Pierre de Fermat ) är ett gratisprogram utvecklat av prof. Robert H. Lewis vid Fordham University . Det är ett datoralgebrasystem , i vilket objekt som beräknas kan vara heltal (av godtycklig storlek), rationella tal , reella tal , komplexa tal , modulära tal, finita fältelement , multivariabla polynom , rationella funktioner eller polynom modulo andra polynom. De huvudsakliga tillämpningsområdena är aritmetik för multivariat rationell funktion och matrisalgebra över ringar av multivariata polynom eller rationella funktioner. Fermat gör inte förenklingar av transcendentala funktioner eller symbolisk integration .

En session med Fermat börjar vanligtvis med att välja rationellt eller modulärt "läge" för att etablera markfältet ( eller markringen) som eller . Utöver detta kan valfritt antal symboliska variabler därigenom skapa polynomringen och dess kvotfält. Vidare kan vissa polynom som involverar några av väljas att modifieras med, vilket skapar kvotringen Slutligen är det möjligt att tillåta Laurent-polynom , de med negativa såväl som positiva exponenter. När väl beräkningsringen är etablerad på detta sätt, är alla beräkningar av element i denna ring. Beräkningsringen kan ändras senare i sessionen.

De polynomiella gcd -procedurerna, som anropar varandra på ett mycket rekursivt sätt, är cirka 7000 rader kod.

Fermat har omfattande inbyggda primitiver för array- och matrismanipulationer, såsom submatrix , sparse matrix , determinant , normalize , column reduce, row echelon , Smith normal form och matris invers . Det är genomgående snabbare än vissa välkända datoralgebrasystem, speciellt i multivariat polynom gcd. Det är också utrymmeseffektivt.

Grunddataposten i Fermat är en multivariat rationell funktion eller quolynomial. Täljaren och nämnaren är polynom utan gemensam faktor. Polynom implementeras rekursivt som allmänna länkade listor, till skillnad från vissa system som implementerar polynom som listor med monomial . För att implementera (de flesta) ändliga fält, hittar användaren ett irreducerbart moniskt polynom i en symbolisk variabel, säg och beordrar Fermat att modifiera den. Detta kan fortsätta rekursivt, etc. Lågnivådatastrukturer är inställda för att underlätta aritmetik och gcd över denna nyskapade markfält . Två specialfält, och mer effektivt vid biten nivå.

Historia

Med Windows 10, och tack vare Bogdan Radu, är det nu möjligt (maj 2021) att köra Fermat Linux inbyggt på Windows. Se huvudwebbsidan http://home.bway.net/lewis

Fermat uppdaterades senast den 20 maj 2020 (Mac och Linux; senaste Windows-versionen: 1 november 2011).

I en tidigare version, kallad FFermat (Float Fermat), är den grundläggande nummertypen flyttal med 18 siffror. Den versionen tillåter numeriska beräkningstekniker, har omfattande grafikmöjligheter, inga sofistikerade polynomial gcd-algoritmer och är endast tillgänglig för Mac OS 9.

Fermat skrevs ursprungligen i Pascal för en DEC VAX , sedan för det klassiska Mac OS under 1985–1996. Det portades till Microsoft Windows 1998. 2003 översattes det till C och portades till Linux (Intel-maskiner) och Unix (Sparc/Sun). Det handlar om 98 000 rader C-kod.

FFermat och (gamla) Windows Fermat Pascal- källkoden har gjorts tillgängliga för allmänheten under en restriktiv licens.

Manualen reviderades och uppdaterades omfattande den 25 juli 2011 (senaste mindre revidering i juni 2016, tydligen ytterligare en revidering den 25 mars 2020).

Se även

externa länkar