aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/40-eigenwerte/beispiele
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@othello.ch>2021-01-18 21:01:26 +0100
committerAndreas Müller <andreas.mueller@othello.ch>2021-01-18 21:01:26 +0100
commit812a80acf52275699afb285db46aa76be03006c2 (patch)
treed603bf9c54cd29909551d1cb7f5fd7b66c64ca4e /buch/chapters/40-eigenwerte/beispiele
parentneue Sachen zur linearen Algebra (diff)
downloadSeminarMatrizen-812a80acf52275699afb285db46aa76be03006c2.tar.gz
SeminarMatrizen-812a80acf52275699afb285db46aa76be03006c2.zip
add more stuff about spectral radius
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
2 files changed, 73 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)