- #1
wdlang
- 307
- 0
is it possible on a station?
how long?
how long?
HallsofIvy said:I doubt that there would be any reason to diagonalize such a matrix. About 10 to 20 years ago, the United States Coast and Geodetic Survey went through a large linear algebra calculation "justifying" the boundaries of "townships" and "sections" on its map (areas surveyed by different teams at different times typically didn't match up exactly). That required several hundred thousand equations in as many unknowns but it was not ever stored as a single matrix (Since positions of points would only affect the positions of point nearby, it would, necessarily, be a "sparse" matrix (almost all entries 0) and there are ways of working with such matrices that do not require storing all of the zero entries). Also, since their object was to "solve" the equations (actually a "least squares" approximation) I believe they used iterative approximation methods rather than diagonalizing.
there are surely reasons to diagonalize such a matrix
wdlang said:there are surely reasons to diagonalize such a matrix
even for sparse matrices, sometimes we need to fully diagonalize it.
n=2e5;
x=eig(spdiags([-(n-1):0; 2*(n:-1:1)-1; -n:-1]',-1:1,n,n));
bpet said:Just for fun, the Gauss-Laguerre quadrature nodes of order 200k (~15 min on newish PC):
Code:n=2e5; x=eig(spdiags([-(n-1):0; 2*(n:-1:1)-1; -n:-1]',-1:1,n,n));
wdlang said:but i also need the eigenvectors
Can you give an example? Anything that can be done by diagonalizing a matrix can also be done by iterative methods and for very large matrices iterative methods will be much faster.wdlang said:there are surely reasons to diagonalize such a matrix
even for sparse matrices, sometimes we need to fully diagonalize it.
That's not really true. It's straight forward to prove that as a subset of [tex] \mathbf{R}^{n^2}[/tex], the matrices in [tex]\mathrm{Mat}_n(\mathbf{R})[/tex] that are not diagonalisable form a set of Lebesgue measure zero. So in this sense, most matrices can be diagonalised.HallsofIvy said:(And, of course, most matrices can't be diagonalized.)
wdlang said:is it possible on a station?
how long?
element4 said:For a generic diagonalizable 200.000x200.000 matrix, a naive implementation is quit impossible ('how long' isn't an issues, since your RAM will give up very quickly).
Depending on what you need to do with the eigenvectors and eigenvalues, and the form of your Hermitian matrix, it is usually possible to optimize the calculation very much! This, of course, usually involves specialized and sophisticated algorithms (=much more work than just writing "diagonalize(H)").
Yes, it is possible to fully diagonalize a 200,000 hermitian matrix. This means that all of the elements in the matrix can be arranged in a diagonal pattern, with all non-zero elements on the diagonal and zeros everywhere else.
The time it takes to fully diagonalize a 200,000 hermitian matrix depends on the specific algorithm and computational resources used. However, it can take a significant amount of time due to the large size of the matrix.
Diagonalizing a hermitian matrix is important because it helps to simplify and understand the matrix's properties. It also allows for easier and more efficient calculations and analysis.
There are no inherent limitations to fully diagonalizing a 200,000 hermitian matrix, but the size and complexity of the matrix may make it difficult or impractical to do so.
Yes, there are multiple methods for diagonalizing a hermitian matrix, such as using eigendecomposition or unitary transformations. The most suitable method will depend on the specific matrix and desired outcomes.