turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

Topic Options

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

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

05-20-2016 02:03 AM

Hello expert,

My question is about EIGVEC function

Why for the same Matrix : M

in SAS IML

H=eigvec(M) gives this error:

ERROR :Floating zero divide

In R software

if we write

eigen(V) gives the rusults.

We do not get an error.

So, why we have an error in sas, but we do not have an orror in R

Thank you

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

Posted in reply to LineMoon

05-20-2016 04:55 AM

Not to sound like a broken record, but please post data so we can replicate your issue.

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

Posted in reply to LineMoon

05-20-2016 06:39 AM

Eigenvectors are not unique, so in general you shouldn't expect that two software packages will compute the same set of eigenvectors.

However, it is interesting that one package stops with an error.

There are several reasons why SAS/IML could fail to give an answer, but it is impossible to guess without seeing the data. If you think the computation is incorrect, please open a track with SAS technical support and provide your version of SAS, the data, and the program.

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

Posted in reply to LineMoon

05-20-2016 04:32 PM

thank that s very kind from you.

please,can you give somme of them

please,can you give somme of them

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

Posted in reply to LineMoon

05-20-2016 05:09 PM

Anything I say would be purely conjecture. The reasons are typically related to the data (matrix). Numerical linear algebra computations are sensitive to the condition number of a matrix. So, for example, if your matrix is ill conditioned then numerical computations could be unstable and small roundoff errors could accumulate.

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

Posted in reply to Rick_SAS

05-21-2016 08:37 AM - edited 05-21-2016 09:47 AM

Thank you.

SAS still usually uses this method to calculate eigvec , in page 518 ?

http://www.okstate.edu/sas/v7/saspdf/iml/chap17.pdf

For dbbeugging the IML program,

when I make call for eigvec(A)

I will possible to have somme options in sas 9.2 under unix to do this:

- stop running after the error message.

-debeugging the call of eigvec or making a break point

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

Posted in reply to LineMoon

05-21-2016 06:43 PM

A few comments:

1. You cannont conclude that "SAS uses this method." Different parts of SAS use different eigenvector computations, including sparse algorithms, multithreaded algorithms, and symmetric vs unsymmetric algorithms.

2. SAS 9.2 is very old... from 2008. It is possible that this problem does not exist in more recent releases.

3. You should open a track with Technical Support so that the SAS developers can determine the source of the problem. Without seeing your matrix, there is no way to proceed.