Xcas
Template:Short description Template:Use list-defined references Template:Use dmy dates Template:Infobox software Template:Multiple image 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. Giac can be used directly inside software written in C++; Xcas itself is written in C++.[2]
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.
Features
Features that Xcas supports include:[6][7]
- showing input and writes pretty print
- spreadsheet calculations[8]
- computer algebra
- 2D and 3D geometry[9]
- statistics
- regression analysis
- programming[10]
- solving equations, including those with complex roots (Template:Pslink)
- solving trigonometric equations
- solving differential equations[11][12] (Template:Pslink)
- drawing graphs
- calculating differentials (or derivatives) of functions (Template:Pslink)
- calculating antiderivatives of functions (Template:Pslink)
- integral calculus, including calculating area
- linear algebra[13]
Example Xcas commands:
- produce mixed fractions:
propfrac(42/15)gives 2 + Template:Sfrac - 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 Template:Math - calculate average:
mean([3, 4, 2])is 3 - calculate variance:
variance([3, 4, 2])is Template:Sfrac - calculate standard deviation:
stddev([3, 4, 2])is Template:Sfrac - calculate determinant of a matrix: Template:Code is Template:Val
- 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 Template:Math - 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 volume of a solid of revolution, revolved around the x-axis:
int(pi*function^2,x,lowerlimit,upperlimit) - finding volume of a solid of revolution (around the y-axis) for a decreasing function:
int(2*pi*x*function,x,lowerlimit,upperlimit)
- calculate volume of a solid of revolution, revolved around the x-axis:
- separation of variables:
split((x+1)*(y-2),[x,y])produces Template:Tmath - solve differential equation (derivatives are written as yTemplate:Prime or yTemplate:Pprime):
desolve(differential equation,y)
Supported operating systems
- Microsoft Windows[14]
- Apple macOS[15]
- Linux/Unix[16][17]
- FreeBSD[18]
- Android[19]
- iOS (paid version)
- Online[20]
- Various handheld graphing calculators
History
Xcas and Giac are open-source projects developed and written by Template:Ill and Renée De Graeve at the former Joseph Fourier University of Grenoble (now the Grenoble Alpes University),[21] France since 2000.[22] Xcas and Giac are based on experiences gained with Parisse's former project Erable.[23] 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, Xcas was also integrated into GeoGebra's CAS view.[24]
Use in education
Since 2015, Xcas is used in the French education system.[25][26][27][28] Xcas is also[29] used in German[30] universities,[31][32] and in Spain and Mexico.[33] It is also used at the University of North Carolina Wilmington[34] and the University of New Mexico.[35] Xcas is used in particular for learning algebra.[36]
χCAS
χCAS (also known as KhiCAS) is a port of Giac/Xcas for certain graphing calculator models that is installed or "sideloaded" as a 3rd party application. (This is as opposed to an officially distributed or supported component of the calculators' OS, as is the case for some HP calculators' Χcas integration.)
Casio graphing calculators were the first to support χCAS ("KhiCAS"), as a 3rd party CAS engine on the fx-CG Prizm series, including the fx-CG50 and its successor fx-CG100. Outside of the Prizm series, select models in the Casio 9860 series are supported as well, including the fx-9750GIII and fx-9860GIII. None of these models have their own computer algebra system.
χCAS is also available for the TI Nspire CX, CX-II, and Numworks N0110.[37]
In 2024, a special cut-down version was released for the TI-84+ CE and some variants from Texas Instruments.[38] Other models that χCAS supports bear 32-bit systems, standing in contrast to the TI-84+ CE's much older 8-bit Zilog Z80-based CPU. These comparatively limited hardware resources necessitated the removal of some features to make the port possible.[39] While Casio and NumWorks graphing calculators are not uncommon in France, from where χCAS author Bernard Parisse hails, TI-84+ CE support makes χCAS much more relevant in the United States, where Texas Instruments holds a monopoly[40] on graphing calculators used in education.
See also
References
Further reading
- Template:Cite web
- Parisse, Bernard (2007): "Symbolic algebra and Mathematics with Xcas Template:Webarchive" (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.
- Template:Cite web
- 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 Template:Webarchive (French)
- Fabian Reimers (editor): "Computeralgebra-Rundbrief Nr. 62: Fachgruppe Computeralgebra" (PDF). (German)
External links
Template:Computer algebra systems
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R1". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R2". - ↑ 3.0 3.1 Cite error: Invalid
<ref>tag; no text was provided for refs named "Tõnisson 2017". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R3". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R4". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R7". - ↑ Read more commands and features here Template:Webarchive.
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "reference-card". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "Gandit2009". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R8". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R9". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R10". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R11". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R12". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named ":0". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R13". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R14". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named ":2". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named ":1". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R15". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R16". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "University of Mons". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R17". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R18". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R19". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R20". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R21". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R22". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "Module 2 - Introduction". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "Halkos". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R23". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R24". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R25". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R26". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R27". - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named "R28". - ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web