wolfi_help

142 days ago by PatrickHammer

Beispiel 1

a)

var('l') A=matrix([[1,0,0],[0,1,-2],[0,-2,-2]]) print "Schummel-Lösung:",A.eigenvalues() #Lösung zur Kontrolle show(A) show(l-A) print "det(l-A) bzw.",det(l-A)," nun =0 setzen und die Lösung für l ist:" eigenvalues=solve(det(l-A)==0,l) print eigenvalues 
       
Schummel-Lösung: [2, 1, -3]
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 1 & 0 & 0 \\ 0 & 1 & -2 \\ 0 & -2 & -2 \end{array}\right)
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} l - 1 & 0 & 0 \\ 0 & l - 1 & 2 \\ 0 & 2 & l + 2 \end{array}\right)
det(l-A) bzw. (l - 1)*((l - 1)*(l + 2) - 4) nun =0 setzen und die Lösung für l ist: [ l == -3, l == 2, l == 1 ]
Schummel-Lösung: [2, 1, -3]
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 1 & 0 & 0 \\ 0 & 1 & -2 \\ 0 & -2 & -2 \end{array}\right)
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} l - 1 & 0 & 0 \\ 0 & l - 1 & 2 \\ 0 & 2 & l + 2 \end{array}\right)
det(l-A) bzw. (l - 1)*((l - 1)*(l + 2) - 4) nun =0 setzen und die Lösung für l ist: [ l == -3, l == 2, l == 1 ]
print "schummellösung:" for b in [s[1] for s in A.eigenvectors_right()]: show(b) var('a b c') print "Eigenvektor x zu einem Eigenwert l kriegen wir aus (A-l)*x=0" for l in eigenvalues: #für jeden eigenwert den eigenvektor Links=(A-l.rhs())*vector([a,b,c]) Rechts=vector([0,0,0]) show(solve([i==j for i,j in zip(Links,Rechts)],a,b,c)[0]) print "passt, da beliebige Faktor r interessiert uns ned den kannst rausstreichen und du kriegst obige ergebnisse" 
       
schummellösung:
\newcommand{\Bold}[1]{\mathbf{#1}}\left[\left(0,\,1,\,-\frac{1}{2}\right)\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\left[\left(1,\,0,\,0\right)\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\left[\left(0,\,1,\,2\right)\right]
Eigenvektor x zu einem Eigenwert l kriegen wir aus (A-l)*x=0
\newcommand{\Bold}[1]{\mathbf{#1}}\left[a = 0, b = \frac{1}{2} \, r_{1}, c = r_{1}\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\left[a = 0, b = -2 \, r_{2}, c = r_{2}\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\left[a = r_{3}, b = 0, c = 0\right]
passt, da beliebige Faktor r interessiert uns ned den kannst rausstreichen und du kriegst obige ergebnisse
schummellösung:
\newcommand{\Bold}[1]{\mathbf{#1}}\left[\left(0,\,1,\,-\frac{1}{2}\right)\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\left[\left(1,\,0,\,0\right)\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\left[\left(0,\,1,\,2\right)\right]
Eigenvektor x zu einem Eigenwert l kriegen wir aus (A-l)*x=0
\newcommand{\Bold}[1]{\mathbf{#1}}\left[a = 0, b = \frac{1}{2} \, r_{1}, c = r_{1}\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\left[a = 0, b = -2 \, r_{2}, c = r_{2}\right]
\newcommand{\Bold}[1]{\mathbf{#1}}\left[a = r_{3}, b = 0, c = 0\right]
passt, da beliebige Faktor r interessiert uns ned den kannst rausstreichen und du kriegst obige ergebnisse

Beispiel 2

b) Wiki:

Die Moore-Penrose-Inverse (auch einfach Pseudoinverse) einer Matrix A \in \mathbb C^{m \times n} ist die eindeutig bestimmte Matrix A^+\in \mathbb C^{n \times m}, welche die folgenden Eigenschaften („Moore-Penrose-Bedingungen“) erfüllt:

  • AA + A = A
  • A + AA + = A +       (A + ist eine schwache Inverse der multiplikativen Halbgruppe.)
  • (AA + ) * = AA +       (Die Matrix AA + ist hermitesch.)
  • (A + A) * = A + A       (Die Matrix A + A ist ebenfalls hermitesch.)

Dabei bezeichnet A * die adjungierte Matrix zu A. Bei Matrizen mit Einträgen aus den reellen Zahlen ist diese identisch mit der zu A transponierten Matrix AT.

 

import numpy as np A_plus=matrix(np.linalg.pinv(A)) show(A_plus) 
       
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 1.0 & 0.0 & 0.0 \\ 0.0 & 0.333333333333 & -0.333333333333 \\ 0.0 & -0.333333333333 & -0.166666666667 \end{array}\right)
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 1.0 & 0.0 & 0.0 \\ 0.0 & 0.333333333333 & -0.333333333333 \\ 0.0 & -0.333333333333 & -0.166666666667 \end{array}\right)

a) QR-Zerlegung

for a in np.linalg.qr(A): show(matrix(a)) 
       
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 1.0 & 0.0 & 0.0 \\ -0.0 & -0.4472135955 & 0.894427191 \\ -0.0 & 0.894427191 & 0.4472135955 \end{array}\right)
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 1.0 & 0.0 & 0.0 \\ 0.0 & -2.2360679775 & -0.894427191 \\ 0.0 & 0.0 & -2.683281573 \end{array}\right)
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 1.0 & 0.0 & 0.0 \\ -0.0 & -0.4472135955 & 0.894427191 \\ -0.0 & 0.894427191 & 0.4472135955 \end{array}\right)
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rrr} 1.0 & 0.0 & 0.0 \\ 0.0 & -2.2360679775 & -0.894427191 \\ 0.0 & 0.0 & -2.683281573 \end{array}\right)