Solving Problem to Get Unnormalized Eigenvectors in C/Fortran

  • Thread starter Thread starter evgenx
  • Start date Start date
  • Tags Tags
    Eigenvectors
Click For Summary

Discussion Overview

The discussion revolves around obtaining unnormalized eigenvectors from a matrix using C or Fortran. Participants explore the need for unnormalized eigenvectors in the context of linear algebra and the limitations of existing libraries like LAPACK that provide normalized results.

Discussion Character

  • Technical explanation
  • Debate/contested

Main Points Raised

  • Evgeniy expresses the need for unnormalized eigenvectors and seeks guidance on using standard libraries in C or Fortran.
  • Another participant mentions that WolframAlpha provides unnormalized eigenvectors and questions their acceptability.
  • A participant challenges the definition of "unnormalized" eigenvectors, suggesting that any normalized vector can be scaled to become unnormalized, but questions the intent behind Evgeniy's request.
  • Evgeniy clarifies that they are interested in the normalization factor when using the condition x^{T}x=1 and that obtaining the raw eigenvectors would help in determining this factor.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the definition and necessity of unnormalized eigenvectors, with differing interpretations of what constitutes an "unnormalized" vector and its relevance to the original inquiry.

Contextual Notes

The discussion highlights the ambiguity in the term "unnormalized" and the dependency on specific definitions of normalization. There are unresolved aspects regarding the implementation of eigenvector extraction in C or Fortran.

evgenx
Messages
14
Reaction score
0
Hallo,

I am trying to solve the following problem. I need to get eigenvectors of a matrix. I know that there are many subroutines for that in linear algebra packages, for instance in Lapack there is DSPEV, but they all give normalized eigenvectors, while I need the "original" unnormalized ones. I will very appreciate any idea/point how one can solve this using a standart library/subroutine in C or fortran (to embed it in a code written in C/frotran).
Many thanks!Evgeniy
 
Last edited:
Physics news on Phys.org
What do you mean by an "unnormalized" eigenvector?

If you multiply a "normalized" vector by any nonzero random number, it becomes an unnormalized vector - but I don't suppose that was what you really wanted to do..

Normalized vectors just have the some nice property. Either the maximum entrry in the vector is +1.0, or ##x^Tx = 1##, or ##x^TAx = 1##, or whatever method of normalization you choose. Normalization isn't something mysterious and complicated.
 
Hi All,

Many thanks for your replies !
Concerning the solution with Mathematica it is of course very nice but unfortunatelly I cannot use it. I need a subroutine in C or fortran because I have to embed it in a code (written in C/fortran). Sorry, that I was imprecise in my post concerning the type of solution.

To the question on the "unnormalized" eigenvectors, yes you are right that normalization isn't mysterious :). In fact, I am interested in the
the normalization factor in the case of x^{T}x=1. I thought that if I get the unnormalized eigenvectors, that is, the "raw" eigenvectors obtained after diagonalization of the matrix, I would be able to find the normalization factor for each vector.
 
Last edited:

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
3
Views
6K
  • · Replies 59 ·
2
Replies
59
Views
12K
  • · Replies 5 ·
Replies
5
Views
6K
  • · Replies 5 ·
Replies
5
Views
2K