Einführung/ Introduction

1. Einführung/ Introduction

0  	Frontend versus Kernel
1  	Operationen / Opérations
2 	Analysis / Analyse
2.1 	Plots ==> CM1
2.2 	Rekursiv programmieren (Pattern Maching) / Programmation récursive  ==> CM1
2.3 	Zeit messen / mesurer le temps  ==> CM1
2.4 	Ableiten / La derivée  ==> CM1
2.5 	Integral / L'intégrale  ==> CM1
2.6 	Differentialgleichung / Equation différentielle  ==> CM1
2.7 	Grenzwerte / Valeurs limites
2.8 	Potenzreihen / Séries de puissances
2.9 	Vektoranalysis / Analyse vectorielle
3	Nochmals Graphic / Encore une fois graphiques
4 	Nochmals Algebra / Algèbre encore une fois
			Gleichungen/Equations
		   Matrizen / Matrices
5 	Zellen / Cellules
6 	Darstellungen / Représentations
6.1 	Zahlentypen / Types de nombres
6.2 	Ein wenig rechnen mit Zahlen und Symbolen / Calculer un peu avec des nombres et des symboles
			Abfragen / Interroger
			Umwandlungen / Transformations
		        Zahlensysteme / Systèmes de nombres
		        Genauigkeit, Zeit / Précision, temps
		        Manipulationen / Manipulations
		        Manipulationen in Schritten / Manipulations en plusieurs étapes
		        Ersetzungen / Remplacements
6.3   Vektoren und Listen / Vecteure et listes
			Grundoperationen / Opérations de base
			Eingabe, Darstellung / Entrée, représentation
			Addition, Multiplikation mit Skalar / Addition, multiplication avec un  scalaire (valeur)
			    Skalarprodukt / Produit scalaire
			    Länge / Longueur
			    Werte extrahieren / Extraire des valeurs
			    Manipulation / Manipulations
			    Vektorprodukt / Produit vectoriel
			Vektorgeometrie / Géométrie vectorielle
			    Gerade durch P und Q / Droite par P et Q
			    Verlegung von v1 bezüglich v2 / Décomposition de v1 par rapport à v2
			    Lot von T auf die Gerade g / Perpendiculaire de T sur la droite g
			    Gerade q=TH, Abstand von Gerade g=PQ / Droite q=TH, distance de la droite g=PQ
			    Gleichung der Ebene durch P, Q, T / Equation du plan par P, Q, T
			    Distanz von H zur Ebene / Distance de H au plan
			    Winkel zwischen der Ebene und der Geraden q / Angle entre le plan et la droite q

6.xxx   .......... / ............

?Remove

Remove["`*"] remove completely all symbols in the Global` context !!!!!!!!

Remove["`*"]

6.4 Matrixen/Matrices

Matrix eingeben, Addition, Multiplikation / Entrer la matrice, addition, multiplication

?A

?B

?C

?C1

A = {{1, 2, 3}, {5, 5, 2}}

A // MatrixForm

B = {{1, 2}, {4, 6}};  MatrixForm[B]

C1 = {{a, b}, {c, d}}

%[[1]]

%%[[2]]

C1 // MatrixForm

MatrixForm[B + C1]

MatrixForm[A + C1]

MatrixForm[5 C1]

Matrixprodukt - Produit matriciel

B . C1 // MatrixForm

C1 . B // MatrixForm

C1 . A // MatrixForm

A . C1 // MatrixForm

Gleichungssystem lösen - Résoudre un système d'équations

{x, y} = Inverse[B] . {u, v};   {x, y}

A = {{1, 2, 3, 4}, {5, 5, 2, 6}, {2, 2, 4, 4}, {1, 2, 4, 4}}; 
    A // MatrixForm

Zum Gauss-Verfahren: Dreiecksmatix (oder gleich Diagonalmatrix) herstellen:

RowReduce[A]//MatrixForm

A={{1,2,3,4},{5,5,2,6},{2,2,4,4},{1,2,3,4}};A//MatrixForm

RowReduce[A]//MatrixForm

A={{1,2,3,4},{1,1,2,2},{2,2,4,4},{1,2,3,4}};A//MatrixForm

RowReduce[A]//MatrixForm

In Vektor verwandeln - Transformer  en vecteur

Flatten[A]

C1 // Flatten

Transponieren, Invertieren, Determinante - Transposer, invertir, déterminant

Transpose[A] // MatrixForm

Transpose[C1] // MatrixForm

Inverse[C1] // MatrixForm

Inverse[B] // MatrixForm

Inverse[A] // MatrixForm

Det[C1]

Remove[m, u, k]

m = 
      Table[Table[u^3 - u - 2  k^3 + Floor[Sin[k]], {k, 1, 10}], {u, 1, 10}]; 
    m // MatrixForm

Det[m]

Inverse[m] // MatrixForm

m - IdentityMatrix[10] // Det

m - IdentityMatrix[10] // MatrixForm

Inverse[m - IdentityMatrix[10]] // MatrixForm

Diagonalmatrix, Einheitsmatrix - Matrice diagonale, matrice unité

Eigenvalues[B]

Eigenvectors[B]

Eigenvalues[m] // N

Eigenvectors[m] // N

Eigenwerte, Eigenvektoren - Valeurs et vecteurs propres

IdentityMatrix[4] // MatrixForm

DiagonalMatrix[{a, b, c, d}] // MatrixForm

Manipulationen - Manipulations

Append[B, {u, v}] // MatrixForm

Append[{u, v}, B] // MatrixForm

Append[Transpose[B], {u, v}] // Transpose // MatrixForm

H = Append[Transpose[Append[Transpose[B], {u, v}]], {r, s, t}];  
    H // MatrixForm

Spur, Tensorprodukt - Trace, produit tensoriel

spur = Sum[H[[i, i]], {i, 1, 3}]

Outer[Times, {7, 2, 4}, {x, s, z}] // MatrixForm

6.5 Funktionen / Fonctions

Namen der Funktionen finden - Trouver les noms des fonctions

?Sin*

?*Log*

Exakte Werte - Valeurs exactes

Sin[Pi/4]

Sin[Pi/8]

Sinh[0]

Tan[Pi/2]

Tan[Pi/4]

Clear[x]

Tan'[x]

D[Tan[x], x]

ArcSin[1/Sqrt[2]]

Stückweise, puktweise Definition - Définition par intervalle et par points

f[x_ /; x < 0] := x^2;
f[x_ /; x >= 0  &&  x < 2] := x;
f[x_ /; x >= 2] := -x + 4;
Plot[f[x], {x, -2, 4}];

f1[x_Integer /; Positive[x]] := x^2;
f1[x_Integer /; Negative[x]] := -2 
          x;
Table[{x, f1[x]}, {x, -4, 4}] // MatrixForm

f1[0] = 4;  fTab1 = Table[{x, f1[x]}, {x, -4, 4}];  
    fTab1 // MatrixForm

fTab2 = Table[f1[x], {x, -4, 4}]

Plot[f1[x], {x, -2, 4}];

f1[-2.2]

f1[Pi]

ListPlot[fTab1, PlotStyle -> PointSize[0.02]];

ListPlot[fTab2, PlotStyle -> PointSize[0.02]];

Beispiel mit Listenmanipulation - Example abec manipulation d'une liste

?Prod*

x = {a, b, c, d, e, f, g}

Length[x]

g[x_List] := 
        Product[Sin[k + x[[k]]^2], {k, 1, 
            Length[x]}];
g[x]

Clear[y]; g[y]

y = 5; g[y]

y = {u}; g[y]

Clear[x]

Product[(k + x), {k, 1, 6}]

Expand[%]

6.6 Numerische Genauigkeit / Précision numérique

Erstaunliche Beispiele / Exemples remarquables

10^101 + 1 - 10^101

Clear[x, y, u]

u = x^2 - 2  y^2 /.  {x -> 665857, y -> 470832}

u = 
      9  x^4 - y^4 + 2  y^2 /.  {x -> 10864, 
          y -> 18817}

Gleitkomma-Arithmetik-Fehler / Fautes à cause d'arithmétique avec virgule flottante

w1 = 
      333.75  x^6 + y^2 (11  x^2 y^2 - x^6 - 121  x^4 - 2) + 5.5  x^8 + 
          y/(2  x)  /.  {x -> 33096, y -> 77617}

N[w1, 30]

w2 = 
      33375/100 x^6 + y^2 (11  x^2 y^2 - x^6 - 121  x^4 - 2) + 
          55/10 x^8 + y/(2  x)  /.  {x -> 33096, 
          y -> 77617}

N[w]

N[w2, 30]

a1 = w1 - w2

a2 = (33375/100 x^6 + y^2 (11  x^2 y^2 - x^6 - 121  x^4 - 2) + 
            55/10 x^8 + y/(2  x))   -   (33375/100 x^6 + 
            y^2 (11  x^2 y^2 - x^6 - 121  x^4 - 2) + 55/10 x^8 + 
            y/(2  x))

fehler = a1 - a2

Wilkinson

Remove["Global`*"]

w[x_] := Product[(x - i), {i, 1, 20}];  w[x]

wEx[x_] := Expand[w[x]];  wEx[x]

Minime Störung / Faute minimale

wilkinson[x_] := wEx[x] - 2^(-23) x^19;  
    wilkinson[x]

res1 = Solve[wEx[x] == 0, {x}]

res2 = NSolve[wilkinson[x] == 0, {x}]

res3 = NSolve[wilkinson[x] == 0, {x}, 20]

h[z_] := Simplify[Expand[Product[z - x /. res3[[i]], {i, 20}]]]; 
    h[z]

h[10]

wilkinson[10] // N

Remove[fehler]

fehler[u_] := h[u] - wEx[u];  fehler[u]

fehler[1] // N

fehler[10] // N

Plot[wEx[u], {u, 0, 10}];

Plot[h[u], {u, 0, 10}];

Plot[{h[u] - wEx[u]}, {u, 0, 10}];

Solve[wilkinson[x] == 0, {x}]

An. 	Uebung / Excercice

1.===>  Output 
2. ===> Kommentar pro Linie / commentaire par ligne
3. ===> Porte-Feuille