Sage, et flott matematisk verktøy for Linux

Når det gjelder å løse matematiske ligninger på Linux, har vi tidligere diskutert GeoGebra, en programvare for geometri og 2D-grafikk. Men hvis du ser etter kraftigere verktøy, bør du prøve Sage. Vi har alle hørt om Matlab eller Magma, men Sage tilbyr et åpen kildekode-alternativ til disse to, og er, etter min mening, enklere å bruke.
Anlegget
Sage er alltid under utvikling, noe som betyr at nye forbedringer legges til veldig ofte. For å installere det fra kilden:
Først av alt må du tilfredsstille noen avhengigheter.
sudo apt-get install build-essential m4 gfortran libssl-dev dpkg-dev
Du kan deretter laste ned skriftene fra den offisielle siden til . Trekk dem ut og start skriptet fra en terminal
./hacer
Merk : Du trenger omtrent 3 GB ledig plass for at Sage skal fungere skikkelig. Sørg for at du har dem før du slipper konstruksjonen (noe som vil ta litt tid).
Hvis du foretrekker den binære versjonen, er det også en PPA tilgjengelig for Ubuntu:
sudo apt-add-repository -y ppa:aims/sagemath sudo apt-get update sudo apt-get install sagemath-upstream-binary
Du kan også installere alle valgfrie pakker:
sudo apt-get install texlive evince xpdf xdvi tk8.5-dev
Bruk
For å starte Sage, kan du gjøre det med kommandoen
./sage
fra den nedlastede katalogen.
Hvis du ønsker å lansere salvie fra hvor som helst, kan du opprette en symbolsk kobling med
ln -s[path to the sage launcher] /usr/local/bin/sage
eller til og med lage et alias i ~/.bashrc-filen din som jeg gjorde:
alias sage=/home/adrien/sage-5.2/sage
Sage er et ikke-grafisk verktøy som standard. Ved lansering bør du få noe slikt
Du har da muligheten: fortsett med konsollen, eller gå til den nettleserbaserte GUI ved å skrive
notebook()
Begge er praktisk talt like når det gjelder funksjonalitet. Det grafiske brukergrensesnittet er mer intuitivt, spesielt for diagrammer og grafer, men terminalen fungerer ganske bra også. Bruk GUI, prøv kommandoen
circulo((0,0), 1, rgbcolor=(1,1,0))
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
Du vil se en gul sirkel som vises under den.
Hvis du gjør det samme i konsollen, åpnes standardbildevisningen og viser den samme sirkelen.
Merk : Både GUI og konsollen har en autofullføringsfunksjon.
Nå som du har valgt sage-grensesnittet, kan vi begynne å snakke om selve funksjonene. Salvie er helt enorm, og det mener jeg. Det er ingen måte vi kan diskutere alle aspekter i én artikkel. I stedet vil jeg vise deg noen vanlige apper du kanskje vil prøve.
1. Kalkulator
Ja, Sage kan gjøre litt grunnleggende matematikk. Addisjon, multiplikasjon osv. Siden det primært er skrevet i Python, kan du også bruke python-syntaks til å gjøre ting som heltallsdivisjon.
2. Polynomrøtter
Det er ganske vanlig å få et polynom og bedt om dets røtter. Med Sage lager du først en polynomring med
P.x> = PolynomialRing(RR)
hvor x vil være generatoren, og RR betyr de reelle tallene. Hvis du vil at ringen din skal være over rasjonelle tall, for eksempel, erstatt RR med QQ. Deretter kopierer du polynomet ditt:
t = x^2 - 25
Og så spør du etter røttene
t.roots()
Merk : dette vil returnere røttene i basisringen til polynomet og dets multiplisiteter. Hvis du vil at røttene skal være fra en annen grunnring, send den som et argument til roots()-funksjonen.
3. Invers matrise
Hvis du er litt interessert i business eller økonomi, kan det hende du har sett matriser på et tidspunkt i livet ditt. Generelt er det en hel prosess for å finne inversen til disse matrisene. Vel, Sage gjør det veldig enkelt for deg. Lag din matrise på baseringen du ønsker.
m = matriz(QQ, [[1, 2],[3, 4]]])
Og finn det motsatte:
m.inverse()
4. Grafikk
Sage har også noen grafiske muligheter. Før vi tegner en sirkel med
circulo((0,0), 1, rgbcolor=(1,1,0))
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
Jeg er ganske sikker på at du forsto at den første parameteren var sentrum av sirkelen, den andre var radius, og den siste var fargen på sirkelen i RGB-standarden. Vel, du kan også plotte grunnleggende funksjoner ved først å erklære en variabel:
x = var('x')
Og bruk deretter plot()-funksjonen:
plot(x^3, (-10,10))
Det første argumentet er ligningen til funksjonen, det andre er spennet. Så her spurte jeg om den kubiske funksjonen vist fra -10 til 10 på x-grafen.
Merk : Hvis du har Jmol installert, kan du til og med lage 3D-plott ved å deklarere to variabler
x, y = var('x,y')
Og bruk deretter draw3d()-funksjonen:
plot3d(x^2 + y^2, (x,-2,2), (y,-2,2))
5. Løse ligninger
Noen ganger vil vi ha en løsning på en ligning, men kalkulatoren gir oss bare en tilnærming. Det er enda verre hvis det er andre variabler i den ligningen og vi vil at løsningen skal uttrykkes i form av dem. I flere år på videregående ble jeg sittende fast ved å gjøre det manuelt. For noe tull! Sage gjør det perfekt. Deklarer alle variablene dine
x, a, b, c = var('x a b c')
Og bruk deretter solve()-funksjonen, med ligningen(e) som det første argumentet, og variabelen(e) du vil uttrykkes etter:
solve([x - 3*a == 6, x + b*c == 10], x, b)
Skulle ønske jeg visste det på videregående...
6. Differensiering og integrasjon
Her er den ultimate appen når du er skikkelig lat. Du kan bruke dette programmet til å differensiere og integrere funksjoner. Som vanlig, deklarer variablene dine
x = var('x')
Og bruk deretter diff()-funksjonen eller integrate()-funksjonen.
diff(x^3 + 4*x + 16, x)
å differensiere og
integral(x^3 + 4*x + 16, x)
for integrering.
konklusjon
Salvie er virkelig et fantastisk verktøy. Syntaksen er rask å lære og forblir ganske standard. Ulempen er at dokumentasjonen virkelig er noe å lese for å forstå hva som faktisk kan gjøres. Appene er så mange at det er lett å gå seg vill. Du kan gjøre differensialligninger sammen med kryptografi. Og det blir så spesifikt at akkurat nå er en funksjon for å finne delingsfeltet til polynomer over det endelige feltet under utvikling (ja, jeg aner ikke hva det betyr heller).
Har du noe annet eksempel å foreslå? Et spørsmål om Sage? Gi oss beskjed i kommentarene.
Bildekreditt: matte av BigStockPhoto.
Hvis du vil lese flere artikler som Sage, et flott matematisk verktøy for Linux, kan du besøke kategorien Android.
Legg igjen en kommentar