# Das Handbuch zu &kalgebra;

## Einführung

&kalgebra; bietet zahlreiche Möglichkeiten, um alle Arten von mathematischen Operationen auszuführen und deren Ausgaben graphisch darzustellen. Früher war dieses Programm stark an MathML ausgerichtet, heute kann es von Personen mit ein wenig mathematischem Verständnis benutzt werden, um sowohl einfache als auch schwierige mathematische Aufgaben zu lösen.

Das Programm bietet folgende Funktionsmerkmale:

- Eine Konsole für die schnelle und leichte Auswertung von mathematischen Funktionen.

- Skript-Fähigkeiten für erweiterte Folgen von Berechnungen

- Funktionsdefinitionen und automatische Syntax-Vervollständigung

- Kalkülfunktionen einschließlich symbolischer Differentiation, Vektorkalkül und Listenbearbeitung.

- Grafische Darstellung von Funktionen mit der Möglichkeit, mit dem Cursor die Nullstellen zu finden und weitere Arten von Analysen.

- 3D-Grafik zur Visualisierung von dreidimensionalen Funktionen.

- Ein Funktionsverzeichnis für die schnelle Referenz zu allen vorhandenen Funktionen.

Hier sehen Sie ein Bildschirmfoto vom &kalgebra;-Programm:

Hier sehen Sie ein Bildschirmfoto vom &kalgebra;-Hauptfenster &kalgebra;-Hauptfenster

Das Hauptfenster von &kalgebra; besteht aus den Karteikarten Konsole, 2D-Graph, 3D-Graph und Funktionen. Auf jeder Karteikarte befindet sich ein Textfeld zur Eingabe von Funktionen oder Berechnungen und ein Bereich für die Anzeige der Ergebnisse.

Sitzungen können jederzeit mit den Aktionen im Menü Sitzungen verwaltet werden:

&Ctrl; N Sitzung Neu

- Öffnet ein neues &kalgebra;-Hauptfenster

&Ctrl; Q Sitzung Beenden

- Beendet das Programm.

## Syntax

&kalgebra; verwendet eine intuitive algebraische Syntax für die Eingabe von benutzerdefinierten Funktionen, Eine ähnliche Syntax wird für die meisten modernen grafischen Rechner verwendet. In diesem Abschnitt werden alle in &kalgebra; verfügbaren eingebauten Operatoren aufgeführt. Die Syntax von &kalgebra; wurde in Anlehnung an die mathematischen Anwendungen Maxima und maple entwickelt und sollte daher allen Benutzern dieser Programme vertraut sein.

In &kalgebra; werden die eingegebenen Ausdrücke in MathML für das Hintergrundprogramm umgewandelt. Ein grundsätzliches Verständnis der durch MathML unterstützten Fähigkeiten ist hilfreich, um die Möglichkeiten von &kalgebra; zu entdecken.

Folgende Operatoren sind in dieser Version enthalten:

- + - * / : Addition, Subtraktion, Multiplikation und Division.

- ^, ** : Potenzen, beide Schreibweisen und auch das Unicodezeichen ² sind erlaubt. Potenzen können auch als Wurzel benutzt werden, zum Beispiel: a**(1/b)

- ->: Lambda-Funktion. Die Möglichkeit, eine oder mehrere freie Variablen zu definieren, die an eine Funktion gebunden werden. Im Ausdruck `length:=(x,y)->(x*x+y*y)^0.5` zum Beispiel wird der Lambda-Operator zur Kennzeichnung benutzt, dass x und y als gebundene Variablen bei der Funktion „length“ verwendet werden.

- x=a..b : Einschränkung eines Wertebereichs (beschränkte Variable mit unterer und oberer Grenze). Die Variable x kann in diesem Beispiel nur Werte von a bis b annehmen.

- () : Klammern bestimmen den Vorrang einer auszuführenden Rechenoperation vor anderen in der Rechenreihenfolge.

- abc(parameter) : Funktionen. Beim Einlesen von Funktionen wird überprüft, ob „abc“ ein Operator ist. Wenn ja, dann wird es als Operator behandelt, ansonsten als benutzerdefinierte Funktion.

- := : Definition des Wertes einer Variablen. Definitionen wie x:=3, x:=y sind möglich, auch wenn y noch nicht definiert ist, oder zum Beispiel umfang:=r->2*pi*r.

- ? : Abschnittsweise definierte Bedingungen. Damit können bedingte Operationen in &kalgebra; definiert werden. Anders ausgedrückt ist das eine Möglichkeit „if, elseif, else“ -Bedingungen zu definieren. Das Ergebnis einer abschnittsweise definierten Funktion ist der Ausdruck nach dem '?' der ersten wahre Bedingung. Trifft keine Bedingung zu, wird der Ausdruck nach dem letzten '?' ohne vorangestellte Bedingung zurückgegeben. Beispiel: piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 }

- { } : Damit werden MathML-Container definiert, die hauptsächlich bei abschnittsweise definierten Bedingungen verwendet werden.

- = > >= < <= : Vergleichsoperatoren für gleich, größer, größer oder gleich, kleiner und kleiner oder gleich.

Mit diese MathML-ähnlichen Syntax kann mit Funktionen wie cos(), sin(), jeder beliebigen trigonometrischen Funktion, sum() oder product() gearbeitet werden. Sie können Funktionen wie plus(), mal() und jede beliebige Funktion mit Operator verwenden. Auch Boolesche Funktionen sind implementiert, Sie können zum Beispiel mit Ausdrücke wie or(1,0,0,0,0) arbeiten.

## Arbeiten mit der Konsole

&kalgebra;s Konsole ist ein Rechner mit erweiterten Fähigkeiten. Es können Ausdrücke im Modus Berechnen oder Auswerten eingeben werden, je nach Auswahl im Menü Konsole.

Zusätzlich zur Anzeige der vom Benutzer eingegebenen Ausdrücke und deren Ergebnissen in der Karteikarte Konsole werden alle deklarierten Variablen in einer Liste rechts angezeigt. Durch Doppelklicken auf eine Variable in der Liste öffnen Sie einen Dialog, in dem Sie den Wert der Variablen ändern können.

„ans“ ist eine besondere Variable, sie enthält immer das Ergebnis der Auswertung des zuletzt eingegeben Ausdrucks.

Als Beispiel folgen einige Funktionen, die in das Eingabefeld der Karteikarte Konsole eingetragen werden können:

- sin(pi)

- k:=33

- sum(k*x : x=0..10)

- f:=p->p*k

- f(pi)

Das folgende Bildschirmfoto zeigt die Karteikarte Konsole nach der Eingabe der oben genannten Beispiel-Ausdrücke:

Bildschirmfoto der &kalgebra;-Konsole mit den Beispiel-Ausdrücken &kalgebra;-Karteikarte Konsole

Mit den Aktionen für Skripte im Menü Konsole kann die Ausführung einer Folge von Berechnungen gesteuert werden:

&Ctrl; L Konsole Skript laden

- Führt alle Anweisungen in der Skriptdatei nacheinander aus. Damit können Sie zum Beispiel mathematische Funktionen aus Bibliotheken oder Ihre vorher erstellte Arbeit wieder laden.

&Ctrl; G Konsole Skript speichern

- Speichert alle Anweisungen, die seit Beginn der Sitzung eingegeben wurden, in eine Datei. Diese Textdatei kann dann zum Beispiel mit einem Editor wie Kate korrigiert oder bearbeitet werden.

&Ctrl; S Konsole Protokoll speichern

- Speichert das Protokoll mit allen Ergebnissen in einer &HTML;-Datei, um sie ausdrucken oder weiterzugeben.

## 2D-Graphen

Um einen neuen 2D-Graphen in &kalgebra; einzugeben, wechseln Sie zur Karteikarte 2D-Graph. Klicken Sie dann auf den Karteireiter Hinzufügen und geben Sie im Textfeld oben die neue Funktion ein.

### Syntax

Eine Funktion des Typs f(x) können Sie direkt so eingeben. Für Funktionen des Typs f(y) oder für polare Funktionen müssen Sie y-> und q-> als die gebundenen Variablen hinzufügen.

Beispiele:

- sin(x)

- x²

- y->sin(y)

- q->3*sin(7*q)

- t->vector{sin t, t**2}

Wenn Sie eine Funktion eingegeben haben, klicken Sie auf den Knopf OK, um den Graphen der Funktion auf der Karteikarte anzuzeigen.

### Eigenschaften

Mehrere Graphen können in derselben Ansicht angezeigt werden. Wechseln Sie dazu auf die Karteikarte Hinzufügen. Jeder Graph kann in einer eigenen Farbe dargestellt werden.

Die Ansicht kann mit dem Mausrad vergrößert oder verkleinert werden. Mit der linken Maustaste können Sie Bereiche in der Ansicht zur Vergrößerung auswählen. Mit den Pfeiltasten kann die Ansicht verschoben werden.

Auf der Karteikarte Liste können Sie durch Klicken mit der &RMBn; auf eine Funktion ein Kontextmenü öffnen, um die Funktion auszublenden oder zu entfernen.

Im Menü 2D-Graph sind diese Einträge vorhanden:

- Gitternetzlinien anzeigen oder ausblenden

- Seitenverhältnis bei Größenänderung beibehalten

- Vergrößern (&Ctrl; +) und Verkleinern (&Ctrl; -) der Ansicht

- Den Graphen als Bilddatei speichern (&Ctrl; S)

- Ansicht wieder auf die Originalgröße zurücksetzen

- Auflösung des Graphen einstellen

Das folgende Bildschirmfoto zeigt die Funktion sin(1/x) mit dem Cursor an der rechten Nullstelle der Funktion. Es wird eine sehr hohe Auflösung zur Anzeige verwendet, da die Funktion mit immer höherer Frequenz in der Nähe des Koordinatenursprungs schwingt. Folgen Sie mit dem Cursor dem Verlauf der Funktion, dann wird für jeden Punkt der x- und y-Wert der Funktion links unten angezeigt und diese Anzeige laufend aktualisiert. Gleichzeitig wird die Tangente der Funktion am aktuellen Schnittpunkt mit dem Cursor gezeichnet.

Hier sehen Sie ein Bildschirmfoto von der &kalgebra;-Karteikarte „2D-Graph“ &kalgebra;-Karteikarte „2D-Graph“

## 3D-Graphen

Wechseln Sie zur Karteikarte 3D-Graph und geben Sie im Textfeld unten eine Funktion ein. Zurzeit kann noch kein Funktionswert für die Z-Achse eingegeben werden. &kalgebra; erlaubt nur 3D-Funktionen abhängig von x und y, wie (x,y)->x*y, dabei ist z=x*y.

Beispiele:

- sin(x)*sin(y)

- x/y

Die Ansicht kann mit dem Mauszeiger verschoben und mit dem Mausrad vergrößert oder verkleinert werden. Mit der &LMBn; können Bereiche in der Ansicht zur Vergrößerung ausgewählt werden.

Die Pfeiltasten links und rechts drehen die Grafik um die senkrechte Z-Achse, die Pfeiltasten auf und ab drehen die Grafik um die horizontale Achse der Ansicht.

Im Menü 3D-Graph sind diese Einträge vorhanden:

- Transparenz der Ansicht aktivieren/deaktivieren

- Den Graphen als Bilddatei speichern (&Ctrl; S)

- Ansicht wieder auf die Originalgröße zurücksetzen

- Anzeige der Grafik als Gitternetz aus Punkten, Linien oder als gefüllte Fläche mit einem Liniengitter.

Hier sehen Sie ein Bildschirmfoto der sogenannten „Sombrero“-Funktion, die 3D-Grafik wird im Liniengitter-Stil angezeigt.

Hier sehen Sie ein Bildschirmfoto von der &kalgebra;-Karteikarte „3D-Graph“ &kalgebra;-Karteikarte „3D-Graph“

## Funktionen

Auf der Karteikarte Funktionen finden Sie eine Liste aller in &kalgebra; verfügbaren Funktionen. Wählen Sie eine Funktion aus der Liste oder im Suchfeld, dann wird die Beschreibung, die Parameter und ein Beispiel dieser Funktion mit dem Graphen links angezeigt.

Hier sehen Sie ein Bildschirmfoto der &kalgebra;-Karteikarte „Funktionen“ mit der Anzeige der Cosinus-Funktion.

Hier sehen Sie ein Bildschirmfoto von der &kalgebra;-Karteikarte „Funktionen“ &kalgebra;-Karteikarte „Funktionen“
&commands;

## Danksagungen und Lizenz

- Program copyright 2005-2009 &Aleix.Pol;

Dokumentation Copyright 2007 &Aleix.Pol; &Aleix.Pol.mail;

Übersetzung Burkhard Lücklueck@hube-lueck.de

&underFDL; &underGPL;

## Installation

### Woher Sie &kalgebra; erhalten

&install.intro.documentation;

### Kompilierung und Installation

&install.compile.documentation;
&documentation.index;