-
Notifications
You must be signed in to change notification settings - Fork 68
added slepc eigensolver as an option for megaman #90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Bypass null_space for now, ie use arpack when slepc is requested TODO: Add null_space for slepc
Hi @keceli can you check your code for python3.4 and 3.5? Seems like it failed on both versions. |
Hi @yuchaz. I couldn't figure out what is incompatible with Python 3 in my code. Any suggestions? |
Hi @keceli That is caused by the relative import issue in python 3. See PEP-404#Imports for details. In short, the implicit relative import is no longer supported in python 3. Therefore, you will have to do the following changes in # In line 2, add
from __future__ import absolute_import
# this is for python 2 compatibility
# In line 28, change it to
from . import slepctools as slepc Something needed to be added
Thanks for your contribution! |
Added info for slepc4py on README file.
Thanks Yuchia for the clear instructions. It now passes the tests for
python 2.7 and 3.5 but fails for 3.4.
I'll run benchmark calculations and add the support for null space
calculations later.
Murat
…On Sun, Feb 18, 2018 at 12:49 PM, YuChia Chen ***@***.***> wrote:
Hi @keceli <https://github.com/keceli>
That is caused by the relative import issue in python 3. See
PEP-404#Imports <https://www.python.org/dev/peps/pep-0404/#imports> for
details. In short, the implicit relative import is no longer supported in
python 3. Therefore, you will have to do the following changes in
eigendecomp.py:
# In line 2, addfrom __future__ import absolute_import# this is for python 2 compatibility
# In line 28, change it tofrom . import slepctools as slepc
Something needed to be added
1. In eigendecomp.py line 308, need to add the error msg for SLPEC as
well.
2. The SLEPC_LOADED flag is not used, you have to use it in
check_eigen_solver function.
3. Add slepc4py in the installation guide under the *Installation from
source* section in README.md.
4. That will be good if you can run some benchmarking and write some
descriptions about why should we use SLPEC.
Thanks for your contribution!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#90 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ACA7dwWROTisjdF_F5tLa4qKT1kP4jLOks5tWHClgaJpZM4SI_ws>
.
|
Hi @keceli Sadly I cannot reproduce the test failure on my computer with python=3.4 therefore I am not 100% sure where the bug comes from. I printed out the reconstruction error of each eigensolvers and found out that the reconstruction error of Some workarounds will be use other solver to compute null space when using the Thank you! |
I tested it on theta and printed reconstruction errors. I don't get any failures.
|
Hi @keceli I ran on my computer with python=3.5 and got the reconstruction error. I think it's because of some numerical instability issue. Can you try with another environment? I will also try to debug it :) Yuchia |
Thanks @yuchaz for looking into it. I tried with python 3.6 and it still doesn't give an error. I get errors only when I change the seed, but that error comes from arpack.
|
I don't think this is the problem but let's give it a try.
Currently works for eigendecompositon of symmetric matrices.
Passes unit tests, but I haven't run any benchmarks to see the performance.