Xcas

From Wikipedia, the free encyclopedia
(Redirected from HP Prime CAS)
Jump to navigation Jump to search

Xcas
DeveloperBernard Parisse (fr)
Initial release2000; 26 years ago (2000)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC++
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemWindows, macOS, Linux, FreeBSD, Android, iOS
    TypeComputer algebra system (CAS)
    LicenseGNU GPL
    Websitexcas.univ-grenoble-alpes.fr/en.html
    calculate fractions without common denominator
    Figure 1. Xcas calculates fractions without common denominator.
    File:Xcas løser ligning, beregner differentialkvotient og stamfunktion mm.png
    Figure 2. Xcas can solve equations, calculate derivatives, antiderivatives and more.
    File:Nyere forsøg Xcas løser differentialligninger algebraisk.png
    Figure 3. Xcas can solve differential equations.

    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]

    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 x=1 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) or cfactor(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)
    • separation of variables: split((x+1)*(y-2),[x,y]) produces [x+1,y2]
    • desolve differential equation (the derivatives are written as y or y″): desolve(differential equation,y)

    Supported operating systems

    [edit | edit source]

    History

    [edit | edit source]

    Xcas and Giac are open-source projects developed and written by Bernard Parisse (fr) 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]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Read more commands and features here Archived 2020-08-26 at the Wayback Machine.
    10. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (in German)
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    38. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    39. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

    Further reading

    [edit | edit source]
    [edit | edit source]