Att lösa beräkningsproblem var den första inspirationen bakom uppfinningen av datorer. Även om moderna datorer har kommit en bra bit på vägen sedan starten, spelar den en de facto roll för att lösa komplexa beräkningar. A Computer Algebra System (CAS) är en mjukvarumiljö som gör det möjligt att hantera moderna, komplexa beräkningsproblem utan att manipulera komplicerade ekvationer eller beräkningssystem manuellt.
Dessa datoralgebrasystem kan manipulera matematiska formler som traditionella matematiker och motverka potentiella fel effektivt. Det finns ett brett utbud av datoralgebrasystem för Linux, både generella och specialiserade.
De bästa datoralgebrasystemen för Linux
Huvudfunktionerna i ett CAS är att utföra numeriska beräkningar, symboliska beräkningar, dataanalys och datavisualisering. På grund av dess utbredda domän finns det olika datoralgebrasystem för Linux, som hanterar olika typer av applikationer. Våra redaktörer har beskrivit de 20 bästa datoralgebrasystemen som kan användas av matematiker, datavetenskapsexperter eller högre studier.
1. SageMath
SageMath är ett datoralgebrasystem med öppen källkod för Linux med en omfattande uppsättning funktioner, vilket gör det till en utmärkt lösning för att hantera moderna matematiska problem. Det är byggt ovanpå redan existerande, populära paket med öppen källkod som NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R och många fler. Projektet syftar till att vara ett genomförbart alternativ till Magma, Maple, Mathematica och Matlab och lever upp till dess förväntan ganska väl.
Funktioner i SageMath
- SageMath använder Python och Cython för att utnyttja kraften i sina underliggande projekt genom gränssnitt eller omslag bekvämt.
- Den levereras med ett innovativt och lättanvänt dokumentgränssnitt för bärbara datorer som är kompatibelt med Chrome, Opera, Firefox, Safari och Konqueror.
- SageMath erbjuder också ett textbaserat kommandoradsgränssnitt byggt ovanpå iPython-skalet.
- Den stöder parallell bearbetning med olika processorarkitekturer och tillhandahåller gränssnitt till Mathematica, Magma och Maple.
- SageMath låter användare bädda in Sage i LaTeX-dokument och använda skjutreglage som beräkningsindata.
2. MATLAB
MATLAB hyllas av många som den heliga gralen för moderna datoralgebrasystem, och det med rätta. Det har bevisats som det de facto CAS när det gäller matematisk forskning och verklig dataanalys.
Funktionerna som tillhandahålls av MATLAB är omfattande och skulle kräva en dedikerad guide för att diskutera i detalj. Det bästa försäljningsargumentet för MATLAB för många är dess förstklassiga dokumentation. Du hittar också nästan alla matematiska funktioner som redan är implementerade och redo att användas.
—
Funktioner hos MATLAB
- MATLAB tillåter manipulering av matriser, plottningsfunktioner och data, gränssnitt med tredjepartsapplikationer eller skript, och grafiksimulering, bland många andra.
- Detta CAS-system erbjuder ett monolitiskt urval av funktioner och algoritmer för linjär och icke-linjär algebra, statistik, optimering, ekvationssystem, Fourieranalys och Laplace-transformationer.
- Den stöder ett brett utbud av gränssnittsalternativ, inklusive ett kommandoradsgränssnitt, ett GUI-gränssnitt och anpassade gränssnittsskapande förmågor.
- Programvaran är proprietär och körs på nästan alla större system, inklusive macOS, Windows, Linux och BSD-system.
3. Scilab
Scilab är ett av de bästa datoralgebrasystemen för Linux som erbjuder ett brett utbud av avancerade funktioner för att göra vetenskapliga beräkningar enklare än någonsin. Det har visat sig vara en effektiv CAS-lösning sedan dess utveckling på 90-talet och spelar en betydande roll i moderna vetenskapliga företag.
Scilab tillhandahåller en programmeringsmiljö på hög nivå som tillåter forskare, affärsanalytiker och matematiker att lösa verkliga beräkningsproblem med bara några rader kod.
Funktioner hos Scilab
- Scilab tillåter forskare att definiera både nya datatyper och operationer för att utföra dem med överbelastning och använder en syntax som liknar MATLAB.
- Detta CAS-system med öppen källkod för Linux stöder linjär algebra, polynom, glesa matriser, rationella funktioner, 2D- och 3D-grafik och animering, tillsammans med många fler.
- Scilab kommer med inbyggt stöd för LaTeX/MathML, SciNotes-textredigerare, LMI-optimering och avancerade skriptfunktioner.
- Det enhetliga och konsekventa API som tillhandahålls av Scilab matchas av endast en handfull datoralgebrasystem.
4. Oktav
GNU Octave är utan tvekan bland de mest populära Linux-datoralgebrasystemen som används av studenter och proffs över hela världen, tack vare dess rika och användarvänliga funktioner. Det är ett kraftfullt programmeringsspråk med standardfunktioner för plottning och visualisering.
Språket är kompatibelt med MATLAB och gör det möjligt för användare att lösa linjära och olinjära beräkningsproblem med hjälp av ett bekvämt kommandoradsgränssnitt. Den erbjuder också ett GUI baserat på Qt för personer som föredrar grafiska gränssnitt.
Funktioner hos Octave
- Octave erbjuder en omfattande uppsättning matematiska tekniker, inklusive att lösa linjära och icke-linjära ekvationer och manipulera polynom, integrationer, differentialkalkyler, vektorer och matriser.
- Detta open source CAS är mycket anpassningsbart och kan utökas med användardefinierade funktioner eller dynamiska moduler skrivna på C, C++, Fortran eller andra språk.
- GUI-gränssnittet är enkelt och sitter ovanpå en Qt-bas vid sidan av IDE.
- Octave är skrivet med C++ och låter programmerare använda Octave-källor direkt i C++-program.
5. Maxima
Maxima är ett av de äldsta Linux-datoralgebrasystemen som finns med i den här guiden. Projektet startades i MITs labb på 60-talet och fortsätter att frodas än idag på grund av dess utbredda popularitet och notoriskt kraftfulla funktionsuppsättningar.
Systemet är designat för att hantera symboliska och numeriska uttryck, inklusive differentiering, integration, Taylor-serier, Laplace-transformer, differentialekvationer och system av linjära ekvationer tillsammans med polynom, mängder, listor, vektorer, matriser och tensorer.
Funktioner hos Maxima
- Maxima erbjuder mycket exakta numeriska resultat än de flesta datoralgebrasystem för Linux på grund av dess robusta exakta bråktal, godtyckliga precisionsheltal och flyttal.
- Det är skrivet med hjälp av programmeringsspråket Common Lisp och tillhandahåller ett komplett programmeringsspråk med ALGOL-liknande syntax.
- Maxima använder semantik i Lisp-stil för att underlätta undervisningen i datoralgebra och programmeringslektioner.
- Den stöder ett brett urval av grafiska användargränssnitt (GUI), inklusive wxMaxima, TeXmacs och SAGE.
6. SymPy
SymPy är ett Python-bibliotek med öppen källkod för att manipulera symbolisk matematik. Användare kan använda den antingen som en fristående applikation, live på webben eller som ett bibliotek i andra program.
På grund av sin BSD-licens är SymPy utan tvekan bland de bästa datoralgebrasystemen för open source-entusiaster eller matematiker som letar efter gratis datoralgebrasystem. SymPy underhålls regelbundet, och nya uppdateringar rullas ut mycket ofta, vilket gör det till ett lämpligt val för både professionella analytiker och akademiker.
Funktioner i SymPy
- Den kan lösa polynom, algebraisk, differential, skillnad, system av och diofantiska ekvationer tillsammans med kalkyl, diskret matematik, geometri och matriser.
- Plotningsfunktionerna inkluderar koordinatlägen, geometriska enheter, 2D- och 3D-grafik, färger och Matplotlib-stöd.
- SymPy har en enorm lista med inbyggda kryptografiska funktioner, inklusive Hill-chiffer, RSA, ElGamal-kryptering och många fler.
- SymPys öppen källkod tillåter utvecklare att utöka applikationen för att möta kraven i moderna beräkningsprojekt.
7. SINGULÄR
SINGULAR är utan tvekan bland de bästa datoralgebrasystemen för att hantera polynomproblem som kommutativ algebra, algebraisk geometri och singularitetsteori. Den kommer med de snabbaste algoritmiska implementeringarna för beräkning av Groebner resp.
Standardbaser, inklusive Moras algoritm och Buchbergers algoritm. SINGULAR tillhandahåller också funktioner som polynomfaktorisering, Syzygy, beräkningar med fri upplösning, karakteristikuppsättningar, resultant och många fler.
Funktioner OS SINGULAR
- De huvudsakliga beräkningsobjekten för SINGULAR är ideal och moduler som täcker ett stort urval av basringar eller lokaliseringar över olika fält.
- Den kommer med ett brett utbud av redan implementerade algoritmer skrivna i C++, vilket ger mycket snabbare och optimerad prestanda.
- Programmeringsspråket i denna CAS-miljö är C-likt och intuitivt för personer som har förkunskaper i traditionella programmeringsspråk.
- SINGULAR erbjuder omfattande dokumentation, en stor uppsättning praktiska bibliotek, ett Emacs-gränssnitt, möjlighet att ladda dynamiska moduler tillsammans med stödet med öppen källkod.
8. Lönn
Maple är ett av de stora Linux-datoralgebrasystemen som används av företag runt om i världen. Den utvecklades och marknadsfördes av Maplesoft, som designade den med tonvikt på symbolisk och numerisk beräkning.
Det erbjuder också ett programmeringsspråk på hög nivå för att underlätta avancerade datoruppgifter. Maple är också utrustad med ett omfattande utbud av verktyg för att göra vetenskaplig beräkning enkel och tillgänglig för ett bredare spektrum av allmänheten.
Funktioner i Maple
- Maple har specialiserade bibliotek för elementära och speciella matematiska funktioner och erbjuder symbolisk och numerisk beräkning med exakta resultat.
- Den kan hantera en bred uppsättning ekvationer, inklusive diofantiska ekvationer, ODE, PDE, DAE, DDE och återkommande relationer.
- Maple har robusta verktyg för datamanipulation, analys och visualisering tillsammans med verktyg för sannolikhets- och kombinatoriska problem.
- Maple tillåter textutvinning med hjälp av reguljära uttryck och stöder ekonomiska beräkningar, tidsserier, parallell programmering och många fler innovativa funktioner.
9. Macaulay2
Macaulay2 är ett av de mest framstående datoralgebrasystemen för forskare som sysslar med algebraisk geometri och kommutativ algebra. Det är ett ganska modernt CAS med en uppsjö av inbyggda funktioner som hjälper till att utveckla nya lösningar på traditionella och futuristiska matematiska forskningsproblem. Den implementerar sitt eget högnivåprogrammeringsspråk för att hantera numerisk och symbolisk algebra och släpps under GNU GPL-licensen med öppen källkod.
Funktioner i Macaulay2
- Macaulay2 stöder effektiv beräkning av matematiska objekt på hög nivå som Galois-fält, talfält, polynomringar, Weyl-algebror, kvotringar, homomorfismer, graderade moduler och kedjekomplex, för att säga några.
- Det tolkade programmeringsspråket i detta CAS är enkelt men kraftfullt och tilldelar varje objekt en typ.
- De matematiska algoritmerna implementeras med C++ och erbjuder därmed snabb och optimerad prestanda.
- Detta plattformsoberoende CAS är öppen källkod och tillåter utvecklare att utöka programvaran efter behov.
10. Cadabra
Om du letar efter de bästa datoralgebrasystemen för fältteoretiska problem, är Cadabra bland de mest lämpliga alternativen för dig. Det är ett modernt symboliskt datoralgebrasystem (CAS) riktat mot fältteoretiska forskare och tillhandahåller en omfattande uppsättning funktioner för att hjälpa dess syfte.
Cadabra hanterar tensorpolynomförenklingar mycket effektivt genom att använda Bianchi- och Schouten-identiteter och kan även användas för fermioner och anti-pendlingsvariabler, Clifford-algebror, Fierz-transformationer och många andra problem.
Funktioner av Cadabra
- Cadabra har ett bekvämt kommandoradsgränssnitt och ett enkelt men ändå intuitivt grafiskt användargränssnitt.
- Det är mycket programmerbart och kan enkelt utökas med programmeringsspråket Python.
- Cadabra har ett fristående GUI notebook-gränssnitt som kan användas sömlöst med Sympy.
- Detta plattformsoberoende datoralgebrasystem är helt öppen källkod, och källan är tillgänglig för modifiering.
11. Wolfram Mathematica
Wolfram Mathematica är ett modernt datoralgebrasystem som omfattar de flesta områden av teknisk beräkning, inklusive geometri, datavetenskap, visualiseringar, neurala nätverk, bildbehandling och sådant. Det används mycket brett av både forskare och yrkesverksamma för ett brett spektrum av uppgifter.
Även om Wolfram Mathematica är mycket kraftfull är den inte gratis och kräver en betald licens innan du använder den för din forskning. Den stöder tusentals matematiska funktioner, realtidsdata, naturligt språkinmatning och många fler spännande funktioner.
Funktioner i Wolfram Mathematica
- Wolfram Mathematica kommer med ett mycket moget bibliotek som innehåller nästan alla elementära och speciella funktioner du behöver för att lösa moderna beräkningsproblem.
- Den kan lösa ett brett spektrum av ekvationssystem, inklusive diofantiska ekvationer, differentialekvationer (ODEs/PDEs/DAEs/DDEs/SDEs) och återkommande relationer.
- Wolfram Mathematica utrustar användare med robusta multivariata statistikbibliotek, data- och textutvinningsverktyg, kontrollsystembibliotek och signalbehandlingsbibliotek.
- Gränssnittet är mycket allmänt ändamålsenligt och passar bra med modern teknik som blockchain, mikrokontroller och onlinetillgänglighet, bara för att säga några.
12. Magma
Magma är ett robust datoralgebrasystem som kombinerar avancerade numeriska beräkningsfunktioner sömlöst med ett lättanvänt men ändå effektivt användargränssnitt. Det har en utbredd användning inom områdena ren matematik och är flitigt med i forskningen.
Magma kan hantera flera typer av problem associerade med områdena algebra, talteori, algebraisk geometri och algebraisk kombinatorik. Den distribueras av University of Sydney och levereras med en icke-kommersiell patentskyddad licens.
Funktioner hos Magma
- Den har asymptotiskt snabba algoritmer för elementära matematiska operationer som Schönhage–Strassen-algoritmen, Elliptic Curve Method, Quadratic Sieve och Number field sieve, bland andra.
- Magma levereras med KANT-datoralgebrasystemet som standard, vilket möjliggör bekväm beräkning av algebraiska talfält.
- Den kan också arbeta med modulteori, linjär algebra, glesa matriser, gitter, representationsteori, invariant teori och Gröbnerbaser.
- Magma låter forskare arbeta med kryptografiska algoritmer och erbjuder optimerade implementeringar av de vanligaste algoritmerna.
13. Minska
Reduce är ett robust datoralgebrasystem riktat till fysikforskare. Den erbjuder en omfattande lista med funktioner som gör den till ett lämpligt val för alla som hanterar komplexa fysikproblem. Den kommer under BSD-licensen, vilket gör det möjligt för utvecklare att utöka programvaran på vilket sätt de vill och distribuera den.
Reduce har varit under utveckling sedan 60-talet och används i fysiklabb runt om i världen. Tillväxten verkar dock avta och den senaste stabila releasen såg ljuset för åtta år sedan.
Funktioner i Reducera
- Reduce erbjuder exakta aritmetiska resultat för heltal och bråk genom att utnyttja numeriska approximationstekniker med godtycklig precision.
- Den kan hantera polynom, rationella funktioner, exponentiella, logaritmiska, trigonometriska och hyperboliska funktioner tillsammans med traditionell differentiering och integration.
- Den innehåller Dirac-matrisberäkningar som används i högenergifysikexperiment och kommer med ett intuitivt programmeringsspråk.
- Reduce gör det möjligt för forskare att plotta både 2D- och 3D-datauppsättningar och tillåter utdata i en mängd olika format.
14. PARI/GP
Talteori spelar en viktig roll i modern datoranvändning, och det finns många tillämpningar inom detta växande område. PARI/GP är ett allmänt använt CAS utvecklat för att hantera snabba beräkningar inom talteori och erbjuder en imponerande uppsättning funktioner som gör det svårt att se förbi.
Den kommer med en bred uppsättning avancerade funktionsimplementeringar vid sidan av de mer traditionella och kan användas flitigt av både talteoretiska forskare och datavetare.
Funktioner i PARI/GP
- PARi/GP kan arbeta med faktoriseringar, elliptiska kurvberäkningar, matriser, potensserier, algebraiska tal och många fler nummerteoretiska ämnen.
- Den har ett modernt interaktivt skal som ger tillgång till PARI-funktionerna och kan användas som en programmerbar kalkylator.
- PARI/GP kommer förutrustat som ett C-bibliotek, vilket gör att användare kan använda det i andra program, och erbjuder höghastighetsberäkning.
- Detta datoralgebrasystem kommer med en förbyggd GP-till-C-kompilator som kompilerar GP-skript till C mycket effektivt.
15. GAP
GAP är ett kraftfullt system med öppen källkod för att lösa beräkningsdiskreta algebraproblem. Det är en spännande plattform som kombinerar funktioner från de bästa datoralgebrasystemen med ett intuitivt och bekvämt programmeringsspråk på hög nivå.
GAP kan hantera olika typer av diskreta matematiska problem men betonar starkt beräkningsgruppteori. Standardbiblioteket är ganska omfattande och innehåller mer än tusentals funktionsimplementeringar direkt ur lådan.
Funktioner hos GAP
- GAP har ett häpnadsväckande grafiskt användargränssnitt som är lätt att använda och intuitivt.
- Programmeringsspråket som medföljer detta CAS-system tolkas och kan enkelt kompileras för snabbare exekveringar.
- GAP erbjuder ett ganska omfattande databibliotek som innehåller stora klasser av olika algebraiska objekt som är tillgängliga via GAP-gränssnittet.
- Detta plattformsoberoende datoralgebrasystem är helt öppen källkod och tillåter användare att utöka eller ändra källan enligt deras krav.
16. SMath Studio
SMath Studio är ett gratis, plattformsoberoende datoralgebrasystem för Linux. Även om det är gratis, är SMath Studio inte öppen källkod och tillåter därför inte modifiering. Det är skrivet med programmeringsspråket C# och stöder nästan alla större operativsystem.
Den har också lagt till stöd för Android- och iOS-smarttelefonplattformarna tillsammans med vissa handhållna enheter. Om du letar efter enkla, snabba och effektiva Linux-datoralgebrasystem är SMath Studio värt ett försök.
Funktioner i SMath Studio
- SMath Studio är exceptionellt lätt och väger runt 2 MB-märket.
- Den kan lösa differentialekvationer, ekvationssystem, matrisoperationer och numerisk integration tillsammans med andra symboliska beräkningar.
- Användare kan definiera sina egna funktioner och utveckla program med hjälp av enkla flerradiga loopar.
- SMath Studio kommer med en flexibel WYSIWYG-redigerare och stöder över 40 olika språk.
17. Axiom
Axiom är ett generellt datoralgebrasystem som har utbredd användning i olika typer av beräkningsuppgifter. Den kan användas för antingen akademiska forskningsändamål eller för att utveckla komplexa, moderna matematiska algoritmer.
Axiom betonar en starkt skriven, matematiskt korrekt typhierarki som säkerställer maximal optimeringsboost för dina algoritmer. Axiom har en modifierad BSD-licens som gör det möjligt för forskare att utöka programvaran för att möta anpassade krav.
Funktioner i Axiom
- Axiom implementerar ett robust typgränssnitt och heuristiska algoritmer för att skapa explicita typkommentarer.
- Den kan användas för att visa två- och tredimensionella grafer för dataanalys och visualisering.
- Axiom utrustar med ett innovativt interaktivt webbläsarliknande hjälpsystem som kallas “HyperDoc.”
- Axiom tillhandahåller interaktiva rotations- och belysningsfunktioner tillsammans med Risch-algoritmen för grundläggande integrationer.
18. CoCoA
Om du letar efter de bästa datoralgebrasystemen för att lösa kommutativa algebraproblem är CoCoA ett utmärkt val för dig. Det är ett lättviktigt interaktivt system som erbjuder ett antal kraftfulla funktioner för att göra kommutativa algebraberäkningar enklare än någonsin. Den sitter ovanpå CoCoALib C++-biblioteket och ger snabbare prestanda än de flesta traditionella Linux-datoralgebrasystem.
Funktioner av CoCoA
- CoCoA kan hantera extremt stora heltal och rationella tal genom att använda GNU Multi-Precision Library.
- Det tillåter forskare att hantera multivariata polynom effektivt och arbeta med Groebner-basis.
- CoCoA kommer med inbyggt stöd för ett antal gränssnitt, inklusive ett textbaserat, ett Emacs-baserat och ett Qt-baserat gränssnitt.
- Detta plattformsoberoende datoralgebrasystem är gratis och tillåter modifiering under sin GNU GPL-licens.
19. Yacas
Yacas, förkortning för , är ett generellt datoralgebrasystem som effektivt kan utföra ett brett utbud av numeriska och symboliska matematiska beräkningar.
Den kommer förutrustad med ett eget programmeringsspråk, vilket ger en abstraktion på hög nivå av de underliggande komplexa matematiska uttrycken. Den kan beräkna numeriska beräkningar med godtycklig precision med exakta resultat och erbjuder kraftfulla plottningsmöjligheter för effektiv datavisualisering och analys.
Funktioner hos Yacas
- Yacas tillåter matematiker att ta indata i antingen klartextformat eller OpenMath med möjligheten att bearbeta batch-indata.
- Den kommer med en enorm uppsättning redan implementerade algoritmer i form av skript som kan anropas inuti redigeraren.
- Yacas tillhandahåller omfattande dokumentationsstöd, vilket gör det enkelt att anpassa detta CAS snabbare än de flesta datoralgebrasystem för Linux.
- Yacas är helt öppen källkod och kan modifieras eller utökas för att passa moderna matematikers krav.
20. FriCAS
FriCAS är ett avancerat datoralgebrasystem byggt ovanpå Axiom. Den erbjuder en fristående verktygslåda som används i ett antal olika matematiska beräkningar, allt från traditionell kalkyl till geometrisk algebra.
Den levereras med ett robust integrerat hjälpsystem som ger användbar dokumentation för nya användare. Systemet är helt öppen källkod och kan enkelt utökas med programmeringsspråket SPAD.
Funktioner hos FriCAS
- FriCAS erbjuder ett brett utbud av enkla men intuitiva kommandon för symbolisk beräkning och ger ett robust numeriskt bibliotek.
- Det gör det enkelt att plotta olika typer av datamängder med sin innovativa interaktiva konsol.
- FriCAS har inbyggt stöd för mönstermatchning, vektorer, set, multiset och hashtabeller.
- BSD-licensen med öppen källkod för detta CAS tillåter oss att modifiera eller anpassa programvaran utan uttryckligt tillstånd.
Avslutande tankar
Linux erbjuder några av de bästa datoralgebrasystemen som matematiker kan få tag på. Följaktligen tenderar det stora antalet och varianterna av dessa alternativ att förvirra många användare. För att hjälpa dem att hitta det perfekta CAS-systemet för deras dagliga datoranvändning har våra redaktörer sammanställt den här informativa guiden som beskriver de 20 bästa datoralgebrasystemen för Linux.
Förhoppningsvis kan vi tjäna ditt intresse ordentligt och tillhandahålla allt du behöver för att komma igång. Kommentera dina tankar om våra val nedan och håll utkik efter fler spännande Linux-programvaruguider.