Opened 2 years ago

Last modified 3 months ago

#28015 new enhancement

Drop lcalc

Reported by: enge Owned by:
Priority: minor Milestone: sage-9.4
Component: packages: standard Keywords: days101, lcalc
Cc: slelievre, gh-timokau Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

Hello,

trying to package Sage for Guix, I am stumbling over the lcalc package, which needs patches to even compile with a modern C++ compiler and is unmaintained with not even the upstream source available apart from places where it is mirrored. This will need a considerable time to wade through, for probably not much gain.

As some possible solutions, I would suggest the following (in decreasing order of preference):

  • Drop lcalc and replace it by other libraries. For instance, the analytic rank of elliptic curves is already computed by several other packages. PARI has gained L-function capabilities in version 2.9, with new functionality in version 2.11, so I think it makes sense to rely on the maintained PARI implementation rather than on a defunct package. (Note also bug #24823 for using ARB.)
  • Make the package optional (which may be difficult or impossible, since it is cythonised).
  • Host the source somewhere with all patches applied to make it easily compilable; or even autotoolise it like Dima did with cliquer.

Andreas

Change History (15)

comment:1 Changed 2 years ago by fbissey

Hi Andreas,

Your proposal is nothing new. And yes lcalc needs lots of patches and Dima has created a repo somewhere for it already but for some reason that bit was stopped. Replacing lcacl by pari has been proposed before and Jeroen work on it in another ticket. According to him, pari is slower so far. I'll dig the relevant tickets later.

comment:2 Changed 2 years ago by fbissey

See #24820 and #24532 although I think there is another branch for replacing lcalc with pari somewhere.

comment:3 Changed 2 years ago by jdemeyer

Yes, I looked into replacing lcalc by PARI. Unfortunately, PARI doesn't have the functionality to replace lcalc: PARI is optimized for high-precision calculations at small values, while lcalc is optimized for low-precision calculations for large values.

comment:4 Changed 2 years ago by jdemeyer

although I think there is another branch for replacing lcalc with pari somewhere.

At least my attempt is on #24532 (when I realized quickly that it wouldn't work). I don't know if anybody else has looked at this.

comment:5 Changed 2 years ago by saraedum

We should at least mirror lcalc properly with all the patches already applied. (I guess, a thing that we should do with all the packages where we are upstream…) We talked to Dima and are moving the repository to gitlab into the SageMath namespace.

comment:6 Changed 2 years ago by slelievre

New home for the lcalc repo:

comment:7 Changed 2 years ago by saraedum

I still want to apply the patches that we have in SageMath to it…and then create a release.

Last edited 2 years ago by saraedum (previous) (diff)

comment:8 follow-up: Changed 2 years ago by chapoton

#26098 is needing review, and aims to allow using pari for L-functions

comment:9 in reply to: ↑ 8 Changed 2 years ago by jdemeyer

Replying to chapoton:

#26098 is needing review, and aims to allow using pari for L-functions

Yes, but not to replace lcalc.

comment:10 Changed 2 years ago by slelievre

  • Cc slelievre added
  • Keywords days101 lcalc added

comment:11 Changed 17 months ago by embray

  • Milestone changed from sage-8.9 to sage-9.1

Ticket retargeted after milestone closed

comment:12 Changed 14 months ago by gh-timokau

  • Cc gh-timokau added

comment:13 Changed 13 months ago by mkoeppe

  • Milestone changed from sage-9.1 to sage-9.2

Batch modifying tickets that will likely not be ready for 9.1, based on a review of the ticket title, branch/review status, and last modification date.

comment:14 Changed 7 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:15 Changed 3 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

Note: See TracTickets for help on using tickets.