diff options
Diffstat (limited to '')
-rw-r--r-- | buch/chapters/40-eigenwerte/beispiele/Makefile | 8 | ||||
-rw-r--r-- | buch/chapters/40-eigenwerte/beispiele/i.m | 65 | ||||
-rw-r--r-- | buch/chapters/40-eigenwerte/beispiele/jp.maxima | 19 | ||||
-rw-r--r-- | buch/chapters/40-eigenwerte/beispiele/n.m | 55 | ||||
-rw-r--r-- | buch/chapters/40-eigenwerte/beispiele/n.maxima | 20 |
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; |