Group Abstract Group Abstract

Message Boards Message Boards

0
|
102 Views
|
3 Replies
|
3 Total Likes
View groups...
Share
Share this post:

Viewing eigenvalues and eigenvectors

Posted 4 days ago

In order to get a better understanding of Eigenvectors and Eigenvalues, I am plotting both the given and calculated the vectors geometrically using Graphics[] and running into problems - see attached notebook.

  1. The calculated eigenvectors seem to have a different magnitude than the original vectors, which I am assuming is the result of me not including the Eigenvalues in the graph. However, when I try to include the calculated Eigenvalues into the graph, I get error messages, which are probably syntax errors resulting in me not coding the function correctly. So would someone please show me the correct way to include the Eigenvalues into the Graphic function?

  2. It appears that the calculated eigenvectors point in a different direction than the given vectors, which I do not understand. So, would someone with a better understanding of Eigenvectors help me get a better understanding as to what the geometric view is actual showing me?

Thanks,
Mitch Sandlin

POSTED BY: Mitchell Sandlin
3 Replies

On a math note, if I understand you, the "given" vectors are the row vectors of the matrix {{-3,2},{-15,8}}, that is the vectors {-3, 2} and {-15, 8}. I do not think there is any general relationship between the row vectors and eigenvectors of a matrix.

The first column of a matrix mat is the vector you get from the product mat.{1,0}. The second column is the result of mat.{0,1}. An eigenvector is a (nonzero) linear combination of the columns that happens, when multiplied by mat, to yield a scalar multiple of itself. (Of course, every product mat.{x,y} is a linear combination of the columns of mat, so the scalar-multiple property is key for eigenvectors.)

POSTED BY: Michael Rogers

Another way to visualize eigenvectors is to draw arrows along the unit circle, instead of the whole plane:

mat = {{1, -1/2}, {-1, -1/2}};
pts = CirclePoints[80];
Graphics[{Circle[], pts /. {x_?NumericQ, y_} :>
    {Hue[VectorAngle[{x, y},
        mat . {x, y}]/(Pi)],
     Arrow[{{x, y},
       {x, y} + 1/4 Norm[mat] mat . {x, y}}]}}]
POSTED BY: Gianluca Gorni

Mitchell,

in your code you have too many curly brackets; try

Graphics[{Red, Arrow[{{0, 0}, 3 {1, 3}}], Blue, Arrow[{{0, 0}, 2 {2, 5}}]}, Axes -> True, AxesLabel -> {"x", "y"}]

For an understanding of eigenvectors here is a simple example to play with: Red are the eigenvectors, green represents the input vector and blue the resulting output. The vectors of the vector field gives the direction of this output.

mat = {{1., -.5}, {-1, -.5}};
{ev, evec} = Eigensystem[mat];
Manipulate[
 VectorPlot[mat . {x, y}, {x, -3, 3}, {y, -3, 3}, 
  Epilog -> {Red, Arrow[ev[[1]] {{0, 0}, evec[[1]]}], 
    Arrow[ev[[2]] {{0, 0}, evec[[2]]}], 
    Arrow[-ev[[1]] {{0, 0}, evec[[1]]}], 
    Arrow[-ev[[2]] {{0, 0}, evec[[2]]}], Green, Arrow[{{0, 0}, vec}], 
    Blue, Arrow[{{0, 0}, mat . vec}]}, 
  PerformanceGoal -> "Quality"], {{vec, {1, 1}}, Locator}]

Does that help? Regards -- Henrik

POSTED BY: Henrik Schachner
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard