On Friday, Oct 3, 2003, at 02:33 US/Eastern, Pinaki wrote:
I would like to clarify my original problem. I have a couple of 88 by
88
square matrices, some of them are symmetric and some are not. I would
like
to diagonalize them. Now, the way I understand Matrix diagonalization
is
that it is the process of taking a square matrix and converting it
into a
diagonal matrix, where the entries in the diagonals are the eigen
values. Is
this right?
I would like to do this in Stata. Since I couldn't find any command in
Stata
that can do diagonalization directly, I thought if I could find the
eigen
values, I could construct a diagonalized matrix with the eigen values
in the
diagonals and zeros in the off-diagonals. In Stata, symeigen and
genigen
calculate eigen values for symmetric and non-symmetric matrices,
respectively. Is there anything wrong in this process? Is yes, could
you
please recommend how can I do diagonalization in Stata?
The diagonalization of a square (not necessarily symmetric) matrix
involves both the eigenvalues and
eigenvectors of the matrix. From de la Fuente, Mathematical methods and
models for economists (Cambridge U Press, 2000):
Thm 6.7: Let A be an n x n matrix with n linearly independent
eigenvectors. Then A is diagonalizable, with diagonalizing matrix
E=[e_1, ..., e_n] whose columns are the eigenvectors of A and the
resulting diagonal matrix is the matrix \Lambda = diag(\lambda_1, ...
\lambda_n) with the eigenvalues of A in the principal diagonal, and
zeros elsewhere. That is, E^{-1} A E = \Lambda.
Thm 6.8: Let A be an n x n matrix with n distinct eigenvalues. Then its
eigenvectors are linearly independent, and A is diagonalizable.
The combination of these theorems suggests that if you run my program
geneigen on a matrix A and get n (numerically) distinct eigenvalues,
you may create the diagonal matrix referred to above with the
eigenvalues on the diagonal, and call that the diagonalization of A.
geneigen does not compute the eigenvectors because that is a hard
problem, particularly so in a language that does not contain a complex
data type. Of course, there is no guarantee that the n eigenvalues of
the real general matrix A will have zero imaginary parts. If there are
imaginary parts, then the theorem above implies that the diagonalizing
matrix will not be real, but complex, and I don't know what you're
going to do with that in Stata.
Kit
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/