Xcas
| Xcas | |
|---|---|
| File:Xcas icon 2.png | |
| Xcas 1.5 running on windows 10, ploting function and calculating the derivative of the cubed function. Xcas 1.5 running on Windows 10 | |
| Developer | Bernard Parisse |
| Initial release | 2000 |
| Repository |
|
| Written in | C++ |
| Engine | |
| Operating system | Windows, macOS, Linux, FreeBSD, Android, iOS |
| Type | Computer algebra system (CAS) |
| License | GNU GPL |
| Website | xcas |
Xcas is a user interface to Giac, which is an open source[1] computer algebra system (CAS) for Windows, macOS and Linux among many other platforms. Xcas is written in C++.[2] Giac can be used directly inside software written in C++.
Xcas has compatibility modes with many popular algebra systems like WolframAlpha,[3] Mathematica,[4] Maple,[5] or MuPAD. Users can use Giac/Xcas to develop formal algorithms or use it in other software. Giac is used in SageMath[3] for calculus operations. Among other things, Xcas can solve differential equations (Figure 3) and draw graphs. There is a forum for questions about Xcas.[6]
CmathOOoCAS, an OpenOffice.org plugin which allows formal calculation in Calc spreadsheet and Writer word processing, uses Giac to perform calculations.[7]
Features
[edit | edit source]Here is a brief overview of what Xcas is able to do:[8][9]
- Xcas has the ability of a scientific calculator that provides show input and writes pretty print
- Xcas also works as a spreadsheet;[10]
- computer algebra;
- 2D geometry in the plane;[11]
- 3D geometry in space;[11]
- spreadsheet;[10]
- statistics;
- regression (exponential, linear, logarithmic, logistic, polynomial, power)
- programming;[12]
- solve equations even with complex roots (Figure 2);
- solving trigonometric equations
- solve differential equations[13][14] (Figure 3);
- draw graphs;
- calculate differential (or derivative) of functions (Figure 2);
- calculate antiderivative of functions (Figure 2);
- calculate area and integral calculus;
- linear algebra[15]
Example Xcas commands:
- produce mixed fractions:
propfrac(42/15)gives 2 + 4/5 - calculate square root:
sqrt(4)= 2 - draw a vertical line in coordinate system:
line(x=1)draws the vertical line in the output window - draw graph:
plot(function)(for example,plot(3 * x^2 - 5)produces a plot of y = 3x2 − 5 - calculate average:
mean([3, 4, 2])is 3 - calculate variance:
variance([3, 4, 2])is 2/3 - calculate standard deviation:
stddev([3, 4, 2])is √6/3 - calculate determinant of a matrix:
det([[1,2], [3,4]])is −2 - calculate local extrema of a function:
extrema(-2*cos(x)-cos(x)^2,x)is [0, π] - calculate cross product of two vectors:
cross([1, 2, 3], [4, 3, 2])is [-5, 10, -5] - calculate permutations:
nPr() - calculate combinations:
nCr() - solve equation:
solve(equation,x) - factoring polynomials:
factor(polynomial,x)orcfactor(polynomial,x) - differentiation of function:
diff(function,x) - calculate indefinite integrals/antiderivatives:
int(function,x) - calculate definite integrals/area under the curve of a function:
int(function,x,lowerlimit,upperlimit)- calculate definite integral (also called solid of revolution) - finding volume by rotation (around the x-axis):
int(pi*function^2,x,lowerlimit,upperlimit) - calculate definite integral (also called solid of revolution) - finding volume by rotation (around the y-axis) for a decreasing function:
int(2*pi*x*function,x,lowerlimit,upperlimit)
- calculate definite integral (also called solid of revolution) - finding volume by rotation (around the x-axis):
- separation of variables:
split((x+1)*(y-2),[x,y])produces - desolve differential equation (the derivatives are written as y′ or y″):
desolve(differential equation,y)
Supported operating systems
[edit | edit source]- Microsoft Windows[16]
- Apple macOS[17]
- Linux/Unix[18][19]
- FreeBSD[20]
- Android[21]
- iOS (paid version)
- Online[22]
History
[edit | edit source]Xcas and Giac are open-source projects developed and written by Bernard Parisse and Renée De Graeve at the former Joseph Fourier University of Grenoble (now the Grenoble Alpes University),[23] France since 2000.[24] Xcas and Giac are based on experiences gained with Parisse's former project Erable.[25] Pocket CAS and CAS Calc P11 utilize Giac.
The system was also chosen by Hewlett-Packard as the CAS for their HP Prime calculator, which utilizes the Giac/Xcas 1.5.0 engine under a dual-license scheme.
In 2013, the mathematical software Xcas was also integrated into GeoGebra's CAS view.[26]
Use in education
[edit | edit source]Since 2015, Xcas is used in the French education system.[27][28][29][30] Xcas is also[31] used in German[32] universities,[33][34] and in Spain and Mexico.[35] It is also used at the University of North Carolina Wilmington[36] and the University of New Mexico.[37] Xcas is used in particular for learning algebra.[38]
χCAS
[edit | edit source]There is a port of Giac/Xcas for Casio graphing calculators fx-CG10, fx-CG20, fx-CG50, fx-9750GIII and fx-9860GIII, called χCAS (KhiCAS) Archived 2023-04-01 at the Wayback Machine. These calculators do not have their own computer algebra system. It is also available for TI Nspire CX, CX-II, and Numworks N0110[39]
See also
[edit | edit source]Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Read more commands and features here Archived 2020-08-26 at the Wayback Machine.
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (in German)
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
Further reading
[edit | edit source]- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Parisse, Bernard (2007): "Symbolic algebra and Mathematics with Xcas Archived 2020-08-26 at the Wayback Machine" (list of commands) (PDF). Retrieved 2022-06-08.
- Parisse, B., University of Grenoble (January, 2016) "Giac/Xcas and Pari/GP" (PDF). Retrieved 2022-06-08.
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Verlinden, Olivier (2013): "Symbolic generation of the kinematics of multibody systems in EasyDyn: From MuPAD to Xcas/Giac.". Retrieved 2022-06-08.
- Commandes XCAS (French)
- Les principales fonctions de XCAS en calcul formel pour le lycée(French)
- Barnard Parisse: Mathématiques avec Xcas. (French)
- Les Maths et Mes Tics Archived 2022-07-02 at the Wayback Machine (French)
- Fabian Reimers (editor): "Computeralgebra-Rundbrief Nr. 62: Fachgruppe Computeralgebra" (PDF). (German)
External links
[edit | edit source]- Official website
- Use Xcas online in your web browser Archived 2024-09-17 at the Wayback Machine