from sympy import * from sympy.solvers.solvers import solve_linear_system_LU #Oppgave a) a, b, x = symbols("a,b,x") A = Matrix([[1,-1],[0,2]]) p = A.charpoly(x) print("Karakteristiske polynom ufaktorisert") print(p) print("\n-------\n") print("Karakteristiske polynom faktorisert") print(factor(p)) print("\n-------\n") print("Egenverdiene til A") print(A.eigenvals()) print("\n-------\n") #Skrives ut {1: 1,2: 1} #1 er en egenverdi: den kommer 1 gang #2 er en egenverdi: den kommer 1 gang #Oppgave b) print(A.eigenvects()) print("\n-------\n") """ [(1, 1, [Matrix([ [1], [0]])]), (2, 1, [Matrix([ [-1], [ 1]])])] """ # 1 er egenverdi, kommer kun en gang, med egenvektor [1,0] # 2 er egenverdi, kommer kun en gang, med egenvektor [-1,1] #Oppgave c) B = Matrix([[1,-1],[0,1]]) print("Determinanten til matrisen man får ved å slå sammen egenvektorene:") print(B.det()) print("\n-------\n") #Oppgave d) C = Matrix([[1,-1,1],[0,1,1]]) print("Finne hvilke konstanter vi må ha får å skrive [1,1] som en lin.komb. av egenvektorene") #Her er a og b kontantene foran v_1 og v_2 # w = a*v_1 + b*v_2 print(solve_linear_system_LU(C,[a,b])) print("\n-------\n") #Oppgave e) w = Matrix([[1],[1]]) print("T(w)") print(A*w) print("\n-------\n") print("ToT(w)") print(A**2*w) print("\n-------\n") print("En liten for-løkke for å se hvordan dette utvikler seg") for k in range(1, 6): print(A**k*w) def f(n): return Matrix([[2*(1-2**(n-1))],[2**n]]) print("\n-------\n") print("En liten for-løkke for funksjonen") for k in range(1, 6): print(f(k))