Let A be a n×n matrix

  1. characteristic polynomial: calculate det(AλI)=0
  2. eigenvalues: roots of characteristic polynomial
    • algebraische Multiplizität (AM): Vielfachheit von λ als Nulstelle
  3. eigenvectors: solve AλI for λ=eigenvalue with e.g. gauss-elimination
    • geometrische Multipliztät (GM): Nummer von freien variablen in Eigenvektor
  4. diagonalization:
    • A=A (Spektralsatz) es gibt ONB aus eigenvectoren
      diagonalisierbar
    • h
from sympy import symbols, Matrix

# define the matrix
matrix = Matrix([
[3,-1],[0,2]
])

# Define the characteristic polynomial: det(A - x*I)
x = symbols('x')
char_poly = (matrix - x * Matrix.eye(2)).det()
# calculate eigenvals
eigenvalues = matrix.eigenvals()
# calculate eigenvalues, eigenvectors
vects = matrix.eigenvects()

print("Characteristic Polynomial:")
print(char_poly)
print("Eigenvalues")
print(eigenvalues)
print("Eigenvectors")
for i in vects:
        print(f"- {i[0]} ({i[1]})")
        print(*i[2])