-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
79 lines (55 loc) · 2.97 KB
/
TODO
File metadata and controls
79 lines (55 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
This file lists the things that ought to be implemented / fixed. Most
items require major work, and some may not be that desireable after all.
If you intend to work on any of these things, have a look at
README-git and drop an email to pari-dev.
Priority classification (first column): [subjective and debatable]
3 as soon as possible
2 nice to have
1 probably not
0 no
- unclassified
*************************** BUGS ***********************************
Unless specified otherwise, examples assume 64bit machine and default precision
1 O(x) * y --> O(x)
O(y) * x --> O(y) * x
[ design flaw in the current model for multivariate power series. Some work
to change it, no application for this in the current PARI code... ]
*************************** DOCUMENTATION ****************************
2 document the innards of PARI (entree, pariFILE, bloc, ...)
*************************** ALGORITHMS ****************************
Kernel:
=======
2 implement Jebelean-Krandick diviiexact
2 implement Mulders/Hanrot-Zimmermann Karatsuba short product t_REAL * t_REAL
2 inline level0 routines should operate on _limbs_, not on words.
2 FFT for basic types and polynomials (say in A[X], for A = Z, F_q, ...)
Misc:
=====
2 rnfkummer (non-prime degree)
2 nfsubfields [use known subfields to discard blocs right away]
2 merge quadclassunit and bnfinit
*************************** LIBRARY DESIGN ****************************
2 rename library functions following GP names
2 introduce "special" types for objects which are really containers and
should be defined by a secondary type (e.g number fields, finite fields,
p-adic fields, elliptic curves, ...). Would keep list of types small
(and fast)
2 sparse representations for multivariate polynomials and matrices.
1 type "element in" ([number|finite] field...), "point" on elliptic curve
2 find a way to deal (generically) with "integral object + its content"
[ rational arithmetic would be much more efficient, when polynomials or
matrices are involved. Currently, the content is being recomputed all
the time, removed, then multiplied back in ]
1 have some header magic (transparently) prepend some prefix (e.g "pari_")
before all exported functions to prevent name conflicts. Build alias
files for debuggers
*************************** GP DESIGN ****************************
2 Allow GP to trap an OS signal. Suppose that gp runs, say in nohup mode, and
it takes several days to complete the program. In meantime several things
can happen resulting in shutdown of the machine. On shutdown all programs
receive SIGTERM signal. I would like gp to be able to trap this signal and
when it receives one, to execute some gp command, e.g saving all settings
with full accuracy (e.g writebin).
2 write an analog of the 'echo' default which would print code as it is
_executed_, not as it is read
2 possibility to save and load a session (variables, functions, defaults)