1 | Thu Nov 7 11:31:58 MET 2002 Hans Schoenemann <hannes@mathematik.uni-kl.de> |
---|
2 | interface to NTL (optional, recommended): tested with NTL 5.2, 5.3 |
---|
3 | bug fixes for multivariate factorization |
---|
4 | |
---|
5 | Tue Apr 10 15:24:49 CEST 2001 Hans Schoenemann <hannes@mathematik.uni-kl.de> |
---|
6 | several small bugs fixed (mostly memory leaks) |
---|
7 | changed copyright to GPL |
---|
8 | |
---|
9 | Tue Oct 28 14:46:08 1997 Jens Schmidt <schmidt@mathematik.uni-kl.de> |
---|
10 | |
---|
11 | New features in Factory, version 1.3b: |
---|
12 | ====================================== |
---|
13 | Distribution and organization level: |
---|
14 | ------------------------------------ |
---|
15 | o The new external variable `factoryConfiguration' describes the |
---|
16 | configuration Factory has been translated with. |
---|
17 | o If configuring for cross compiling `configure' assumes that the target |
---|
18 | machine has arithmetic shift. |
---|
19 | o Parts of Factory are written using `folding-mode' for GNU Emacs. Since |
---|
20 | this is a really useful feature `folding.el' has been added to the |
---|
21 | distribution. |
---|
22 | o The new `make' target `installtest' in the top level `GNUmakefile' tests |
---|
23 | whether the installation has been successful. |
---|
24 | o The new directory `examples/' contains some example applications for |
---|
25 | Factory and a `GNUmakefile' to build them. |
---|
26 | |
---|
27 | Source code level: |
---|
28 | ------------------ |
---|
29 | o The main interface to Factory, the class `CanonicalForm' has been (almost |
---|
30 | completely) revised. During this process, a number of smaller bugs has |
---|
31 | been fixed (most of the bugs concerning some more or less exceptional |
---|
32 | cases). Furthermore, many of the methods became a little bit faster, |
---|
33 | some of them became a lot faster (e.g., the evaluation-`operator() ()' uses |
---|
34 | Horner's rule now, `degree( const & Variable )' and `deriv( const & |
---|
35 | Variable)' do not use expensive calls to `swapvar()' any longer). |
---|
36 | o In the same way, I have begun to revise the gcd calculations, but there is |
---|
37 | still is a lot of work to do. As a first result, gcd calculations over Z |
---|
38 | became faster (up to a factor of two for large examples). |
---|
39 | |
---|
40 | Other bug fixes: |
---|
41 | o A serious bug in `resultant()' has been fixed. |
---|
42 | o `gcd()' works correctly now for polynomials with rational coefficients. |
---|
43 | However, `factorize()' still does not, and you have to multiply with the |
---|
44 | common denominator before factorizing. |
---|
45 | o `psr( CF f, CF g, Var x )', `psq()', `psrq()' work correctly now if |
---|
46 | degree(f) < degree(g). However, they still do not work correctly if |
---|
47 | either in divisor or dividend occur variables with level higher than |
---|
48 | x's level. |
---|
49 | o A bug in `CanonicalForm::sqrt()' has been fixed which in some cases made |
---|
50 | `factorize()' crash. |
---|
51 | |
---|
52 | Changes: |
---|
53 | o If CO has not a denominator `CanonicalForm::den()' returns now the unity |
---|
54 | from the current domain, not the unity from the domain of CO. |
---|
55 | o `chineseRemainder()' works now for polynomials over Z instead for elements |
---|
56 | of Z only. |
---|
57 | o `cden()' computes the common denominator with respect to algebraic |
---|
58 | variables, too, so multiplying with `cden()' in any case results in an |
---|
59 | object with integral coefficients |
---|
60 | |
---|
61 | New features: |
---|
62 | o The new function `subResChain()' returns the extended subresultant chain |
---|
63 | of two polynomials. |
---|
64 | o The new function `replacevar()' replaces one variable with another. In |
---|
65 | contrast to `swapvar()', this works for algebraic variables, too. |
---|
66 | o The new function `size()' returns the number of monomials occuring in a |
---|
67 | `CanonicalForm'. |
---|
68 | o The new method `CanonicalForm::Lc()' returns the leading coefficient of |
---|
69 | CO, where elements from an algebraic extension are considered |
---|
70 | coefficients, and not polynomials. |
---|
71 | |
---|
72 | Thu Jul 17 10:15:59 1997 Jens Schmidt <schmidt@mathematik.uni-kl.de> |
---|
73 | |
---|
74 | New features in Factory, version 1.3a: |
---|
75 | ====================================== |
---|
76 | Besides minor changes at "source code level" (bug fixes, new features) |
---|
77 | which are not really visible to the user in general there are quite a lot |
---|
78 | of changes at "organization level" (aka "preprocessor level") and at |
---|
79 | "distribution level" (`configure', `GNUmakefile'). |
---|
80 | |
---|
81 | |
---|
82 | Source code level: |
---|
83 | ------------------ |
---|
84 | o Serious bug in univariate factorization in characterstic 0 fixed (by |
---|
85 | Ruediger Stobbe). |
---|
86 | |
---|
87 | o New gcd algorithm (sparse modular), not fully tested by now (contributed |
---|
88 | by Marion Bruder). Switch on with `SW_USE_SPARSEMOD'. |
---|
89 | |
---|
90 | o Various minor bug fixes. |
---|
91 | |
---|
92 | |
---|
93 | Organization level: |
---|
94 | ------------------- |
---|
95 | o Factory translates now on Macintosh with Metroworks |
---|
96 | CodeWarrior Academic Pro 11 (changes by Wilfred Pohl) |
---|
97 | |
---|
98 | o So called "new" memory manager (written by Ruediger Stobbe) added to |
---|
99 | distribution. So far no timigs available which memory manager is faster. |
---|
100 | |
---|
101 | o "ASSERT", "DEBOUT", "TIMING macros" streamlined |
---|
102 | |
---|
103 | o Factory's IO completely re-organized (that was a mess!). It is now |
---|
104 | possible to switch off everything which is related to stream IO (use |
---|
105 | `--disbale-streamio' option to `configure'). This way it is possible to |
---|
106 | link Factory without `libg++.a' or `libiostream.a'. Changes include: |
---|
107 | |
---|
108 | - everything related to stream IO wrapped by `#ifndef NOSTREAMIO' |
---|
109 | - all error messages/debug output messages rewritten so that they use the |
---|
110 | "ASSERT" and "DEBOUT macros" |
---|
111 | - furthermore, it was necessary to change the way the GF(q) tables are |
---|
112 | read. As a consequence, the format of the GF(q) tables slightly |
---|
113 | changed, too. You have to generate/get them from net by new. |
---|
114 | |
---|
115 | |
---|
116 | Distribution level: |
---|
117 | ------------------- |
---|
118 | o The organization of the distribution as well as the compile/install |
---|
119 | procedure totally changed. It is now more GNU-like. See the `INSTALL' |
---|
120 | file and the `README' file for more information. |
---|
121 | |
---|
122 | o The file names of the template sources changed. To make them less |
---|
123 | canonical, all names are prefixed with `ftmpl_' ("Factory template") now. |
---|
124 | |
---|
125 | o The installation target directories and their structure changed a little |
---|
126 | bit. See the `INSTALL' file for more information. |
---|
127 | |
---|
128 | |
---|
129 | |
---|
130 | Before May 3 1997 Jens Schmidt <schmidt@mathematik.uni-kl.de> |
---|
131 | |
---|
132 | New features in Factory, version 1.2c: |
---|
133 | ====================================== |
---|
134 | Version 1.2c is a more or less inofficial version distributed with |
---|
135 | Singular 1.0. I hope it does not distribute too far... The description of |
---|
136 | new features to version 1.3a cope the description of new features to this |
---|
137 | version. |
---|