I am trying to implement Linear Discriminant Analysis. I have 2 questions.
A)Can I directly use the matrix with eigen vectors of the product of between scatter matrix inverse and within scatter matrix ( $Sb^{-1} Sw$) as the transformation matrix?
B)Does scaling of eigen vectors by different values affect the LDA output? When I found the eigen values of $Sb^{-1} Sw$ through C programming, the eigen values are the same as what i get by using eig function in Matlab, but the eigen vectors are scaled by different scalars.(Different eigenvectors are scaled by different scalars)
Could some please share their idea on these?
b) Eigenvectors in MATLAB should be normalized to have Euclidean length 1. I'm surprised the same is not true in C. If $\textbf{x}$ is an eigenvector associated with eigenvalue $\lambda$ then so is $c\textbf{x}$ for any constant $c$. This is why it is convention to normalize them, but still its common for the result given by different languages/algorithms to differ by sign (-1).
The scaling of eigenvectors should not matter because you are only interested in their direction, not their length.
a) This should totally be possible. I am actually in search of the same outcome - did you ever figure it out? I understand all the different descriptions of what LDA means statistically, but until I actually code the projection onto Eigenvectors and see the same result that a program gives me, I will not understand the procedural aspect, which is my main goal.
If you have MATLAB code to get started, it would be appreciated!