#5396: [with patch, needs work] Wrapping lcalc library
---------------------------+------------------------------------------------
Reporter: rishi | Owner: Rishi
Type: enhancement | Status: new
Priority: major | Milestone: sage-4.1.2
Component: number theory | Keywords: lcalc
Reviewer: | Author:
Merged: |
---------------------------+------------------------------------------------
Old description:
> I am wrapping lcalc library. It is working but still needs some work.
New description:
Thanks John for your feedback. I was looking at the patch again, I am
indeed seeing the typos, and places where documentation is far from clear.
While I was writing, I did think of having a base class and have various L
series derive from it, but it had taken me several weeks of manipulation
just to get a compilable code out of cython, so I balked. I will go back
and see how to reduce the clutter.
--
Comment(by rishi):
Replying to [comment:13 cremona]:
> Thanks for the explanation.
>
> I successfully installed the new lcalc spkg; then I successfully
applied the patch and rebuilt sage.
>
> Now testing sage/libs/lcalc gives this:
> {{{
> sage -t "devel/sage-tests/sage/libs/lcalc/lcalc_Lfunction.pyx"
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 411:
> sage: L.value(.6)
> Expected:
> 0.274633355856348 - 6.59869267328213e-18*I
> Got:
> 0.274633355856341 - 6.59869267328188e-18*I
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 413:
> sage: L.value(.6+1*I)
> Expected:
> 0.362258705721100 + 0.433888250620852*I
> Got:
> 0.362258705721102 + 0.433888250620855*I
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 450:
> sage: L.find_zeros(1,15,.1)
> Expected:
> [6.64845334472771, 9.83144443288668, 11.9588456260835]
> Got:
> [6.64845334472771, 9.83144443288667, 11.9588456260835]
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 491:
> sage: L.find_zeros_via_N(3)
> Expected:
> [6.64845334472771, 9.83144443288668, 11.9588456260835]
> Got:
> [6.64845334472772, 9.83144443288667, 11.9588456260835]
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 642:
> sage: L.value(.5)
> Expected:
> 0.763747880117299 + 0.216964767518864*I
> Got:
> 0.763747880117295 + 0.216964767518863*I
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 644:
> sage: L.value(.6+5*I)
> Expected:
> 0.702723260619684 - 1.10178575243940*I
> Got:
> 0.702723260619682 - 1.10178575243940*I
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 789:
> sage: lcalc_zeta.value(CC(.4,.5))
> Expected:
> -0.450728958517113 - 0.780511403019070*I
> Got:
> -0.450728958517121 - 0.780511403019071*I
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 852:
> sage: lcalc_zeta.find_zeros_via_N(3)
> Expected:
> [14.1347251417347, 21.0220396387715, 25.0108575801457]
> Got:
> [14.1347251417347, 21.0220396387716, 25.0108575801457]
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 174:
> sage: L.value(.5)
> Expected:
> 0.231750947504015 + 5.75329642226134e-18*I
> Got:
> 0.231750947504012 + 5.75329642226126e-18*I
> **********************************************************************
> File "/home/john/sage-4.1.1/devel/sage-
tests/sage/libs/lcalc/lcalc_Lfunction.pyx", line 176:
> sage: L.value(CC(.2,.4))
> Expected:
> 0.102558603193338 + 0.190840777924700*I
> Got:
> 0.102558603193336 + 0.190840777924703*I
> **********************************************************************
> 7 items had failures:
> }}}
>
> -- that is all just numerical noise probably because I'm testing on a
32-bit system and you made the tests on a 64-bit system (is that right?)
That is not serious (though will need to be fixed).
>
> In the "testing" file, are the functions intended for inclusion in Sage?
If so, they need doctesting (and the names are a little strange) and they
should perhaps be made into member functions of the appropriate classes
(e.g. ell_rational_field).
>
> In the docstrings explaining all the parameters, I don't think it is
enough to just refer to the lcacl documentation. These are Sage functions
and the inputs need to be documented withing Sage (however tedious that
might be!)
>
> There are quite a few typos in the documentation.
>
> Would it be possible to have a base class and have the various L-series
classes derive from it? That might reduce the code a little and make the
structure clearer.
>
> You have some input parameters which I think would more natually be
True/False instead of 1/0 as now.
>
> This has clearly been a huge amount of work and will be very useful.
The things I mentioned above are all minor, but still they should be
considered, so I have left the tag as "needs work", but I think this is
quite close to being includable.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5396#comment:14>
Sage <http://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
-~----------~----~----~----~------~----~------~--~---