Fermat (računarski algebarski sistem)
Fermat je besplatan program razvijen od strane prof Robert H. Lewis sa Fordham University. To je računarski algebarski sitem, u kom obračunate stavke mogu biti celi brojevi (proizvoljne veličine)racionalni brojevi, realni brojevi, kompleksni brojevi, modularni brojevi, konačni elementi na terenu, Multivarijabilni polinomi, racionalne funkcije, ili polinomi po modulu drugih polinoma. Glavne oblasti primene su multivarijaciona racionalna funkcija aritmetike i matrice algebre preko prstena multivarijantne polinoma ili racionalne funkcije. Fermat ne radi pojednostavljenja transcendentalnih funkcija ili simboličke integracije.[1]
Programer(i) | Robert H. Lewis |
---|---|
Prvo izdanje | 1999. god. |
Stabilno izdanje | 3.9.9x
/ 23. jul 2011. god. |
Napisan u | C |
Operativni sistem | Mac OS X, Mac OS, Linux, Unix, Windows |
Tip | Računarski algebarski sistem |
Licenca | Freeware |
Veb-sajt | home |
Sednica sa Fermat obično počinje izborom racionalnog ili modulara "mode" za uspostavljanje oblasti kao ili . Povrh toga može se priložiti bilo koji broj simboličkih varijanti čime se stvara polinomalni prsten i njen koeficijent. Dalje, neki polinomi ukljucivanjem nekih od može biti izabran za mod, stvarajući količnik prstena Konačno, moguće je dozvoliti Laurent polinome, one sa negativnim kao i one sa pozitivnim eksponentima. Kada je kompjuterski prsten osnovan na ovaj način, svi proračuni su elementi ovog prstena. Računarski prsten se može promeniti kasnije na sednici.
Polinomi gcd procedure, koji pozivaju jedni druge u veoma rekurzivnan način, imaju oko 7000 linija kodova.
Ferma ima izvanredno ugrađene primitive za array i matrice manipulacije, kao što su submatrica, sparse matrix, determinanta, kolona smanjenja, row echelon,Smitova normalna forma, i inverzna matrica . On je konstantno brži od nekih poznatih kompjuterskih algebarskih sistema, posebno u multivarijacionom polinomu gcd. To je takođe efikasan prostor.
Osnovni podatak u Fermat je multivarijante racionalnih funkcija ili quolynomial. Brojilac i imenilac su polinomi bez zajedničkog faktora. Polinomi se rekursivno sprovode kao opšte povezane liste, za razliku od nekih sistema koje sprovode polinomi kao liste monomalisa. Za implementaciju (većina) konačnih polja, korisnik pronalazi irreducible monic polinoma u simboličko promenljive, kažu p(t_1), a komande Fermat mod od strane njega. Ovo može se nastaviti rekurzivno, i td. Nizak nivo strukture podataka su postavili da olakšaju aritmetičke i gcd nad ovom novonastalom prizemlju oblasti. Dva posebna polja, i se efikasnije sprovode na nivou bita.
Da bi pomogli implementaciju Dikon rezultantne tehnike, posebne karakteristike su dodate determinantama funkcije. Oni pružaju dramatičan porast brzine nastalih proračuna sa sistemima jednačina polinoma koje ispoljavaju simetriju.
Fermat pruža kompletan programski jezik. Programi i podaci mogu biti sačuvani u običnom tekst fajlu koji može biti ispitan kao što je, nekoj kasnijoj sednici, ili pročitao neki drugi softverski sistem.
Istorija uredi
Fermat je poslednji put ažuriran 10. novembra , 2011 (Windows), Novembar 3, 2011 (Mac and Linux).
U ranijoj verziji, pod nazivom FFermat (Float Fermat), osnovni tip broja je plivajuća tačka od 18 cifara. Ta verzija omogućava numeričke računarske tehnike, ima izvanredne grafičke mogućnosti, nema sofisticirane polinome gcd algoritma, i dostupan je samo za Mac OS 9 .
Fermat je originalno napisan u Pascal ra DEC Vax, zatima za Mac OS tokom 1985 - 1996. Pa je prenet u Windows u 1998. U 2003 je preveden u C i koristi se u Linux (Intel mašine) i Unix (Sparc/Sun). To je oko 98.000 linija C kodova.
FFermati (stari)Windows Fermat Pascal izvorni kodovi su dostupni javnosti sa restriktivnom licencom.
Priručnik je intenzivno revidiran i ažuriran 25. jula 2011. godine.