Sage, et fantastisk matematisk værktøj til Linux
Når det kommer til at løse Maths Equation i Linux, har vi tidligere diskuteret GeoGebra, en software til geometri og 2D grafer. Men hvis du leder efter et mere kraftfuldt værktøj, skal du give Sage et forsøg. Vi har alle hørt om Matlab eller Magma, men Sage tilbyder et open source-alternativ til de to og er efter min mening enklere at bruge.
Installation
Salvie er altid under tung udvikling, hvilket betyder, at nye forbedringer tilføjes meget ofte. For at installere det fra kilden:
For det første skal du tilfredsstille nogle afhængigheder.
sudo apt-get install build-essential m4 gfortran libssl-dev dpkg-dev
Du kan derefter downloade kilderne fra den officielle side. Uddrag dem og fra en terminal, start scriptet
./lave
Bemærk : Du skal bruge omkring 3 GB ledig plads til at Sage fungerer korrekt. Sørg for at have dem, før du starter kompileringen (hvilket vil tage lidt tid).
Hvis du foretrækker den binære version, er der også en PPA tilgængelig til Ubuntu:
sudo apt-add-repository -y ppa: mål / sagemath sudo apt-get opdatering sudo apt-get install sagemath-upstream-binære
Du kan også installere alle de valgfrie pakker:
sudo apt-get install texlive evince xpdf xdvi tk8.5-dev
Anvendelse
For at starte Sage kan du gøre det med kommandoen
./sage
fra den hentede mappe.
Hvis du vil starte salvia fra hvor som helst, kan du oprette et symbolsk link med
ln -s [sti til sage launcher] / usr / local / bin / sage
eller endda lave et alias i din ~ / .bashrc fil som jeg gjorde:
alias sage = / home / adrien / salvie-5.2 / salvie
Sage er som standard et ikke-grafisk værktøj. Ved lanceringen skal du få noget som dette
Du har derefter valget: Fortsæt med konsollen, eller gå til den browserbaserede GUI ved at skrive
notesbog()
Begge er stort set ensbetydende med funktionalitet. GUI'en er mere intuitiv, især for plotter og grafer, men terminalen fungerer også fint. Med GUI'en skal du prøve kommandoen
cirkel ((0, 0), 1, rgbcolor = (1, 1, 0))
Du vil se en gul cirkel, der vises under den.
Hvis du gør det samme i konsollen, åbnes din standard billedfremviser og viser den samme cirkel.
Bemærk : Både GUI og konsollen har en funktion til automatisk færdiggørelse.
Nu hvor du har valgt Sage's interface, kan vi begynde at snakke om funktionerne selv. Sage er helt enorm, og jeg mener det. Der er bare ingen måde at vi kan diskutere alle aspekter af det i en artikel. I stedet vil jeg vise dig nogle få almindelige applikationer, som du måske vil prøve.
1. Regnemaskine
Ja, Sage kan lave nogle grundlæggende matematikker. Tilføjelse, multiplikation osv. Da det er skrevet hovedsageligt i Python, kan du også bruge python-syntaksen til at gøre ting som heltal division.
2. Polynomial rødder
Det er ret almindeligt at få et polynom og at bede om dets rødder. Med Sage opretter du først en polynomisk ring med
P.= PolynomialRing (RR)
hvor x vil være generatoren, og RR står for de reelle tal. Hvis du vil have din ring til at være over de rationelle tal for eksempel, skal du erstatte RR ved QQ. Du kopierer så dit polynom:
t = x ^ 2 - 25
Og så beder du om rødderne
t.roots ()
Bemærk : Dette vil returnere rødderne i basisringen af polynomet og deres multiplikationer. Hvis du vil have rødderne til at være fra en anden basisring, skal du sætte det som et argument for funktionen rødder ().
3. Matrix Inverse
Hvis du er en smule ind i handel eller økonomi, kan du have set matricer på et eller andet tidspunkt i dit liv. Generelt er der en hel proces for at finde inverserne af disse matricer. Nå, Sage gør det for dig meget enkelt. Opret din matrix over den base ring, du vil have.
m = matrix (QQ, [[1, 2], [3, 4]])
Og for at se efter sin omvendte:
m.inverse ()
4. Grafer
Sage har også nogle grafer. Tidligere tegner vi en cirkel med
cirkel ((0, 0), 1, rgbcolor = (1, 1, 0))
Jeg er ret sikker på, at du forstod, at den første parameter var cirklens center, den anden var radiusen, og den sidste var cirklens farve i RGB-standarden. Nå, du kan også plotte grundlæggende funktioner ved først at erklære en variabel:
x = var ('x')
Og brug derefter funktionen plot ():
plot (x ^ 3, (-10, 10))
Det første argument er funktionens ligning, den anden er spændingen. Så her bad jeg om den kubiske funktion vist fra -10 til 10 på x-plottet.
Bemærk : Hvis du har installeret Jmol, kan du endda lave 3D grafer ved at erklære to variabler
x, y = var ('x, y')
Og brug derefter funktionen plot3d ():
plot3d (x ^ 2 + y ^ 2, (x, -2, 2), (y, -2, 2))
5. Løsning af ligninger
Nogle gange ønsker vi en løsning for en ligning, men regnemaskinen giver os kun en tilnærmelse. Det er endnu værre, hvis der er andre variable i den ligning, og at vi vil have løsningen udtrykt i funktion af dem. I mange år i gymnasiet blev jeg fast ved at gøre det manuelt. Hvor dumt! Salvie gør det perfekt Erklære alle dine variabler
x, a, b, c = var ('xab c')
Og så brug bare løsningen () funktionen, med ligningen (erne) som det første argument, og de variabler (r), som du ønsker at blive udtrykt efter:
løse ([x - 3 * a == 6, x + b * c == 10], x, b)
Jeg ønsker at jeg vidste det igen i gymnasiet ...
6. Differentiering og integration
Her er den ultimative ansøgning, når du er virkelig doven. Du kan bruge dette program til at differentiere og integrere funktioner. Som sædvanligt erklærer du dine variabler
x = var ('x')
Og brug derefter enten diff () eller integrat () -funktionen.
diff (x ^ 3 + 4 * x + 16, x)
til differentiering og
integral (x ^ 3 + 4 * x + 16, x)
til integration.
Konklusion
Sage er virkelig et utroligt værktøj. Syntaxen er hurtig at lære og forbliver ret standard. Ulempen er, at dokumentationen er virkelig noget, du bør læse for at få fat i hvad du virkelig kan gøre. Ansøgningerne er så mange, at det er let at gå tabt. Du kan gøre differentialekvationer sammen med kryptografi. Og det bliver så specifikt, at lige nu er en funktion til at finde spaltningsområdet for polynomier over finite felt under udvikling (ja, jeg har ingen anelse om, hvad det betyder enten).
Har du noget andet eksempel at foreslå? Et spørgsmål om Sage? Lad os vide det i kommentarerne.
Billedkredit: Maths af Big Stock Photo.