bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

## Re: [Bug-gsl] sign convention for eigenvectors in gsl_eigen_hermv

 From: Walter Hahn Subject: Re: [Bug-gsl] sign convention for eigenvectors in gsl_eigen_hermv Date: Mon, 10 Mar 2014 12:56:11 +0600 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

```Dear Håkan and Patrick,

```
thank you very much for your responses. I agree with you on all you have written about eigenvectors but I nevertheless expected that there should be a way to establish a sign convention. In fact, I meant it actually in terms of consistency, i.e., that if a matrix has identical blocks on the diagonal, the corresponding eigenvectors will also be identical.
```
```
However, I have realised that there is no need to introduce a sign convention (if possible at all), even in terms of consistency, and that my problem was actually an ill-posed one.
```
Thank you,
Walter

Am 18.02.2014 23:54, schrieb Håkan Johansson:
```
```
Perhaps also the answer dated 23 Apr, 2011 09:28:04 in the following

http://www.mathworks.com/matlabcentral/newsreader/view_thread/306717

```
discussion may help. Trying to implement any convention be forcing e.g. a certain sign of the first non-zero element is ill-defined and therefore hazardous.
```
Cheers,
Håkan

On Tue, 18 Feb 2014, Patrick Alken wrote:

```
In case you didn't see my reply to your first message, it is pasted below:
```
-----
There is no "sign convention" regarding eigenvectors, since if
v is an eigenvector of a matrix, any scalar multiple of v is also an
eigenvector. gsl_eigen_hermv guarantees that the eigenvectors are
normalized to unit magnitude, but of course the negative of the computed
vector is still a valid eigenvector with unit magnitude.

I suspect you will find that any eigenvector software will exhibit the
same behavior. There really is no way to determine a standard sign
convention for eigenvectors.
-----

Your vector v8 is a perfectly legitimate eigenvector of the matrix.

Patrick

On 02/18/2014 10:43 AM, Walter Hahn wrote:
```
```Dear all,

a few weeks ago, I have sent you this bug report already without giving
you enough information. Now, I would like to provide the missing
information and correct some statements.

After using the procedure gsl_eigen_hermv to diagonalize a matrix, I
suspect that the sign convention for the eigenvectors should be
```
reconsidered. More specifically, I diagonalize a matrix which has only a
```few non-zero entries, namely at m(2i,2i+1) and m(2i+1,2i) for all i. In
my case, I diagonalize a 8x8 matrix with real entries, e.g. 1.0.

The eigenvectors should be of the following form (not normalized):
v1=(1,1,0,0,0....)
v2=(-1,1,0,0,0,...),
```
other eigenvectors can be obtained by shifting the non-zero coefficients
```of v1 and v2 by two places to the right.

However, diagonalizing the 8x8 matrix described above, I obtain the
eigenvectors as described above except the last one which is
v8=(0,0,0,0,0,0,1,-1) instead of (0,0,0,0,0,0,-1,1), i.e., multiplied
with (-1). Therefore, I think that the sign convention is either not
implemented correctly or the convention used is not broad enough.

Please find in the attachment to this e-mail a simple compilable code
which demonstrates this problem. I have checked the described results
for GSL versions 1.15 and 1.16.

Kind regards,
Walter
```
```

```
```

```

reply via email to

 [Prev in Thread] Current Thread [Next in Thread]
• Re: [Bug-gsl] sign convention for eigenvectors in gsl_eigen_hermv, Walter Hahn <=