Opened 3 years ago
Last modified 15 months ago
#22872 new task
Enhanced linbox interface
Reported by: | vdelecroix | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-8.4 |
Component: | interfaces | Keywords: | linbox |
Cc: | cpernet, cremona, dlucas | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
In sage/libs/linbox/linbox.pxd
we currently have two classes that gives an interface for dense integer matrix (Linbox_integer_dense
) and sparse matrix over Z/nZ (Linbox_modn_sparse
). These interfaces are then used in different matrix implementations in sage/matrix/
.
This task ticket stands for improvement of the LinBox interface
- moving the implementation directly in
sage/matrix
without the intermediate Cython classes. In particular, avoid calling the linbox-sage interface (on LinBox side) but directly invoque LinBox C++ code (as Cython now allows it) (done in #22924 and #24544) - more documentation and testing
- support for other matrix types (e.g. sparse integer matrix (done in #23214), interface with m4ri that Sage uses for matrix over GF(2))
- expose more algorithms
- solving
A X = B
withB
a matrix without repeated call to LinBox column by column - parallel features from LinBox
- more options for computing determinant (LinBox knows how to do this in more than one way)
- solving
- open-mp is explicitely disabled in
spkg-install
with a reference to #17635 comment 67 - fplll is explicitely disabled in
spkg-install
with a reference to #21221
Concrete ticket list
- #22924: implement a direct flint/LinBox interface and use it in
matrix_integer_dense.pyx
- #22966: warning while compiling
element_givaro.pyx
- #22970: use
fmpq_mat_t
for rational dense matrices - #22971: more linbox in rational dense matrices
- #23158: LinBox patch for integer sparse linear solving
- #24544: clean declarations + matrix modn
- #23214: solve/det/rank/charpoly/minpoly for sparse integral matrices (see also #13915, #25257)
- #26178:
unsigned int
andint64_t
behave very differently!
Change History (23)
comment:1 Changed 3 years ago by
- Description modified (diff)
comment:2 Changed 3 years ago by
- Description modified (diff)
comment:3 Changed 3 years ago by
comment:4 Changed 3 years ago by
- Description modified (diff)
comment:5 Changed 3 years ago by
- Cc dlucas added
comment:6 Changed 3 years ago by
- Description modified (diff)
comment:7 Changed 3 years ago by
- Description modified (diff)
comment:8 Changed 3 years ago by
- Description modified (diff)
comment:9 Changed 3 years ago by
- Description modified (diff)
comment:10 Changed 3 years ago by
- Description modified (diff)
comment:11 Changed 3 years ago by
- Description modified (diff)
comment:12 Changed 3 years ago by
- Description modified (diff)
comment:13 Changed 2 years ago by
- Description modified (diff)
comment:14 Changed 2 years ago by
- Description modified (diff)
comment:15 Changed 21 months ago by
- Description modified (diff)
- Milestone changed from sage-8.0 to sage-8.2
comment:16 Changed 21 months ago by
- Description modified (diff)
comment:17 Changed 21 months ago by
- Description modified (diff)
comment:18 Changed 21 months ago by
- Description modified (diff)
comment:19 Changed 21 months ago by
- Description modified (diff)
comment:20 Changed 19 months ago by
- Keywords linbox added
- Milestone changed from sage-8.2 to sage-8.3
comment:21 Changed 18 months ago by
- Milestone changed from sage-8.3 to sage-8.4
update milestone 8.3 -> 8.4
comment:22 Changed 17 months ago by
- Description modified (diff)
comment:23 Changed 15 months ago by
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.
I just noticed that there was a previous attempt to clean the interface in #21327 by C. Bouillaguet.