Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- real matrix -- eigenvector matrix R -- diagonal eigenvalue matrix L

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

diedro

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-22-2011
10:09 AM

119 Views

real matrix -- eigenvector matrix R -- diagonal eigenvalue matrix L

I have the following problem:

I have a real matrix A=nxn and I would like to compute theeigenvector matrix R and diagonal eigenvalue matrix L with mkl libraries.

I don't know what subroutine I could use.

I have already useddgeev_f95 for other purpose but Id give to me vector and not matrix

thank a lot

Link Copied

9 Replies

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-22-2011
03:03 PM

119 Views

Please state if you know anything more about the matrix A, and explain why you found the output of GEEV unsatisfactory.

diedro

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-24-2011
05:06 AM

119 Views

ok, thanks for your help and advices.

The matrix A is a real matrix nxn

The GEEV gives to me the vector of eigenvalues, while I need the matrix of eigenvalues.

this because I need to comute:

Q= 0.5*R*(Id+sign(L-xi*Id))*iR*QL + 0.5*R*(Id-sign(L-xi*Id))*iR*QR;

where Q is n vector,

R is the eigenvector matrix and

L is diagonal eigenvalue matrix.

QR is n vector and QL is n vector.

Id is the nxn identity matrix.

IR isthe inverse of the eigenvector matrix R

Geev does not give me the L in matrix form.

thanks a lot

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-24-2011
05:56 AM

119 Views

(i) xi is a scalar, yes?

(ii) How is the function sign() defined when it operates on (a) a diagonal matrix and, if this is meaningful, (b) a vector?

diedro

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-24-2011
06:07 AM

119 Views

i) xi is a scalar (my adimensinal coordinate)

ii) for example:

L= 1.4142 0

0 -1.4142

then sign(L)= 1 0

0 -1

Thanks a lot

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-24-2011
06:45 AM

119 Views

Let M

Let matrix S

q

You can compute the second part q

Throughout what I wrote, you would compute the produce q L not as a vector-matrix product, but simply by multiplying each element of q by the corresponding . That is, computing q L is an element-by-element product of two vectors, q and diag(L).

Please check the equations, since some browsers may not display subscripts, etc. correctly. For example Firefox 3.16 does not show the inverse ("-1") in the equation for q1 correctly, but IE does.

diedro

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-24-2011
06:56 AM

119 Views

This because After that I use the some source code for a more complex problem.

If I had L a could compute Q with somematmul function. this is the main reason because I ask for a different mls-lapack library, to compute

L as a11 0

0 a22

and not as L

a11

a22

what do you think about it?

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-24-2011
08:44 AM

119 Views

Multiplying two diagonal matrices of size n X n takes O(n) operations if done right, and O(n

Please read a book such as Golub and van Loan's

For these reasons, I think that I would be doing you a disservice by telling you how to form a diagonal matrix from a vector containing the main diagonal. Not only is that trivial to do, but doing it is a temptation that I wish to help you avoid.

diedro

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

04-02-2011
08:38 AM

119 Views

I'm sorry for delay. So what do you suggest for:

Q= 0.5*R*(Id+sign(L-xi*Id))*iR*QL + 0.5*R*(Id-sign(L-xi*Id))*iR*QR;

to compute Q,

could I use some lapack libraries? or solve them in anothe way?

thanks a lot

diedro

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

04-02-2011
08:39 AM

119 Views

I'm sorry for delay. So what do you suggest for:

Q= 0.5*R*(Id+sign(L-xi*Id))*iR*QL + 0.5*R*(Id-sign(L-xi*Id))*iR*QR;

to compute Q,

could I use some lapack libraries? or solve them in anothe way?

thanks a lot

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

For more complete information about compiler optimizations, see our Optimization Notice.