Das Handbuch zu KAlgebra

# Das Handbuch zu KAlgebra

Aleix Pol `<aleixpol@gmail.com>`

Übersetzung: Burkhard Lück
Version Anwendungen 20.12 (2020-12-17)

Copyright © 2007 Aleix Pol

Rechtlicher Hinweis

KAlgebra ist eine Anwendung, die Ihren grafischen Taschenrechner ersetzt. KAlgebra hat numerische, logische, symbolische und analytische Fähigkeiten mit denen Sie mathematische Ausdrücke im Rechnerauswerten und die Ergebnisse zwei- oder dreidimensional darstellen können. KAlgebra basiert auf der Sprache „Mathematical Markup Language“ (MathML), es sind jedoch keine Kenntnisse von MathML erforderlich, um KAlgebra erfolgreich einsetzen zu können.

Kapitel 1. Einführung
Einführung

# Kapitel 1. 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:

- Ein Rechner 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:

Das Hauptfenster von KAlgebra besteht aus den Karteikarten Rechner, 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:

Sitzung → Neu (Strg+N)

  Öffnet ein neues KAlgebra-Hauptfenster

Sitzung → Vollbildmodus (Strg+Umschalt+F)

  Schaltet den Vollbildmodus für das KAlgebra-Fenster ein und aus. Dies kann auch mit dem Knopf rechts oben im KAlgebra-Fenster ausgeführt werden.

Sitzung → Beenden (Strg+Q)

  Beendet das Programm.

Kapitel 2. Syntax
Syntax

# Kapitel 2. 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ücken wie `or(1,0,0,0,0)` arbeiten.

Kapitel 3. Arbeiten mit dem Rechner
Arbeiten mit dem Rechner

# Kapitel 3. Arbeiten mit dem Rechner

KAlgebras Rechner hat erweiterten Fähigkeiten. Es können Ausdrücke im Modus Berechnen oder Auswerten eingeben werden, je nach Auswahl im Menü Rechner.

Im Auswertungsmodus vereinfacht KAlgebra Ausdrücke, auch wenn sie eine nicht definierte Variable enthalten. Im Berechnungsmodus wird alles berechnet und bei einer nicht definierte Variablen eine Fehlermeldung angezeigt.

Zusätzlich zur Anzeige der vom Benutzer eingegebenen Ausdrücke und deren Ergebnissen in der Karteikarte Rechner 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 oder Sie entfernen 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 Rechner 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 Rechner nach der Eingabe der oben genannten Beispiel-Ausdrücke:

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

Rechner → Skript laden (Strg+L)

  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.

Rechner → Zuletzt geöffnete Skripte

  Zeigt eine Untermenü zur Auswahl der zuletzt geöffneten Skripte an.

Rechner → Skript speichern (Strg+G)

  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.

Rechner → Protokoll speichern (Strg+S)

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

Rechner → ANS einfügen ... (F3)

  Fügt die Variable „`ANS`“ ein, damit können vorher berechnete Werte wiederverwendet werden.

Rechner → Berechnen

  Setzt den Ausführungsmodus auf Berechnen.

Rechner → Auswerten

  Setzt den Ausführungsmodus auf Auswerten.

Kapitel 4. 2D-Graphen
2D-Graphen

# Kapitel 4. 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
Eigenschaften

## 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.

### Anmerkung

Das Darstellungsfeld für einen 2D-Graph kann auf der Karteikarte Darstellungsfeld definiert werden.

Auf der Karteikarte Liste können Sie unten rechts mit Doppelklick auf eine Funktion die Karteikarte Bearbeiten öffnen. Dort kann die Funktion geändert werden. Verwenden Sie das Ankreuzfeld links neben dem Funktionsnamen, um die Anzeige der Funktion ein- und auszuschalten.

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

- Gitter: Zeigt die Gitternetzlinien an oder blendet sie aus

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

- Speichern: Den Graphen als Bilddatei speichern (Strg+S)

- Vergrößern/Verkleinern: Vergrößern (Strg++) und Verkleinern (Strg+-) der Ansicht

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

- Auflösung: Auflösung des Graphen auswählen

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.

Kapitel 5. 3D-Graphen
3D-Graphen

# Kapitel 5. 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:

- `(x,y)->sin(x)*sin(y)`

- `(x,y)->x/y`

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

Die Tasten Pfeil links und Pfeil rechts drehen die Grafik um die senkrechte `z`-Achse, die Tasten Pfeil hoch und Pfeil runter drehen die Grafik um die horizontale Achse der Ansicht. Drücken Sie die Taste W zum Vergrößern und die Taste S zum Verkleinern der Ansicht.

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

- Speichern: Den Graphen als Bilddatei oder unterstütztes Dokument speichern (Strg+S)

- Ansicht zurücksetzen: Ansicht wieder auf die Originalgröße in der Karteikarte 3D-Graph zurücksetzen

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

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

Kapitel 6. Funktionen
Funktionen

# Kapitel 6. 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.

Kapitel 7. Referenz der Funktionen für KAlgebra
Referenz der Funktionen für KAlgebra

# Kapitel 7. Referenz der Funktionen für KAlgebra

## plus

- Name: plus

- Beschreibung: Addition

- Parameter: plus(... Parameter, ...)

- Beispiel: x->x+2

times
times

## times

- Name: times

- Beschreibung: Multiplikation

- Parameter: times(... Parameter, ...)

- Beispiel: x->x*2

minus
minus

## minus

- Name: minus

- Beschreibung: Subtraktion. Subtrahiert alle Werte vom ersten Wert.

- Parameter: minus(... Parameter, ...)

- Beispiel: x->x-2

divide
divide

## divide

- Name: divide

- Beschreibung: Division

- Parameter: divide(par1, par2)

- Beispiel: x->x/2

quotient
quotient

## quotient

- Name: quotient

- Beschreibung: Quotient

- Parameter: quotient(par1, par2)

- Beispiel: x->quotient(x, 2)

power
power

## power

- Name: power

- Beschreibung: Potenz

- Parameter: power(par1, par2)

- Beispiel: x->x^2

root
root

## root

- Name: root

- Beschreibung: Wurzel

- Parameter: root(par1, par2)

- Beispiel: x->root(x, 2)

factorial
factorial

## factorial

- Name: factorial

- Beschreibung; Fakultät. factorial(n)=n!

- Parameter: factorial(par1)

- Beispiel: x->factorial(x)

and
and

## and

- Name: and

- Beschreibung: Boolesches Und

- Parameter: and(... Parameter, ...)

- Beispiel: x->piecewise { and(x>-2, x<2) ? 1, ? 0 }

or
or

## or

- Name: or

- Beschreibung: Boolesches Oder

- Parameter: or(... Parameter, ...)

- Beispiel: x->piecewise { or(x>2, x>-2) ? 1, ? 0 }

xor
xor

## xor

- Name: xor

- Beschreibung: Boolesches exclusives Oder

- Parameter: xor(... Parameter, ...)

- Beispiel: x->piecewise { xor(x>0, x<3) ? 1, ? 0 }

not
not

## not

- Name: not

- Beschreibung: Boolesches Nicht

- Parameter: not(par1)

- Beispiel: x->piecewise { not(x>0) ? 1, ? 0 }

gcd
gcd

## gcd

- Name: gcd

- Beschreibung: Größter gemeinsamer Teiler

- Parameter: gcd(... Parameter, ...)

- Beispiel: x->gcd(x, 3)

lcm
lcm

## lcm

- Name: lcm

- Beschreibung: Kleinstes gemeinsames Vielfaches

- Parameter: lcm(... Parameter, ...)

- Beispiel: x->lcm(x, 4)

rem
rem

## rem

- Name: rem

- Beschreibung: Rest

- Parameter: rem(par1, par2)

- Beispiel: x->rem(x, 5)

factorof
factorof

## factorof

- Name: factorof

- Beschreibung: Faktor von

- Parameter: factorof(par1, par2)

- Beispiel: x->factorof(x, 3)

max
max

## max

- Name: max

- Beschreibung: Maximum

- Parameter: max(... Parameter, ...)

- Beispiel: x->max(x, 4)

min
min

## min

- Name: min

- Beschreibung: Minimum

- Parameter: min(... Parameter, ...)

- Beispiel: x->min(x, 4)

lt
lt

## lt

- Name: lt

- Beschreibung: Kleiner als. lt(a,b)=a<b

- Parameter: lt(par1, par2)

- Beispiel: x->piecewise { x<4 ? 1, ? 0 }

gt
gt

## gt

- Name: gt

- Beschreibung: Größer als. gt(a,b)=a>b

- Parameter: gt(par1, par2)

- Beispiel: x->piecewise { x>4 ? 1, ? 0 }

eq
eq

## eq

- Name: eq

- Beschreibung: Gleich. eq(a,b) = a=b

- Parameter: eq(par1, par2)

- Beispiel: x->piecewise { x=4 ? 1, ? 0 }

neq
neq

## neq

- Name: neq

- Beschreibung: Ungleich. neq(a,b) = a≠b

- Parameter: neq(par1, par2)

- Beispiel: x->piecewise { x!=4 ? 1, ? 0 }

leq
leq

## leq

- Name: leq

- Beschreibung: Kleiner-Gleich. leq(a,b) = a≤b

- Parameter: leq(par1, par2)

- Beispiel: x->piecewise { x<=4 ? 1, ? 0 }

geq
geq

## geq

- Name: geq

- Beschreibung: Größer-Gleich. geq(a,b) = a≥b

- Parameter: geq(par1, par2)

- Beispiel: x->piecewise { x>=4 ? 1, ? 0 }

implies
implies

## implies

- Name: implies

- Beschreibung: Boolesche Implikation

- Parameter: implies(par1, par2)

- Beispiel: x->piecewise { implies(x<0, x<3) ? 1, ? 0 }

approx
approx

## approx

- Name: approx

- Beschreibung: Näherungswert. approx(a) = a±n

- Parameter: approx(par1, par2)

- Beispiel: x->piecewise { approx(x, 4) ? 1, ? 0 }

abs
abs

## abs

- Name: abs

- Beschreibung: Absoluter Wert. abs(n)=|n|

- Parameter: abs(par1)

- Beispiel: x->abs(x)

floor
floor

## floor

- Name: floor

- Beschreibung: Abrunden floor(n) = ⌊n⌋

- Parameter: floor(par1)

- Beispiel: x->floor(x)

ceiling
ceiling

## ceiling

- Name: ceiling

- Beschreibung: Aufrunden. ceil(n) = ⌈n⌉

- Parameter: ceiling(par1)

- Beispiel: x->ceiling(x)

sin
sin

## sin

- Name: sin

- Beschreibung: Funktion, um den Sinus eines gegebenen Winkels auszurechnen

- Parameter: sin(par1)

- Beispiel: x->sin(x)

cos
cos

## cos

- Name: cos

- Beschreibung: Funktion, um den Kosinus eines gegebenen Winkels auszurechnen

- Parameter: cos(par1)

- Beispiel: x->cos(x)

tan
tan

## tan

- Name: tan

- Beschreibung: Funktion, um den Tangens eines gegebenen Winkels auszurechnen

- Parameter: tan(par1)

- Beispiel: x->tan(x)

sec
sec

## sec

- Name: sec

- Beschreibung: Sekans

- Parameter: sec(par1)

- Beispiel: x->sec(x)

csc
csc

## csc

- Name: csc

- Beschreibung: Kosekans

- Parameter: csc(par1)

- Beispiel: x->csc(x)

cot
cot

## cot

- Name: cot

- Beschreibung: Kotangens

- Parameter: cot(par1)

- Beispiel: x->cot(x)

sinh
sinh

## sinh

- Name: sinh

- Beschreibung: Sinus Hyperbolicus

- Parameter: sinh(par1)

- Beispiel: x->sinh(x)

cosh
cosh

## cosh

- Name: cosh

- Beschreibung: Kosinus Hyperbolicus

- Parameter: cosh(par1)

- Beispiel: x->cosh(x)

tanh
tanh

## tanh

- Name: tanh

- Beschreibung: Tangens Hyperbolicus

- Parameter: tanh(par1)

- Beispiel: x->tanh(x)

sech
sech

## sech

- Name: sech

- Beschreibung: Sekans Hyperbolicus

- Parameter: sech(par1)

- Beispiel: x->sech(x)

csch
csch

## csch

- Name: csch

- Beschreibung: Kosekans Hyperbolicus

- Parameter: csch(par1)

- Beispiel: x->csch(x)

coth
coth

## coth

- Name: coth

- Beschreibung: Kotangens Hyperbolicus

- Parameter: coth(par1)

- Beispiel: x->coth(x)

arcsin
arcsin

## arcsin

- Name: arcsin

- Beschreibung: Arkussinus

- Parameter: arcsin(par1)

- Beispiel: x->arcsin(x)

arccos
arccos

## arccos

- Name: arccos

- Beschreibung: Arkuskosinus

- Parameter: arccos(par1)

- Beispiel: x->arccos(x)

arctan
arctan

## arctan

- Name: arctan

- Beschreibung: Arkustangens

- Parameter: arctan(par1)

- Beispiel: x->arctan(x)

arccot
arccot

## arccot

- Name: arccot

- Beschreibung: Arkuskotangens

- Parameter: arccot(par1)

- Beispiel: x->arccot(x)

arccosh
arccosh

## arccosh

- Name: arccosh

- Beschreibung: Arkuskosinus Hyperbolicus

- Parameter: arccosh(par1)

- Beispiel: x->arccosh(x)

arccsc
arccsc

## arccsc

- Name: arccsc

- Beschreibung: Arkuskosekans

- Parameter: arccsc(par1)

- Beispiel: x->arccsc(x)

arccsch
arccsch

## arccsch

- Name: arccsch

- Beschreibung: Arkuskosekans Hyperbolicus

- Parameter: arccsch(par1)

- Beispiel: x->arccsch(x)

arcsec
arcsec

## arcsec

- Name: arcsec

- Beschreibung: Arkussekans

- Parameter: arcsec(par1)

- Beispiel: x->arcsec(x)

arcsech
arcsech

## arcsech

- Name: arcsech

- Beschreibung: Arkussekans Hyperbolicus

- Parameter: arcsech(par1)

- Beispiel: x->arcsech(x)

arcsinh
arcsinh

## arcsinh

- Name: arcsinh

- Beschreibung: Arkussinus Hyperbolicus

- Parameter: arcsinh(par1)

- Beispiel: x->arcsinh(x)

arctanh
arctanh

## arctanh

- Name: arctanh

- Beschreibung: Arkustangens Hyperbolicus

- Parameter: arctanh(par1)

- Beispiel: x->arctanh(x)

exp
exp

## exp

- Name: exp

- Beschreibung: Exponent (e^x)

- Parameter: exp(par1)

- Beispiel: x->exp(x)

ln
ln

## ln

- Name: ln

- Beschreibung: Natürlicher Logarithmus zur Basis e

- Parameter: ln(par1)

- Beispiel: x->ln(x)

log
log

## log

- Name: log

- Beschreibung: Dekadischer Logarithmus

- Parameter: log(par1)

- Beispiel: x->log(x)

conjugate
conjugate

## conjugate

- Name: conjugate

- Beschreibung: konjugiert-komplexe Zahl

- Parameter: conjugate(par1)

- Beispiel: x->conjugate(x*i)

arg
arg

## arg

- Name: arg

- Beschreibung: Polarwinkel einer komplexen Zahl

- Parameter: arg(par1)

- Beispiel: x->arg(x*i)

real
real

## real

- Name: real

- Beschreibung: Realteil einer komplexen Zahl

- Parameter: real(par1)

- Beispiel: x->real(x*i)

imaginary
imaginary

## imaginary

- Name: imaginary

- Beschreibung: Imaginärteil einer komplexen Zahl

- Parameter: imaginary(par1)

- Beispiel: x->imaginary(x*i)

sum
sum

## sum

- Name: sum

- Beschreibung: Summe

- Parameter: sum(par1 : var=von..bis)

- Beispiel: x->x*sum(t*t:t=0..3)

product
product

## product

- Name: product

- Beschreibung: Produkt

- Parameter: product(par1 : var=von..bis)

- Beispiel: x->product(t+t:t=1..3)

diff
diff

## diff

- Name: diff

- Beschreibung: Differentiation

- Parameter: diff(par1 : var)

- Beispiel: x->(diff(x^2:x))(x)

card
card

## card

- Name: card

- Beschreibung: Kardinal

- Parameter: card(par1)

- Beispiel: x->card(vector { x, 1, 2 })

scalarproduct
scalarproduct

## scalarproduct

- Name: scalarproduct

- Beschreibung: Skalarprodukt

- Parameter: scalarproduct(... Parameter, ...)

- Beispiel: x->scalarproduct(vector { 0, x }, vector { x, 0 })[1]

selector
selector

## selector

- Name: selector

- Beschreibung: Wählt das par1-te Element aus der Liste oder dem Vektor par2.

- Parameter: selector(par1, par2)

- Beispiel: x->scalarproduct(vector { 0, x }, vector { x, 0 })[1]

union
union

## union

- Name: union

- Beschreibung: Verbindet mehrere Einträge desselben Typs

- Parameter: union(... Parameter, ...)

- Beispiel: x->union(list { 1, 2, 3 }, list { 4, 5, 6 })[rem(floor(x), 5)+3]

forall
forall

## forall

- Name: forall

- Beschreibung: Für alle

- Parameter: forall(par1 : var)

- Beispiel: x->piecewise { forall(t:t@list { true, false, false }) ? 1, ? 0 }

exists
exists

## exists

- Name: exists

- Beschreibung: Existenz

- Parameter: exists(par1 : var)

- Beispiel: x->piecewise { exists(t:t@list { true, false, false }) ? 1, ? 0 }

map
map

## map

- Name: map

- Beschreibung: Wendet eine Funktion auf jedes Element einer Liste an

- Parameter: map(par1, par2)

- Beispiel: x->map(x->x+x, list { 1, 2, 3, 4, 5, 6 })[rem(floor(x), 5)+3]

filter
filter

## filter

- Name: filter

- Beschreibung: Entfernt alle Elemente, die nicht einer Bedingung entsprechen

- Parameter: filter(par1, par2)

- Beispiel: x->filter(u->rem(u, 2)=0, list { 2, 4, 3, 4, 8, 6 })[rem(floor(x), 5)+3]

transpose
transpose

## transpose

- Name: transpose

- Beschreibung: Transpose

- Parameter: transpose(par1)

- Beispiel: x->transpose(matrix { matrixrow { 1, 2, 3, 4, 5, 6 } })[rem(floor(x), 5)+3][1]

Kapitel 8. Danksagungen und Lizenz
Danksagungen und Lizenz

# Kapitel 8. Danksagungen und Lizenz

- Program copyright 2005-2009 Aleix Pol

Dokumentation Copyright 2007 Aleix Pol `(aleixpol AT gmail.com)`

Übersetzung Burkhard Lück`(lueck AT hube-lueck.de)`

Diese Dokumentation ist unter den Bedingungen der GNU Free Documentation License veröffentlicht.

Dieses Programm ist unter den Bedingungen der GNU General Public License veröffentlicht.