#9760: Possible numerical noise doctest failure in sage/matrix/matrix2.pyx on t2
-----------------------+----------------------------------------------------
Reporter: mpatel | Owner: drkirkby
Type: defect | Status: new
Priority: blocker | Milestone: sage-4.5.3
Component: solaris | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
-----------------------+----------------------------------------------------
Comment(by drkirkby):
Replying to [comment:4 jhpalmieri]:
> Replying to [comment:1 drkirkby]:
> > I expect ATLAS would be used for this test, but has that been 100%
confirmed?
> >
> > It's very puzzling. I guess its possible that ATLAS may give slightly
different results if it's tuned differently.
> >
> > I suspect John built this with the ATLAS changes at #9508. Since he
normally used a version of ATLAS he built before to save time, I suspect
he tuned ATLAS this time.
>
> That's right. Although my old version is based on atlas-3.8.3.p12,
compared to the current 3.8.3.p14. I also had to rebuild the shared
libraries, and I rebuilt them using exactly the commands from the p14
spkg. I don't think the ATLAS sources changed from p12 to p14,
That is correct - the ATLAS source code has not changed.
> so the only difference should be in the tuning from one time (several
months ago) to another. When I built Sage using SAGE_ATLAS_LIB pointing
to my old version, the tests passed; indeed, if I just copy the p12 files
to SAGE_ROOT/local/lib, then tests pass. If I copy the p14 files back,
then tests fail.
>
> > It's possible that the additional shared libraries from #9508 mean
something in Sage that previously linked with a static library, would now
link with a shared one.
>
> I don't know if it's that or if it's just different tuning from one
build to the next.
Can you try backing up the additional shared libraries, then see if the
tests pass or fail in the same way. It could well totally mess up the
build, as if a shared library is missing, it may fail to work. But if it
still works, but fails, that means the change in the static library has
caused this.
> > I suspect slight differences in tuning parameters might be the cause
though. Does the criteria need to be changed by a factor of 10 to get
htis to pass, or would a maller change be acceptable,
>
> A smaller change would work, at least right now: the largest imaginary
part for any eigenvalue is 1.09867961128e-15. With the p12 files, the
largest (in absolute value) is -4.61662881292e-16. Of course, now I see
that the doctest should really be '''abs'''(imag(e)) < 1e-15...
If I have understood you correctly, to get this to pass, a change from
{{{abs((imag(e)) < 1e-15}}}
to
{{{abs((imag(e)) < 1.1e-15}}}
would be sufficient, which is only a 10% change from the current value.
That would seem safe to me.
I've started to build this on a SPARC where the tuning parameters should
not have changed, as ATLAS has them for the UltraSPARC III+ CPUs in my
Blade 1000. But it will take the best part of a day before I know the
results of that. (I can't use a faster machine as it's in the house and
too noisy! The slower one is in the garage. I might change that soon, as I
have no need for the faster SPARC in the house any more)
dave
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9760#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.