My goal is to prove why normalized eigen values and eigen vectors have imaginary number.
According to this website: normalized eigen vector is just an eigen vector divided by the length of the vector
.
I can prove it by comparing the eigen vector that I got manually with det(A - λ*I) = 0
with the normalized eigen vector from the numpy library.
However, I just don't get it how the numpy library can come up with an imaginary number for the returned eigen values and vectors.
Code
import numpy as np
A = np.array([[1,-1],
[6, 4]])
eigvalues, eigvectors = np.linalg.eig(A)
display(eigvalues, eigvectors)
output
array([2.5+1.93649167j, 2.5-1.93649167j])
array([[-0.23145502+0.29880715j, -0.23145502-0.29880715j],
[ 0.9258201 +0.j , 0.9258201 -0.j ]])
Isn't the normalized eigen vector formula is x / np.sqrt(x1^2 + xn^2)
If x = [ -1 ], then normalized x = [ -1 / √3 ]
[ 2. ] [ 2 / √3 ]
Edit:
I tried to manually calculate the Code.
λ = (5 +- i√15) / 2
which roughly translate to 2.5 +- 1,93i
. New question: why when I call eigenvalues.real
it return [2.5, 2.5]
instead of whatever is the calculation of 2.5 +- 1,93i
is?