Problem calculating eigenvalues and eigenvectors

AI Thread Summary
The discussion revolves around the challenges of calculating eigenvalues and eigenvectors for the Karhunen-Loève expansion of 2D data in Matlab. The user has a matrix of size 144x7 and is experiencing discrepancies between their results and expected outputs after calculating the covariance matrix. There is a suggestion that ignoring the grid positions during covariance calculation may be a factor in the unexpected results. Additionally, it is noted that the EIG function does not return eigenvalues and eigenvectors in a specific order, and sorting them by eigenvalue magnitude could yield better alignment with expected results. The conversation emphasizes the importance of correctly handling data dimensions and sorting outputs in eigenvalue computations.
Frank Einstein
Messages
166
Reaction score
1
Hello everyone. I am trying to construct a functioning version of randomfields (specifically 2D_karhunen_loeve_identification_example.py) in Matlab. For that, I have to calculate the Karhunen-Loève expansion of 2D data, since this is what it says in the documentation. I also have some sample data to test my results.
I have a matrix of size 144*7, being 144 the number of points, 5 the number of random variables and the first two, the X and Y points of each value. If I ignore the first two rows and calculate

[CODE lang="matlab" title="Eigenpair"][evec, eval]=eig(cov(realizations));
[/CODE]
the resulting eigenvectors and eigenvalues don't look at all like the ones of the sample data. I was wondering if this might happen because I am ignoring the grid positions at the time of calculating the covariance matrix.

Best regards.
Frank.

E. G. I will attach the stochastic realizations I have received and what I am expected to get
 

Attachments

  • 2D_sample_paths.txt
    2D_sample_paths.txt
    25 KB · Views: 193
  • 2D_identification_eigensolution_0.png
    2D_identification_eigensolution_0.png
    14.3 KB · Views: 185
  • 2D_identification_eigensolution_1.png
    2D_identification_eigensolution_1.png
    13.4 KB · Views: 190
  • 2D_identification_eigensolution_2.png
    2D_identification_eigensolution_2.png
    16.3 KB · Views: 175
  • 2D_identification_eigensolution_3.png
    2D_identification_eigensolution_3.png
    15.8 KB · Views: 186
  • 2D_identification_eigensolution_4.png
    2D_identification_eigensolution_4.png
    13.9 KB · Views: 189
Physics news on Phys.org
I'm struggling to understand your problem. What are the "grid positions" you're referring to?

I believe EIG does not return the eigenvalues / eigenvectors in any particular order. You may be comparing to a plot where they are sorted in order of descending eigenvalue magnitude.

Perform that sort and see if it improves your results.
 

Similar threads

Replies
2
Views
2K
Replies
32
Views
4K
Replies
6
Views
2K
Replies
2
Views
3K
Replies
3
Views
3K
Replies
2
Views
3K
Back
Top