-
-
Notifications
You must be signed in to change notification settings - Fork 528
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
eigenmatrix_right totally broken #4756
Comments
comment:1
This is because the eigenvectors_left and eigenvectors_right for CDF and RDF matrices returns the data in a way that is totally incompatible with what the parent is expecting. I can make a patch for this once I have a 3.2.2alpha1 build. Otherwise, if Jason would like to do this, I wouldn't object :-) |
comment:2
Patch causes Patch is failing doctests in the modular form code right now, so will need some more work. |
Attachment: trac_4756_eigenmatrices_double.patch.gz |
Self-contained patch, apply only this |
Author: Rob Beezer |
comment:3
Attachment: trac_4756-double-eigen.patch.gz This patch fixes the bug and generally brings double-precision eigenvectors up-to-date.
Consequently, The changed code in Doctests: I had some strange behavior for zero eigenvalues (ie very, very small eigenvalues), so the doctests avoid these. For these eigenvalues, the tests would fail on a first run, but would pass on all subsequent runs (or vice-versa). This was observed on my own machine and boxen.math.washington.edu. So I've avoided these eigenvalues by selecting certain ones in the doctests. Documentation: documentation was tested for these four functions via notebook introspection. The rest of the file needs attention before it can go into the documentation, see #8046. |
comment:5
Great job! I think these changes would make the code easier to read:
(similarly on lines 722-725) Also:
|
comment:7
Jason, Thanks for helping me be more Pythonic. The bit in the modular form module is going to be replaced in #8018 by totally different code, so I didn't change that. First suggestion (in spirit) has been incorporated in updated patch. Rob |
Self-contained patch, apply only this. |
comment:8
Attachment: trac_4756-double-eigen.2.patch.gz I've got some doctests failing on another machine due to "zero" eigenvalues, so I'm going to rework some of the doctests. |
Attachment: trac_4756-double-eigen.3.patch.gz Self conatined |
comment:9
dot-3 patch has better doctests in it, totally avoiding "zero" eigenvalues and "zero" entries of eigenvectors. Apply just this one patch. |
comment:10
Has this been checked on Solaris? There's general information about building on Solaris at http://wiki.sagemath.org/solaris Information specifically for 't2' at http://wiki.sagemath.org/devel/Building-Sage-on-the-T5240-t2 Both the source (4.3.0.1 is the latest to build on Solaris) and a binary which will run on any SPARC can be found at http://www.sagemath.org/download-source.html Dave |
comment:11
Replying to @sagetrac-drkirkby:
Hi Dave, Not that I know of. I develop with KUbuntu. Maybe a reviewer with Solaris experience can put it through its paces. Totally Python, so I'd guess numerical issues might be the only distinction. Thanks, |
comment:12
Looks good to me. |
Reviewer: Alex Ghitza |
comment:13
Merged "trac_4756-double-eigen.3.patch" in 4.4.alpha0 |
Merged: sage-4.4.alpha0 |
CC: @jasongrout
Component: linear algebra
Author: Rob Beezer
Reviewer: Alex Ghitza
Merged: sage-4.4.alpha0
Issue created by migration from https://trac.sagemath.org/ticket/4756
The text was updated successfully, but these errors were encountered: