aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/40-eigenwerte/beispiele
diff options
context:
space:
mode:
Diffstat (limited to 'buch/chapters/40-eigenwerte/beispiele')
-rw-r--r--buch/chapters/40-eigenwerte/beispiele/Makefile8
-rw-r--r--buch/chapters/40-eigenwerte/beispiele/i.m65
-rw-r--r--buch/chapters/40-eigenwerte/beispiele/jp.maxima19
-rw-r--r--buch/chapters/40-eigenwerte/beispiele/n.m55
-rw-r--r--buch/chapters/40-eigenwerte/beispiele/n.maxima20
5 files changed, 167 insertions, 0 deletions
diff --git a/buch/chapters/40-eigenwerte/beispiele/Makefile b/buch/chapters/40-eigenwerte/beispiele/Makefile
new file mode 100644
index 0000000..543ef65
--- /dev/null
+++ b/buch/chapters/40-eigenwerte/beispiele/Makefile
@@ -0,0 +1,8 @@
+#
+# Makefile -- Berechnungen für Beispiel durchführen
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all:
+ octave i.m
+
diff --git a/buch/chapters/40-eigenwerte/beispiele/i.m b/buch/chapters/40-eigenwerte/beispiele/i.m
new file mode 100644
index 0000000..353e3a2
--- /dev/null
+++ b/buch/chapters/40-eigenwerte/beispiele/i.m
@@ -0,0 +1,65 @@
+#
+# i.m -- invariante
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+
+A0 = [
+ 2, 1, 0, 0;
+ 0, 2, 1, 0;
+ 0, 0, 2, 0;
+ 0, 0, 0, 3
+];
+
+# find a 3x3 matrix in SL(3,Z)
+
+function retval = zufallswert()
+ x = round(rand() * 10) - 2;
+ if (x >= 0)
+ x = x + 1;
+ endif
+ retval = x;
+end
+
+function retval = zufallsmatrix(n)
+ retval = zeros(n, n);
+ for i = (1:n)
+ for j = (1:n)
+ retval(i,j) = zufallswert();
+ end
+ end
+end
+
+function retval = regulaer(n)
+ d = 0;
+ do
+ retval = zufallsmatrix(2);
+ d = det(retval);
+ until (d == 1);
+end
+
+function retval = eingebettet(n,k)
+ retval = eye(n);
+ retval(k:k+1,k:k+1) = regulaer(2);
+end
+
+format long
+
+B = eye(4);
+B = B * eingebettet(4,3)
+B = B * eingebettet(4,1)
+B = B * inverse(eingebettet(4,2))
+#B = B * eingebettet(4,2)
+
+B
+inverse(B)
+
+A = round(B * A0 * inverse(B))
+
+D = A - 2 * eye(4)
+rank(D)
+
+E = round(D*D*D*D)
+rank(E')
+
+rref(E)
diff --git a/buch/chapters/40-eigenwerte/beispiele/jp.maxima b/buch/chapters/40-eigenwerte/beispiele/jp.maxima
new file mode 100644
index 0000000..a80a0a2
--- /dev/null
+++ b/buch/chapters/40-eigenwerte/beispiele/jp.maxima
@@ -0,0 +1,19 @@
+/*
+ * jp.maxima -- potenzen von Jordan-Blöcken
+ *
+ * (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+ */
+
+A: matrix(
+[lambda, 1, 0, 0, 0, 0 ],
+[ 0,lambda, 1, 0, 0, 0 ],
+[ 0, 0,lambda, 1, 0, 0 ],
+[ 0, 0, 0,lambda, 1, 0 ],
+[ 0, 0, 0, 0,lambda, 1 ],
+[ 0, 0, 0, 0, 0,lambda ]
+);
+B: A.A;
+B: B.A;
+B: B.A;
+B: B.A;
+B: B.A;
diff --git a/buch/chapters/40-eigenwerte/beispiele/n.m b/buch/chapters/40-eigenwerte/beispiele/n.m
new file mode 100644
index 0000000..af0219b
--- /dev/null
+++ b/buch/chapters/40-eigenwerte/beispiele/n.m
@@ -0,0 +1,55 @@
+#
+# n.m -- Polynome mit dem gleichen Wert von p(A)
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+
+A0 = [
+ 2, 1, 0;
+ 0, 2, 0;
+ 0, 0, 3
+];
+
+# find a 3x3 matrix in SL(3,Z)
+
+function retval = zufallswert()
+ x = round(rand() * 10) - 2;
+ if (x >= 0)
+ x = x + 1;
+ endif
+ retval = x;
+end
+
+function retval = zufallsmatrix(n)
+ retval = zeros(n, n);
+ for i = (1:n)
+ for j = (1:n)
+ retval(i,j) = zufallswert();
+ end
+ end
+end
+
+function retval = regulaer(n)
+ d = 0;
+ do
+ retval = zufallsmatrix(2);
+ d = det(retval);
+ until (d == 1);
+end
+
+function retval = eingebettet(n,k)
+ retval = eye(n);
+ retval(k:k+1,k:k+1) = regulaer(2);
+end
+
+format long
+
+B = eye(3);
+B = B * eingebettet(3,2)
+B = B * eingebettet(3,1)
+
+B
+inverse(B)
+
+A = round(B * A0 * inverse(B))
+
diff --git a/buch/chapters/40-eigenwerte/beispiele/n.maxima b/buch/chapters/40-eigenwerte/beispiele/n.maxima
new file mode 100644
index 0000000..9ed83b6
--- /dev/null
+++ b/buch/chapters/40-eigenwerte/beispiele/n.maxima
@@ -0,0 +1,20 @@
+/*
+ * n.maxima
+ *
+ * (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+ */
+A: matrix(
+ [ 1, 9, -4 ],
+ [ -1, 3, 0 ],
+ [ -2, 0, 3 ]
+);
+
+p: expand(charpoly(A,x));
+factor(p);
+
+A.A;
+A.A.A;
+
+A.A - 5*A;
+
+A.A.A -7*A.A +16 *A;