File: TODO

package info (click to toggle)
jas 2.5.4408-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, jessie, jessie-kfreebsd, sid, stretch
  • size: 10,976 kB
  • ctags: 15,216
  • sloc: java: 111,905; python: 11,461; ruby: 9,204; makefile: 401; xml: 240; sh: 194
file content (189 lines) | stat: -rw-r--r-- 5,472 bytes parent folder | download
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
List of things to be resolved or accomplished:

issues to consider:

- implement Berlekamp-Zassenhaus for modular factorization

- implement IDEALDIV2 with extGB

- implement Musers multivariate factorization, evtl. with sparse Hensel lifting

- implement real roots with other methods, e.g. after Uspensky or Rolle

- implement complex roots with other methods, e.g. after Collins and Krandick

- implement involutive bases computation

- implement signature based GB computation

- make hashCode to reuse computed value --> not immutable

- use further util.concurrent algorithms where possible, e.g. in DHT

- make polynomial chinese remainder generic (?)

- test caching results of gcd computation

- refactor BigDecimal to RingElem and RingFactory, make precision variable

- refactor from BasicLinAlg to GenMatrix and GenVector 

- implement univariate power series composition and power

- make final variables public (?)

- define quotientRemainder in RingElem interface (?)

- make use of gcd in pseudo reduction, needs other coefficient type

- implement matrices to vector

- implement Boolean with RingElem interface (?)

- check solvable polynomials with integral domain coefficients

- refactor method names for groovy operator overloading, make examples for usage



partially resolved and completed issues:

- provide all Jython examples also for JRuby

- implement multivariate Hensel lifting for multivariate polynomial factorization

- implement 0-dim ideal complex root selection

- refactor package structure to reduce circular dependences

- implement parallel proxys for GB computation

- rework parallel GB algorithms

- implement FGLM GB algorithm

- implement other term orders for multivariate power series

- check the 693 exceptions (including 473 runtime exceptions) that are thrown, 
  reduce number of runtime exceptions

- check for safe publication in constructors, check wrt. the (new) Java memory model

- check and fix Findbugs warnings

- implement squarefree decomposition over fields of characteristic p

- implement absolute polynomial factorization

- implement univaiate and multivariate polynomial factorization

- let arith implementations extend Power as abstract class
  add divide, subtract, abs, remainder to Power, 
  name e.g RingElemAbstract
  clean structure of compareTo, signum and equals
  - is not possible

- define power(n) in RingElem (not done) and implement in edu.jas.structure.Power 
  and classes, done

- add product category to applications
- implement direct products of ring elements

- define FieldElem and Field factory interfaces and use them for GB coefficients

- refactor Hensel lifting to ufd package, not possible because of 
  coefficient replacement trick
  !must be done some how!

- check correct term order in recursive algorithms,
  in GCD ModEval only univariate cases are used, so term order is not a problem

- add assertions to check for number of polynomial variables and term order,
  nvar in GenPolynomial and GenSolvablePolynomial done



resolved and completed issues:

- refactor unit tests to a different source code tree to avoid circular dependencys

- implement AlgebraicNumber primitive element computation, done

- implement prime and primary ideal decomposition for non-zero-dimensional ideals, done

- implement prime and primary ideal decomposition for zero-dimensional ideals, done

- implement multivariate power series, done

- implement univariate power series, done

- develop modifiable polynomial constructor or put method and iterators

- rework junit tests to stop failing in case of zero polynomials

- using git to publish the repository, done

- rename divideAndRemainder to quotientRemainder

- refactor the Quotient class to edu.jas.ufd package, done

- implement d- and e-reductions and d-/e-Groebner bases, done

- implement Groebner bases for regular rings, done

- implement comprehensive GB, done

- implement term order optimization from MAS, also for coefficients 
  and solvable polynomials, done

- implement complex roots, done

- implement ModLong for faster modular arithmetic, done

- implement construction of univariate polynomials in zero-dimensional ideals
  done

- implement a global variable name generator in edu.jas.kern
  and use it in extend() and contract()
  done in GenPolynomialRing

- implement RealAlgebraicNumber and RealAlgebraicNumberRing, done

- implement real roots with Sturm sequence, done

- refactor univPoly in solvable implementations, done

- add missing comments in edu.jas.Algebra*, done

- let inverse() throw a runtime exception, done; throw a checked exception (?, no)

- split ModInteger to ModIntegerRing factory, done

- make logger variables also final, done

- rename getval() to getVal() in ExpVector, done

- refactor ExpVector for different array element types, done

- incorporate gcd() in the Quotient class in edu.jas.application

- implement BigDecimal with RingElem interface, done

- make examples with rational function field coefficients, 
  e.g. Raksanyi example

- replace thread-and-network-programming algorithms with 
  util.concurrent, done

- implement multivariate polynomial greatest common divisors, done

- add methods to GenPolynomialRing to construct x_i polynomials, done

- add version information in jas jar-file names, done

- split RingFactory to ElemFactory, done

- split AlgebraicNumber to AlgebraicNumberRing factory, done


$Id: TODO 4369 2013-04-13 17:14:08Z kredel $