- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have been trying to solve a generalized eigen value problem(Ax=lambda Bx) using arpack routines. I am using the pardiso solver for taking the inverse of the B matrix. But even after working on it for days, it is giving faulty results. The amazing fact is that, pardiso is not giving any error output. I desperately want to know what is wrong. Suggestions from people who have worked on both will be extremely useful.
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
What is the kind and size of your matrices A and B? Is it symmetric or nonsymmetric? Could you please also provide a test case for this issue?
Best regards,
Artem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I read your note correctly, the immediate problem is seen to be with Pardiso, rather than Arpack, while finding the inverse of B.
Pardiso is a complex solver, with many phases and subroutine arguments; therefore, there are many ways in which mistakes can be made (wrong order of calls, incorrect arguments, etc.).
But even after working on it for days, it is giving faulty results. I hope that you meant to say that you worked on it for days, rather than the other possible meaning: Pardiso ran for many days before giving you incorrect results. If that is not the case, it is next to impossible to help, because of the sheer size of the problem.
How do you decide that the results are faulty? Is it possible to show us the evidence? Can you replicate the error with a reasonably sized B matrix?
I do not think that Pardiso's not giving any error messages is a big surprise. User errors that generate error messages are more easily corrected than errors that do not generate error messages. If the subroutine arguments contain such an error that Pardiso's normal checks are unable to dectect, no messages are to be expected.
Pardiso is a complex solver, with many phases and subroutine arguments; therefore, there are many ways in which mistakes can be made (wrong order of calls, incorrect arguments, etc.).
But even after working on it for days, it is giving faulty results. I hope that you meant to say that you worked on it for days, rather than the other possible meaning: Pardiso ran for many days before giving you incorrect results. If that is not the case, it is next to impossible to help, because of the sheer size of the problem.
How do you decide that the results are faulty? Is it possible to show us the evidence? Can you replicate the error with a reasonably sized B matrix?
I do not think that Pardiso's not giving any error messages is a big surprise. User errors that generate error messages are more easily corrected than errors that do not generate error messages. If the subroutine arguments contain such an error that Pardiso's normal checks are unable to dectect, no messages are to be expected.

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