När det gäller att lösa Maths Equation i Linux har vi tidigare diskuterat GeoGebra, en programvara för geometri och 2D-grafer. Men om du letar efter ett mer kraftfullt verktyg, bör du ge Sage ett försök. Vi har alla hört talas om Matlab eller Magma, men Sage erbjuder ett open source-alternativ till de två och är enligt min mening enklare att använda.

Installation

Sage är alltid under tung utveckling, vilket innebär att nya förbättringar läggs till mycket ofta. För att installera det från källan:

Först måste du tillfredsställa några beroenden.

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

Du kan sedan hämta källorna från den officiella sidan. Extrahera dem och från en terminal, starta manuset

 ./göra 

Obs! Du behöver cirka 3 GB ledigt utrymme för att Sage ska fungera korrekt. Var noga med att få dem innan du startar kompileringen (vilket kommer att ta lite tid).

Om du föredrar den binära versionen finns det även en PPA tillgänglig för Ubuntu:

 sudo apt-add-repository -y ppa: mål / sagemath sudo apt-få uppdatering sudo apt-get installera sagemath-upstream-binära 

Du kan också installera alla tillvalspaket:

 sudo apt-get install texlive evince xpdf xdvi tk8.5-dev 

Användande

För att starta Sage kan du göra det med kommandot

 ./salvia 

från den nedladdade katalogen.

Om du vill starta salvia från var som helst, kan du skapa en symbolisk länk med

 ln -s [sökväg till sage launcher] / usr / local / bin / sage 

eller ens skapa ett alias i din ~ / .bashrc-fil som jag gjorde:

 alias sage = / home / adrien / salvia-5.2 / salvia 

Sage är som standard ett icke-grafiskt verktyg. Vid lanseringen borde du få något sånt

Du har då valet: fortsätt med konsolen eller gå till den webbläsarbaserade GUI genom att skriva

 anteckningsbok() 

Båda är ganska mycket likvärdiga när det gäller funktionalitet. GUI är mer intuitivt, särskilt för diagram och diagram, men terminalen fungerar också bra. Med GUI, försök kommandot

 cirkel ((0, 0), 1, rgbcolor = (1, 1, 0)) 

Du kommer att se en gul cirkel som visas under den.

Om du gör detsamma i konsolen öppnas din standard bildvisare och visar samma cirkel.

Obs! Både GUI och konsolen har en autofyllningsfunktion.

Nu när du har valt Sage-gränssnittet, kan vi börja prata om funktionerna själva. Sage är helt enormt, och jag menar det. Det finns bara inget sätt att vi kan diskutera alla aspekter av det i en artikel. Istället kommer jag att visa dig några vanliga program som du kanske vill försöka.

1. Kalkylator

Ja, Sage kan göra några grundläggande matematik. Addition, multiplication etc. Eftersom det är skrivet huvudsakligen i Python, kan du också använda pythonsyntaxen för att göra saker som heltal.

2. Polynomiska rötter

Det är ganska vanligt att få ett polynom och fråga om sina rötter. Med Sage skapar du först en polynom ring med

 P.  = PolynomialRing (RR) 

där x kommer att vara generatorn, och RR står för reella tal. Om du vill att din ring ska vara över de rationella talen, till exempel, ersätt RR med QQ. Du kopierar sedan ditt polynom:

 t = x ^ 2 - 25 

Och du ber om rötterna

 t.roots () 

Obs! Detta kommer att returnera rötterna i polynomans grundring och deras multipliciteter. Om du vill att rötterna kommer från en annan basring, lägg den som ett argument för funktionen rötter ().

3. Matrix Inverse

Om du är lite i handel eller ekonomi kan du ha sett matriser någon gång i ditt liv. Generellt finns det en hel process för att hitta inverserna av dessa matriser. Jo, Sage gör det helt enkelt för dig. Skapa din matris över basringen som du vill ha.

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

Och att leta efter sin inversa:

 m.inverse () 

4. Grafer

Sage har viss grafisk kapacitet också. Tidigare ritar vi en cirkel med

 cirkel ((0, 0), 1, rgbcolor = (1, 1, 0)) 

Jag är ganska säker på att du förstod att den första parametern var cirkelns centrum, den andra var radie och den sista var cirkelfärgen i RGB-standarden. Tja, du kan också plotta grundläggande funktioner genom att först förklara en variabel:

 x = var ('x') 

Och använd sedan plot () -funktionen:

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

Det första argumentet är funktionens ekvation, den andra är spänningen. Så här bad jag om den kubiska funktionen som visas från -10 till 10 på x-plot.

Obs! Om du har installerat Jmol kan du till och med göra 3D-grafer genom att deklarera två variabler

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

Och använd sedan funktionen plot3d ():

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

5. Lösning av ekvationer

Ibland vill vi ha en lösning för en ekvation, men räknaren ger oss bara en approximation. Det är ännu värre om det finns några andra variabler i den ekvationen och att vi vill att lösningen ska uttryckas i funktion av dem. I åratal på gymnasiet satt jag fast i det manuellt. Hur dumt! Sage gör det perfekt. Förklara alla dina variabler

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

Och använd sedan bara lösenfunktionen () med ekvationen (erna) som det första argumentet och variabeln (erna) som du vill uttrycka efter:

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

Jag önskar att jag visste det tillbaka i gymnasiet ...

6. Differentiering och integration

Här är den ultimata applikationen när du är riktigt lat. Du kan använda detta program för att differentiera och integrera funktioner. Som vanligt, förklara dina variabler

 x = var ('x') 

Och använd sedan antingen diff () eller integrate () -funktionen.

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

för differentiering och

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

för integrering.

Slutsats

Sage är verkligen ett otroligt verktyg. Syntaxen är snabb att lära sig och är ganska standard. Nackdelen är att dokumentationen verkligen är något du borde läsa för att få tag i vad du verkligen kan göra. Applikationerna är så många att det är lätt att gå vilse. Du kan göra differentialekvationer tillsammans med kryptografi. Och det blir så specifikt att just nu en funktion för att hitta splittfältet för polynomier över ändlösa fält håller på att utvecklas (ja jag har ingen aning om vad det betyder heller).

Har du något annat exempel att föreslå? En fråga om Sage? Vänligen meddela oss i kommentarerna.

Bildkredit: Matematik av stor lagerfoto.