Når det gjelder å løse matematikkligningen i Linux, har vi tidligere diskutert GeoGebra, en programvare for geometri og 2D-grafer. Men hvis du er ute etter et kraftigere verktøy, bør du prøve å prøve Sage. Vi har alle hørt om Matlab eller Magma, men Sage tilbyr en åpen kildekode alternativ til de to, og er etter min mening enklere å bruke.

Installasjon

Sage er alltid under tung utvikling, noe som betyr at nye forbedringer legges til svært ofte. For å installere den fra kilden:

Først må du tilfredsstille noen avhengigheter.

 sudo apt-get install build-essential m4 gfortran libssl-dev dpkg-dev 

Du kan deretter laste ned kildene fra den offisielle siden. Trekk ut dem og fra en terminal, start scriptet

 ./gjøre 

Merk : Du trenger rundt 3 GB ledig plass for Sage å fungere skikkelig. Pass på at du har dem før du starter kompileringen (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: mål / sagemath sudo apt-get oppdatering sudo apt-get install sagemath-oppstrøms-binær 

Du kan også installere alle valgfrie pakkene:

 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 vil starte salvia fra hvor som helst, kan du opprette en symbolsk lenke med

 ln-s [sti til sage launcher] / usr / local / bin / sage 

eller til og med lage et alias i din ~ / .bashrc-fil som jeg gjorde:

 alias sage = / hjem / adrien / salvie-5.2 / salvie 

Sage er et ikke-grafisk verktøy som standard. Ved lanseringen bør du få noe slikt

Du har da valget: Fortsett med konsollen, eller gå til den nettleserbaserte GUI ved å skrive

 notisbok() 

Begge er ganske mye tilsvarende når det gjelder funksjonalitet. GUI er mer intuitiv, spesielt for plott og grafer, men terminalen fungerer også fint. Med GUI, prøv kommandoen

 sirkel ((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 standard bildeviseren og viser den samme kretsen.

Merk : Både GUI og konsollen har en funksjon for automatisk fullføring.

Nå som du har valgt Sage grensesnitt, kan vi begynne å snakke om funksjonene selv. Sage er helt enorm, og jeg mener det. Det er bare ingen måte at vi kan diskutere alle aspekter av det i en artikkel. I stedet vil jeg vise deg noen vanlige applikasjoner som du kanskje vil prøve.

1. Kalkulator

Ja, Sage kan gjøre noen grunnleggende matte. Addisjon, multiplikasjon, etc. Siden det er skrevet hovedsakelig i Python, kan du også bruke python syntaksen til å gjøre ting som heltall divisjon.

2. Polynomialrøtter

Det er ganske vanlig å få et polynom og å be om sine røtter. Med Sage lager du først en polynomisk ring med

 P.  = PolynomialRing (RR) 

hvor x vil være generatoren, og RR står for de reelle tallene. Hvis du vil at ringen din skal være over de rasjonelle tallene, for eksempel, erstatt RR ved QQ. Du kopierer deretter ditt polynom:

 t = x ^ 2 - 25 

Og du ber deg om røttene

 t.roots () 

Merk : Dette vil returnere røttene i basen ringen av polynomet og deres multiplikasjoner. Hvis du vil at røttene skal være fra en annen basisring, sett den som et argument for røttene () -funksjonen.

3. Matrix Inverse

Hvis du er litt i handel eller økonomi, kan du ha sett matriser på et tidspunkt i livet ditt. Generelt er det en hel prosess for å finne inversene av disse matrices. Vel, Sage gjør det for deg veldig enkelt. Lag matrisen over basen ringen du vil ha.

 m = matrise (QQ, [[1, 2], [3, 4]]) 

Og å se etter sin omvendte:

 m.inverse () 

4. Grafer

Sage har også noen grafikkapasiteter. Tidligere tegner vi en sirkel med

 sirkel ((0, 0), 1, rgbcolor = (1, 1, 0)) 

Jeg er ganske sikker på at du forsto at den første parameteren var sirkelens senter, den andre var radiusen, og sist 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 plottet () -funksjonen:

 plot (x ^ 3, (-10, 10)) 

Det første argumentet er funksjonsligningen, den andre er spenningen. Så her ba jeg om den kubiske funksjonen vist fra -10 til 10 på x-plottet.

Merk : Hvis du har installert Jmol, kan du til og med gjøre 3D-grafer ved å deklarere to variabler

 x, y = var ('x, y') 

Og bruk deretter plot3d () -funksjonen:

 plot3d (x ^ 2 + y ^ 2, (x, -2, 2), (y, -2, 2)) 

5. Løse likninger

Noen ganger ønsker vi en løsning for en ligning, men kalkulatoren gir oss bare en tilnærming. Det er enda verre om det finnes noen andre variabler i den ligningen, og at vi vil ha løsningen uttrykt i funksjon av dem. I mange år i videregående skole ble jeg satt fast manuelt. Hvor dumt! Sage gjør det perfekt. Erklære alle variablene dine

 x, a, b, c = var ('xab c') 

Og så bruk bare løse () -funksjonen, med ligningen (e) som det første argumentet, og variabelen (e) som du vil bli uttrykt etter:

 løse ([x - 3 * a == 6, x + b * c == 10], x, b) 

Jeg ønsker at jeg visste det tilbake på videregående skole ...

6. Differensiering og integrasjon

Her er den ultimate applikasjonen når du er veldig lat. Du kan bruke dette programmet til å skille og integrere funksjoner. Som vanlig erklærer du variablene dine

 x = var ('x') 

Og bruk deretter enten diff () eller integrate () -funksjonen.

 diff (x ^ 3 + 4 * x + 16, x) 

for differensiering og

 integral (x ^ 3 + 4 * x + 16, x) 

for integrering.

Konklusjon

Sage er virkelig et utrolig verktøy. Syntaxen er rask å lære og holder seg ganske standard. Ulempen er at dokumentasjonen er virkelig noe du bør lese for å få tak i hva du egentlig kan gjøre. Applikasjonene er så mange at det er lett å gå seg vill. Du kan gjøre differensialligninger sammen med kryptografi. Og det blir så spesifikt at en funksjon for å finne splittfeltet av polynomier over sluttfelt er 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.

Bilde kreditt: Matematikk av stor lagerfoto.