# Xcas

Xcas ist ein freies Computeralgebrasystem (CAS), es basiert auf der ebenfalls freien Programmbibliothek Giac. Xcas ermöglicht symbolisches Rechnen und kann zum Beispiel Gleichungen (Figur 4) und Differentialgleichungen (Figur 5) lösen.

## Funktionsweise

Giac ist eine in C++ geschriebene Programmbibliothek, spezialisiert auf Anwendungen im Bereich der Computeralgebrasysteme (CAS). Aufgrund der Kapselung als eigenständige Bibliothek kann diese auch leicht in andere Applikationen eingebunden und auf verschiedene Betriebssysteme portiert werden.
Eine Grafische Benutzeroberfläche für Giac ist in Form von „Xcas“ verfügbar. Xcas ist eine Benutzerschnittstelle für Giac, die u. a. Funktionsgraphen zeichnen und Gleichungen umstellen kann. Xcas funktioniert offline. Es gibt ein Forum für Fragen betreffend Xcas.

## Betriebssysteme und Verfügbarkeit

Die meist Freie Software ist für diese Betriebssysteme verfügbar:
* Microsoft Windows
* Apple macOS
* Linux/Unix
* FreeBSD
* Android
* iOS (kostenpflichtig)
Xcas kann auch online verwendet werden.

### Verwendung in kommerziellen Produkten

* Xcas und Giac erzeugen im programmierbaren Taschenrechner HP Prime die grafische Oberfläche.

## Features (Auswahl)

* Xcas ist u. a. eine basale mathematische Software, die Pretty-Printing aufweist wie LaTeX und Xcas kann auch show input zeigen.
* Xcas funktioniert auch als Tabellenkalkulation.
* Gleichungen umstellen sogar komplexe Lösungen errechnen.
* Trigonometrische Gleichungen lösen.
* Differentialgleichungen lösen (Figur 5).
* Graphen zeichnen (2D sowie 3D).
* Faktorisierung von Polynomen.
* Differentialquotienten berechnen, d. h. Differentialrechnung machen (Figur 4).
* Stammfunktionen berechnen, d. h. Integralrechnung machen (Figur 4).
* Flächeninhalte berechnen und Integrale von Funktionen über ein Intervall berechnen.
* Volumen eines Rotationskörpers berechnen.
* Verschiedene Regressionstypen berechnen (exponentielle, lineare, logarithmische, logistische, potenzielle).
* Xcas ist auch eine programmierbare Software.

## Befehle (Auswahl)

Auszug aus der Befehlsübersicht:
* Graphen zeichnen: plot(Funktion)
* Senkrechte Linie im Koordinatensystem zeichnen: line($x$=1)
* Quadratwurzel berechnen: sqrt
* Durchschnitt (auch Mittelwert genannt) berechnen: mean([3,4,2]) = 3
* Varianz berechnen: variance([3,4,2]) = 2/3
* Standardabweichung berechnen: stddev([3,4,2]) = sqrt(2/3)
* Kreuzprodukt berechnen: cross([1,2,3],[4,3,2]) = [-5,10,-5]
* Determinante einer Matrix berechnen: det([1,2],[3,4]) = -2
* Lokale Extrema berechnen: extrema(-2*cos($x$)-cos($x$)^2,$x$) = [0],[pi]
* Anzahl der Permutationen berechnen: nPr
* Anzahl der Kombinationen berechnen: nCr
* Gleichung lösen (nach $x$ umstellen): solve(Gleichung,$x$)
* Trennung der Variablen : split(($x$ +1)*($y$ -2),[$x$,$y$]) = [$x$+1,$y$-2]
* Differentialgleichung lösen (Rechte Seite als $y'=$ oder $y''=$ schreiben): desolve(Differentialgleichung,$y$) z.B: desolve($y'=k\cdot y,y$) oder desolve($y''=k\cdot y,y$)
* Polynom faktorisieren: factor(Polynom,$x$)
* Differenzieren (Ableitung berechnen): diff(Funktion,$x$)
* Unbestimmtes Integral (Stammfunktion) berechnen: int(Funktion,$x$)
* Bestimmtes Integral berechnen (Fläche zwischen Graph und $x$-Achse berechnen): int(Funktion,$x$,untereIntegrationsgrenze,obereIntegrationsgrenze)
* Volumen eines Rotationskörpers um die $x$-Achse berechnen: int(pi*Funktion^2,$x$,untereIntegrationsgrenze,obereIntegrationsgrenze)
* Volumen eines Rotationskörpers um die $y$-Achse berechnen (für eine abnehmende Funktion): int(2*pi*$x$ *Funktion,$x$,untereIntegrationsgrenze,obereIntegrationsgrenze)

## Xcas und andere CAS-Programme
### Entstehungsgeschichte

Xcas, the swiss knife for mathematics, ist ein Open-Source-Projekt, das seit 2000 von einer Gruppe rund um Bernard Parisse an der Joseph-Fourier-Universität zu Grenoble, Frankreich, entwickelt wurde. Durch seine Erfahrungen mit dem früheren Projekt „Erable“ hat Parisse „Xcas“ und „Giac“ hervorbringen können. Seit 2013 gibt es Erklärvideos für Xcas und im Jahr 2013 wurde Giac mit GeoGebra integriert. OpenOffice.org verwendet Giac für Berechnungen.

### Kompatibilitätsmodus

Xcas hat einen Kompatibilitätsmodus zu mehreren Programmen: u. a. Wolfram Alpha, Mathematica, Maxima, Maple, Matlab, GeoGebra, SageMath, Yacas, MuPad, Qcas, CPMP-Tools, WordMat (Addon an Microsoft Word) und ExpressionsinBar (64 bit App für macOS) und Graphmatica und Kig sowie zu den grafikfähigen Taschenrechnern TI-89, TI-92, Voyage 200 und TI-Nspire.