dh-Materialien
Maple   
Übersicht
 

Datentypen
(ausgewählte Datentypen)


algebraic

Der Datentyp algebraic umfasst die Datentypen rational, integer, fraction, float, complex, polynom, name, symbol, indexed, series, uneval sowie `+`,  `*`,  `^`,  `!` und  `.`. 

Beispiele für algebraische Ausdrücke:
  a*b, -34, 34.007, ln(2), sqrt(7);
  z/n + 1, x^n, f(x), A[i], infinity

Datentyp, mit dem rationale Zahlen dargestellt werden.
Der Datentyp rational umfasst die Datentypen integer und fraction.
Eine rationale Zahl ist gleichzeitig auch vom Typ numeric.

Beispiele für rationale Zahlen:
  -67, -3, -1/2, 0, 2/3, 1/infinity

Datentyp, mit dem ganze Zahlen dargestellt werden.

Beispiele für ganze Zahlen:
  -67, -3, 0, 1, 2345, 100000000

> type(-67, integer);
      true

Maximale Länge einer in Maple darstellbaren integer-Zahl (systemabhängig):
> kernelopts(maxdigits);
     268435448

> convert(45, float);
     45.

Mögliche Eigenschaften von integer-Zahlen:

 even gerade ganze Zahl
 odd ungerade ganze Zahl
 posint positive ganze Zahl
 negint negative ganze Zahl
 nonposint nicht-positive ganze Zahl
 nonnegint nicht-negative ganze Zahl  
 prime Primzahl

> type (7, prime);
      true

Datentyp, mit dem Brüche dargestellt werden.

Beispiele für Brüche:
  -2/3, -1/1000, 1/2, 2/4, 675/13

> type(-2/3, fraction); 
      true
> 
convert(1/3, float);
   0.3333333333

Datentyp, mit dem Gleitkommazahlen dargestellt werden.
Eine Gleitkommazahl ist gleichzeitig auch vom Typ numeric.

Beispiele für Gleitkommazahlen:
  -45.046, -0.007, 2367.6499, 0.79E23

> type(0.46, float);
      true
> convert(0.33, fraction);
  

Mögliche Eigenschaften von Gleitkommazahlen:

 positive positive reelle Zahl
 negative negative reelle Zahl
 nonnegative nicht-negative reelle Zahl 

Datentyp, mit dem komplexe Zahlen dargestellt werden.

Beispiele für komplexe Zahlen:
  I, -3*I, 2+5*I, a+b*I

> type(2+5*I, complex);
      true
> type(a+b*I, complex(name));
      true
> 
type(1/2-3*I, complex(rational));
      true

Einige mögliche Eigenschaften komplexer Zahlen:

 real reelle Zahl
 realcons reelle Konstante
 imaginary Realteil ist gleich 0
 GaussianInteger Real- und Imaginärteil sind vom Typ integer
 NumeralNonZero von 0 verschiedene komplexe Zahl

Datentyp, mit dem Polynome dargestellt werden.

Beispiele für Polynome:
  4*x^3+x^2-7, 2*x^5, a*x^4+b*x

Mögliche Eigenschaften von Polynomen:

 polynom(integer) Polynom, nur mit ganzen Koeffizienten
 polynom(rational)   Polynom, nur mit rationalen Koeffizienten

> type(1/2*x^3 + 2*x, polynom(rational));
      true

Datentyp, mit dem Bezeichner dargestellt werden.
Der Datentyp name umfasst die Datentypen symbol und indexed;

Beispiele für Bezeichner:
  x3, P||i, _envVariable, y~, a[10]

> type(x3, name);
      true
> type(etwas(x), name);
      true
> convert(name, string);
      "name"

Datentyp, mit dem symbolische Bezeichner dargestellt werden.

Beispiele für symbolische Bezeichner:
  x3, P||i, _envVariable, y~, Pi

> type(x3, symbol);
      true

Es gibt sieben symbolische Konstanten: false, gamma, infinity, true, Catalan, FAIL, Pi.

Datentyp, mit dem indizierte Bezeichner dargestellt werden.

Beispiele für indizierte Bezeichner:
  a[10], B[2][3]

> type(a[10], indexed);
      true
 

Datentyp, mit dem Reihenentwicklungen dargestellt werden.

Beispiele für Reihenentwicklungen:
  taylor(sqrt(x), x=2, 3), series(x+1/x, x=1, 4)

> type(taylor (sqrt(x), x = 2, 3), series);
      true

Datentyp, mit dem unbewertete Ausdrücke dargestellt werden.

Beispiele für unbewertete Ausdrücke:
  'x+y', '3',
nicht zu verwechseln mit "x+y" oder "3" vom Typ string.

> type(’’x+y’’, uneval);
      true
> type("x+y", string);
      true
> type(x+y, algebraic);
      true
> a:= 3:
  a;

      3
> a:= ’a’:
  a;

      a

Datentyp, mit dem Summenterme dargestellt werden.

Beispiele für Summenterme:
  x+y, x+3, x*y + z^2

>  type(x+y, `+`);
      true

Datentyp, mit dem Produktterme dargestellt werden.

Beispiele für Produktterme:
  x*y, 2*(a+b)*z

> type(x*y, `*`);
      true

Datentyp, mit dem Potenzterme dargestellt werden.

Beispiele für Potenzterme:
  x^n, 3^(n+1)

> type(x^n, `^`);
      true

Datentyp, mit dem Fakultätsterme dargestellt werden.

Beispiele für Fakultätsterme:
  x!, (n-4)!

> type(x!, `!`);
      true

Datentyp, mit dem (nicht-kommutative) Punktproduktterme dargestellt werden.

Beispiele für Punktproduktterme:
  a.b, (x+1).y

> type(a.b, `.`);
      true
> evalb(a.b = b.a);
      false


boolean

Der Datentyp boolean umfasst die Datentypen logical und relation.


Datentyp, mit dem Boole'sche Ausdrücke unter Benutzung der logischen Operatoren and, or, xor, implies und not dargestellt werden.

Beispiele für logische Ausdrücke:
  p and q or r, p implies q, not p

> type(ToBe or NotToBe), logical);
      true

Datentyp, mit dem Boole'sche Ausdrücke unter Benutzung der Vergleichsoperatoren  <, <=, >, >=, = und <> dargestellt werden.

Beispiele für vergleichende Ausdrücke:
x > 5, x < y

> type(5 < 3), relation);
      true

Es gibt drei logische Konstanten: true, false und FAIL.

        


string

Der Datentyp string dient zur Darstellung von Zeichenketten.

Beispiele für Zeichenketten:
  "Maple 2019", "CAS", "", "  ", "123"

> type("12345"), string);
      true
> type("12345"), integer);
      false


array

Der Datentyp array dient zur Darstellung von mehrdimensionalen Feldern.

Beispiele für Felder:
  array(2..4, 1..2, 0..5), array([[a, b], [c, d]])

> type(array(2..4, 1..2) ), array);
      true
> a:= array(2..4, 1..2) ) :
  print(a);

   
> feld:= array([[a, b], [c, d]]);
   

  matrix

Datentyp, mit dem Matrizen dargestellt werden.
Matrizen sind in Maple 2-dimensionale Felder mit Zeilen und Spalten, die stets ab 1 indiziert sind.

Beispiele für Matrizen:
  array(1..3, 1..3), matrix([[a, b], [c, d]]), matrix(2, 2,[5,4,6,3])

> type(array(1..3, 1..3), matrix);
      true

Einige mögliche Eigenschaften von Matrizen:

 SquareMatrix quadratische Matrix
 symmetric symmetrische Matrix
 antisymmetric antisymmetrische M.
 ElementaryMatrix  Elementarmatrix
 IdentityMatrix identische Matrix
 triangular Dreiecksmatrix
 UpperTriangular obere Dreiecksmatrix
 LowerTriangular untere Dreiecksmatrix
 diagonal Diagonalmatrix
 ScalarMatrix Skalarmatrix
 NullMatrix Nullmatrix

  vector

Datentyp, mit dem 1-dimensionale Felder dargestellt werden.

Beispiele für 1-dimensionale Felder:
  array(1..5), array([x1, x2, x3], vector([2, 3, 4]

> type(array(1..5), vector);
      true


Vector

Der Datentyp Vector dient zur Darstellung von Vektoren

.
  Vector[row]

Datentyp, mit dem Zeilenvektoren dargestellt werden.

Beispiele für Zeilenvektoren:
<5| 4| -6>, Vector[row]([5, 4, -6])

> type(<5| 4| -6>, Vector[row]);
      true
> <5| 4| -6| 3>;
     [5, 4, -6, 3]

  Vector[column]

Datentyp, mit dem Spaltenvektoren dargestellt werden.

Beispiele für Spaltenvektoren:
  <5, 4, -6>, Vector[column]([5, 4, -6]), Vector([5, 4, -6])

> type(<5, 4, -6>, Vector[column]); 
      true
> <5, 4, -6, 3>;
 


set

Der Datentyp set dient zur Darstellung von (endlichen) Mengen.
Die Elemente einer Menge sind nicht geordnet.

Beispiele für Mengen:
  {Element, nochnElement}, {}

> type({}, set);
      true


list

Der Datentyp list dient zur Darstellung von (endlichen) Listen.
Die Elemente einer Liste sind geordnet.

Beispiele für Listen:
  [erstesElement, zweitesElement], []

> type([], list);
      true


exprseq

Der Datentyp exprseq dient zur Darstellung von (endlichen) Folgen.

Beispiele für Folgen:
  seq(i, i = 1..10), seq (a[i], i = 5..25), NULL

> whattype(seq (i, i = 1..10));
     exprseq


procedure

Der Datentyp procedure dient zur Darstellung von Prozeduren und Funktionen.

Beispiele für Prozeduren bzw. Funktionen:
  (proc(n) (n+1)! end), (x-> x^2), sin

> type((proc(n) (n+1)! end), procedure);
      true
> type(sin, procedure);
      true

Einige mögliche Eigenschaften von Funktionen:

 EvenMap gerade Funktion
 OddMap ungerade Funktion
 unary unäre Funktion
 binary binäre Funktion
 continuous stetige Funktion
 differentiable   differenzierbare Funktion
 monotonic monotone Funktion auf den reellen Zahlen
 operator Abbildung einer Funktion auf eine Funktion


function

Der Datentyp function dient zur Darstellung von Funktionstermen.

Beispiele für Ausdrücke vom Typ function:
  sin(x), f(x), (x -> sqrt(x))(x), n!
nicht  x^2 oder 3!

> type(sin(x), function);
      true
> type(etwas(x), function);
      true

Mögliche Eigenschaften von Funktionstermen:

 evenfunc (x)  gerader Funktionsterm
 oddfunc (x) ungerader Funktionsterm 

> type(x^4 - 5*x^2, evenfunc(x));
      true
> type(sin(x), oddfunc(x));
      true