Project

General

Profile

Activity

From 23 Oct 2016 to 21 Nov 2016

21 Nov 2016

18:01 Feature #979: SmallestNonDivisor -- new fn
After a brief discussion on email, I think it is best to write on redmine.
Robbiano proposes a function to find the ...
John Abbott
17:51 Feature #979 (Closed): SmallestNonDivisor -- new fn
In the context of the "universal denominator" for a polynomial ideal, it could be useful to find the first prime whic... John Abbott
17:49 Support #976: configure: auxiliary scripts should be consistent about error messages
I have changed the format of the error messages in the existing shell scripts: the script name is now placed last (an... John Abbott
14:22 Support #976: configure: auxiliary scripts should be consistent about error messages
OK, we can try with the script (base)name at the end of the message. It shouldn't take too long to make the change.
...
John Abbott
14:08 Support #976: configure: auxiliary scripts should be consistent about error messages
My preferred is... Anna Maria Bigatti
14:06 Support #976: configure: auxiliary scripts should be consistent about error messages
John Abbott wrote:
> Another idea is to have a configuration flag for "developers" so that the errors from scripts s...
Anna Maria Bigatti
13:51 Support #976: configure: auxiliary scripts should be consistent about error messages
Another idea is to have a configuration flag for "developers" so that the errors from scripts say which script gave t... John Abbott

18 Nov 2016

23:09 Feature #951 (Closed): New function: IsSqFree
John Abbott
22:39 Feature #955 (Closed): RandomUnimodularMat - random unimodular matrix (of integers)
John Abbott
22:37 Feature #910 (Closed): BigRat: read from a string in "decimal" format?
John Abbott
22:24 Bug #956 (Closed): determinant: fails for 0x0 matrix (SEGV)
John Abbott
22:23 Bug #938 (Closed): ReadExpr: misreads 2/3^4
John Abbott
22:22 Bug #936 (Closed): ReadExpr: cannot handle exponent which is not integer literal
John Abbott
21:58 Bug #971: CheckForInterrupt does not work in the expected way
I have now changed the call to @CheckForInterrupt@ in @TmpGReductor@ to the simple call that I had expected to see, a... John Abbott
18:54 Support #976 (In Progress): configure: auxiliary scripts should be consistent about error messages
Another possibile one-line format could put the script name in brackets somehow:
(first line is the current format)
...
John Abbott
18:44 Support #976: configure: auxiliary scripts should be consistent about error messages
One suggestion for the format of the error messages is to use 2 lines, perhaps like this:... John Abbott
18:39 Support #976: configure: auxiliary scripts should be consistent about error messages
While unformity is nice, it is not so important if the existing scripts work well enough ==> low priority.
I think...
John Abbott
18:34 Support #976 (Closed): configure: auxiliary scripts should be consistent about error messages
There are numerous auxiliary shell scripts (in directory @configuration/@).
They do not have a uniform way of commun...
John Abbott
18:28 Bug #975: configure: possibly ignore GMP compilation flags
If I recall well, with the @clang@ compiler there is a compile-time error with the platform-specific flags from the "... John Abbott
18:20 Bug #593 (Feedback): Temporary directories used during configuration
I have updated all the auxiliary scripts to use temp dirs in @/tmp@ following the naming convention suggested above. ... John Abbott
13:39 Bug #593: Temporary directories used during configuration
Also done the @gfan@ scripts (and fixed some more tiny problems in the @gmp@ scripts).
John Abbott
12:19 Bug #593: Temporary directories used during configuration
I have now adopted the following naming convention for the tmp dirs:
*@/tmp/CoCoALib-config-abbott-2016-11-18/gmp-cx...
John Abbott

17 Nov 2016

22:47 Bug #593: Temporary directories used during configuration
I have changed the @gmp-XYZ.sh@ scripts... configuration still works on my machine (I think).
John Abbott
22:04 Bug #593: Temporary directories used during configuration
Some scripts need to know where the *@ExternalLibs@* directory is located.
I think the simplest way to pass in this ...
John Abbott
21:34 Bug #593: Temporary directories used during configuration
Using @/tmp@ for temporary directories is very tempting, but must be done safely (_e.g._ cannot have two users trying... John Abbott
21:16 Bug #975 (In Progress): configure: possibly ignore GMP compilation flags
I have modified the script @gmp-cxx-flags.sh@. A quick test on my machine passed (well, the first few tests didn't p... John Abbott
19:25 Bug #975: configure: possibly ignore GMP compilation flags
I hope to resolve this while I'm here, and can see what happens on Gereon's cloud.
Of course, it is tedious having...
John Abbott
19:23 Bug #975 (Closed): configure: possibly ignore GMP compilation flags
Gereon had a strange problem. He was compiling on a cloud VM, and got strange error messages about the platform-spec... John Abbott
19:15 Feature #974: QIR/RealRootRefine: improve behaviour if input interval has "nasty" endpoints
This should really be under CoCoA-5, but I hope that @RealRoots@ will soon be migrated to C++ (see #440).
My curre...
John Abbott
19:07 Feature #974 (In Progress): QIR/RealRootRefine: improve behaviour if input interval has "nasty" endpoints
The fn @RealRoots@ lets a user specify an interval in which to look for real roots.
If the initial ends points are n...
John Abbott
19:03 Feature #678: Accumulator (like a geobucket)
Here is a possible design:
* user deals with a smart-pointer class (_e.g._ like ideal)
* internally there is an abs...
John Abbott
14:26 Feature #678 (In Progress): Accumulator (like a geobucket)
Here are some possible applications:
* converting polynomials to/from CoCoALib (_e.g._ other library may keep terms ...
John Abbott
14:12 Feature #678: Accumulator (like a geobucket)
Just adding some *keywords* to this issue (so it is easier to find via redmine search).
*Summation*, *summer*, *summ...
John Abbott
14:12 Feature #817: GenRepr in CoCoALib?
I will write GenRepr for poly/ideal leaving the marginal cases to cocoa-5 code.
Anna Maria Bigatti
13:25 Feature #817: GenRepr in CoCoALib?
Clearly it was not possible to have it by summer 2016 :-)
@Anna: would it be easy to add?
John Abbott
13:36 Feature #839: SparsePolyIter: make more compatible with STL
Here is a possible way to implement the idea in comment 2.
The "index" could be a pair of pointers: one pointer to...
John Abbott
13:21 Support #972: ex-PolyIterator
Since the feature being exhibited in the examples is called @SparsePolyIter@, it makes more sense that the files be c... John Abbott
13:17 Support #972 (New): ex-PolyIterator
There are examples for using @SparsePolyIter@; why are the files they are in called @ex-PolyIterator@?
@ex-PolyIte...
John Abbott

14 Nov 2016

21:53 Bug #971: CheckForInterrupt does not work in the expected way
Cane we have something more compact like this?... Anna Maria Bigatti
16:11 Bug #971: CheckForInterrupt does not work in the expected way
I have made some changes to @Interpreter.C@ (mostly adding catch commands for @InterruptReceived@).
I have not (ye...
John Abbott
13:07 Bug #971: CheckForInterrupt does not work in the expected way
In issue #714 I had guessed that the only place I needed to catch @InterruptReceived@ was around line 2678 of @Interp... John Abbott
13:03 Bug #971 (In Progress): CheckForInterrupt does not work in the expected way
As far as I can see, the CoCoA-5 interpreter needs to be modified so that it catches both @CoCoA::ErrorInfo@ and @CoC... John Abbott
11:10 Bug #971 (Closed): CheckForInterrupt does not work in the expected way
Looking at the call to @CheckForInterrupt@ in @GReductor::myReduceCurrentSPoly@ (around line 760 of @TmpGReductor.C@)... John Abbott

11 Nov 2016

15:49 Design #970 (In Progress): Weights in ElimMat?
I suggest proceeding with definition (a):
* it is already implemented
* it is easy to explain/describe
If we com...
John Abbott
15:35 Design #970: Weights in ElimMat?
I prefer (c) to (b) perhaps because it is sparser.
(a) and (c) clearly do not give the same term-ordering though t...
John Abbott
15:13 Design #970 (In Progress): Weights in ElimMat?
(similar for ElimHomogMat)
What should @ElimMat([2,3], mat([[1,5,2]]));@ return? (now it is (a))...
Anna Maria Bigatti
15:10 Slug #969 (In Progress): Output to bad stream (operator<< and myOutput): just return immediately
I have added the relevant line to all instances of @operator<<@ (for @ostream@, but not for OpenMath output fns).
...
John Abbott
15:02 Feature #962: General verbose mode?
I have just checked in a first impl of "verbose".... including doc and an example (but no test).
Perhaps we can tr...
John Abbott
11:23 Feature #962: General verbose mode?
With reference to comment 6, and the example there.
I now think it would be better to require that the programmer ...
John Abbott

10 Nov 2016

21:33 Slug #968: Slow NF example
I constructed the example in comment 5 by taking a sparse polynomial (in this case @z^30-1@) which has a factorizatio... John Abbott
21:09 Slug #968 (In Progress): Slow NF example
Here is another example which rather suggests that the problem is quite difficult in general:... John Abbott
17:09 Slug #968: Slow NF example
John Abbott wrote:
> This makes me think that it has effectively computed @(x+y+z+1)^498@ and then discovered that a...
Anna Maria Bigatti
17:03 Slug #968: Slow NF example
On the fixed linux box here it took about 210s to compute @NF(f,I)@.
This makes me think that it has effectively c...
John Abbott
16:42 Slug #968: Slow NF example
John Abbott wrote:
> When computing a @NF(x^999*y^999,I)@ we can use either GBasis element for the reduction.
> CoC...
Anna Maria Bigatti
16:16 Slug #968: Slow NF example
When computing a @NF(x^999*y^999,I)@ we can use either GBasis element for the reduction.
CoCoA ought to prefer reduc...
John Abbott
16:13 Slug #968 (In Progress): Slow NF example
Here is a silly example where NF takes longer than it should:... John Abbott
19:05 Feature #966: New function or explain: first and last for a vector?
John Abbott wrote:
> I am concerned that they may make wasteful copies of the elements of the list/vector.
Surely...
Anna Maria Bigatti
16:11 Feature #966: New function or explain: first and last for a vector?
I am not yet convinced that @first@ and @last@ are good ideas for C++.
What exactly are the hoped-for semantics? ...
John Abbott
09:06 Feature #966: New function or explain: first and last for a vector?
Equivalent to @first,last@:... Anna Maria Bigatti
08:43 Feature #966 (Closed): New function or explain: first and last for a vector?
In CoCoA-5 we often first and last for making sub-lists.
This is tedious to translate into C++.
Make good C++ docum...
Anna Maria Bigatti
18:16 Feature #962: General verbose mode?
I have tried a quick experiment, and can confirm that (on my computer) creating an @ofstream@ with a default ctor (_i... John Abbott
16:19 Feature #962: General verbose mode?
A reasonable development strategy could be to resolve #931 (verbose for GBasis) using the ideas suggested here.
When...
John Abbott
17:51 Feature #718: Insert calls to CheckForInterrupt
I tried interrupting a long gbasis computation (as part of one of Mario's long radical examples). The computation ha... John Abbott
17:01 Slug #967: Improve saturate
I see that there is an involutive saturation.
How does that work in general? should we use that instead of GBases?
Anna Maria Bigatti
16:54 Slug #967: Improve saturate
I have modified ComputeSaturation using the factorization (repeats saturation on the factors).
I don't know if that'...
Anna Maria Bigatti
11:59 Slug #967: Improve saturate
I implemented another naive algorithm (elim(h, I+(f*h-1))), but seems even worse. Anna Maria Bigatti
09:20 Slug #967 (Resolved): Improve saturate
saturate is slow (naive algorithm: repeated colon).
Improve it.
Anna Maria Bigatti
16:38 Slug #969: Output to bad stream (operator<< and myOutput): just return immediately
The motivation behind this issue is the idea of using an @ostream@ with its bad-bit set to simulate @/dev/null@.
T...
John Abbott
16:31 Slug #969 (Closed): Output to bad stream (operator<< and myOutput): just return immediately
Functions for outputting values should return immediately if the output stream is bad.
This is potentially important...
John Abbott
08:29 Feature #357 (Feedback): Constructor for vectors? CoCoAVector
This was done (up to 4 args): 2014/12/02 Anna Maria Bigatti

07 Nov 2016

18:23 Feature #962 (In Progress): General verbose mode?
Here is another idea (perhaps not so very KISS).
*NOTE* see my revision in note 10
At the start of a fn in whic...
John Abbott
15:07 Feature #962: General verbose mode?
I was thinking of having a *single* global variable for controlling verbosity, rather than many different names for d... John Abbott
14:50 Feature #962: General verbose mode?
For the specific case you mentioned:
in MinPoly.C set...
Anna Maria Bigatti
13:54 Feature #962: General verbose mode?
A possible design would be to have a global variable containing the verbosity level; so this would presumably be gove... John Abbott
13:38 Feature #962: General verbose mode?
Sometimes it could be helpful to have a verbose mode to understand what is happening inside a long computation (_e.g.... John Abbott
13:34 Feature #962 (Closed): General verbose mode?
Might it make sense to have a general "verbose" mechanism for CoCoALib?
(in addition to the specific one for Groebne...
John Abbott
17:53 Feature #958: New function: multiplicity and dim
What exactly does multiplicity do?
I made the mistake of trying to compute @multiplicity(I)@ instead of @multiplic...
John Abbott
16:04 Feature #951: New function: IsSqFree
Renamed @AreGensSquareFreeMonomial@ into @AreGensSqFreeMonomial@.
Added to CoCoA-5 (with doc) and to obsolescent.C...
Anna Maria Bigatti
12:31 Feature #951: New function: IsSqFree
I have renamed *@IsRadical@* (for @PPMonoidElem@)to *@IsSqFree@*. The old fn has been moved to @obsolescent.C@ (see ... John Abbott
13:31 Bug #790 (Closed): RingDistrMPolyInlFpPPImpl::mySummandPool frees ZERO PTR many times
This was resolved a year ago. I have just performed the test suggested in comment 1, and there are no warnings (the ... John Abbott

05 Nov 2016

17:39 Support #953: new file for old functions: obsolescent.C
Also added *@doc/txt/obsolescent.txt@* (with relevant changes to the index files).
Perhaps Anna could check what ...
John Abbott

04 Nov 2016

22:41 Support #953 (Feedback): new file for old functions: obsolescent.C
Added @test-obsolescent.C@, @ex-obsolescent.C@ and added doc to @GlobalManager.txt@.
John Abbott
21:46 Support #953: new file for old functions: obsolescent.C
Thanks, Anna! :-)
Checked in.
I did apparently lie slightly: the user has to add the include directive *and* a...
John Abbott
19:02 Support #953: new file for old functions: obsolescent.C
John Abbott wrote:
> Is it really too much to ask the user to add just one line to their file: *@#include "CoCoA/obs...
Anna Maria Bigatti
17:02 Support #953: new file for old functions: obsolescent.C
I really do not like the idea of including obsolescent fns by default: in what sense would they be obsolescent?
Is...
John Abbott
15:47 Support #953: new file for old functions: obsolescent.C
John Abbott wrote:
> Perhaps we do not need any preprocessor flag. What about the following approach?
>
> The fi...
Anna Maria Bigatti
10:43 Support #953: new file for old functions: obsolescent.C
Perhaps we do not need any preprocessor flag. What about the following approach?
The file *@library.H@* does not ...
John Abbott

03 Nov 2016

17:06 Support #953: new file for old functions: obsolescent.C
I prefer not to have so many preprocessor flags. We do need 1 to make the contents of @obsolescent.H@ visible/invisi... John Abbott
16:45 Support #953: new file for old functions: obsolescent.C
John Abbott wrote:
> My preference is that obsolescent fns remain invisible by default; the user must do something t...
Anna Maria Bigatti
16:28 Support #953: new file for old functions: obsolescent.C
I have checkedin the relevant files. The new files are called *@obsolescent.H@* and *@obsolescent.C@*.
CoCoALib i...
John Abbott
11:05 Support #953: new file for old functions: obsolescent.C
John Abbott wrote:
> I have a first implementation (but called the file @obsolete.C@ since I find "obsolete" easier ...
Anna Maria Bigatti
10:28 Support #953: new file for old functions: obsolescent.C
I have a first implementation (but called the file @obsolete.C@ since I find "obsolete" easier to type than "obsolesc... John Abbott
07:56 Support #953: new file for old functions: obsolescent.C
John Abbott wrote:
> Here are some ideas about how we might achieve a reasonable design:
> * obsolete/obsolescent f...
Anna Maria Bigatti
08:50 Feature #961 (Closed): New function: ReducedGBasis
Currently @ReducedGBasis@ is implemented in CoCoA_5.
Add it to CoCoALib, and add the flag @HasReducedGBasis@.
Suppo...
Anna Maria Bigatti

02 Nov 2016

22:15 Support #953 (In Progress): new file for old functions: obsolescent.C
Here are some ideas about how we might achieve a reasonable design:
* obsolete/obsolescent fns go into 2 files @obso...
John Abbott
20:58 Feature #951: New function: IsSqFree
John Abbott wrote:
> *NOTE* the special fn for PPs is still called *@IsRadical@*; should we rename it?
yes, pleas...
Anna Maria Bigatti
20:17 Feature #951: New function: IsSqFree
John Abbott wrote:
> I believe I have fixed the SEGV bug. Checked in new version of @DUPFp.C@. @Anna: could you ch...
Anna Maria Bigatti
18:58 Feature #951: New function: IsSqFree
I believe I have fixed the SEGV bug. Checked in new version of @DUPFp.C@. @Anna: could you check? :-)
*NOTE* p...
John Abbott
18:23 Feature #951: New function: IsSqFree
Reducing the example. These give segv:... Anna Maria Bigatti
18:17 Feature #951: New function: IsSqFree
While comparing various implementations of radical(0-dim) I found this, unexpected for me:
@IsSqFree@ is quite fast ...
Anna Maria Bigatti
18:38 Feature #958: New function: multiplicity and dim
John Abbott wrote:
> Do you plan to add @MultiplicityQuot@ and @DimQuot@ to CoCoA-5?
> If one computes @dim(P/I)@, ...
Anna Maria Bigatti
17:17 Feature #958 (Resolved): New function: multiplicity and dim
Do you plan to add @MultiplicityQuot@ and @DimQuot@ to CoCoA-5?
If one computes @dim(P/I)@, does that actually creat...
John Abbott
17:13 Feature #957 (In Progress): New function: HasGBasis
Even though I invented it, I do not much like the name *@TidyGens@*...
Also, it is not clear to me how to deal wit...
John Abbott
15:50 Feature #957: New function: HasGBasis
Also implemented the member function @IHaveGBasis@ Anna Maria Bigatti
15:45 Feature #957: New function: HasGBasis
I implemented it.
It took a remarkably long time mostly for choosing the name and deciding where to put it.
In fact...
Anna Maria Bigatti

27 Oct 2016

16:36 Feature #958: New function: multiplicity and dim
Done. Still need documentation. Anna Maria Bigatti
16:34 Feature #958 (Resolved): New function: multiplicity and dim
@multiplicity@ and @dim@ are implemented in cocoa-5.
Bring them to cocoalib.
The names should be *@MultiplicityQu...
Anna Maria Bigatti
16:26 Bug #956: determinant: fails for 0x0 matrix (SEGV)
I am still puzzled about how best to handle the trivial cases (0x0 and 1x1 matrices).
The relevant code is only 2 ...
John Abbott
14:16 Bug #956 (Resolved): determinant: fails for 0x0 matrix (SEGV)
The problem was simply that the generic Bariess code failed (on the very last line) when given a 0x0 matrix.
I hav...
John Abbott
14:13 Bug #956 (Closed): determinant: fails for 0x0 matrix (SEGV)
The following triggers a SEGV:... John Abbott
15:58 Feature #955: RandomUnimodularMat - random unimodular matrix (of integers)
I have added a test (which revealed issue #956).
I would check in, but EduRoam is being more than usually obstructiv...
John Abbott
13:17 Feature #955 (Feedback): RandomUnimodularMat - random unimodular matrix (of integers)
Perhaps the function is not that widely usable, but it was handy for something I was doing, so I made it publicly ava... John Abbott
13:12 Feature #955 (Closed): RandomUnimodularMat - random unimodular matrix (of integers)
Write a new function which produces random unimodular matrices of integers. John Abbott
14:42 Feature #957 (Closed): New function: HasGBasis
How to know if the GBasis has already been computed? there is a member flag (myGBasisIsValid), but we should have a ... Anna Maria Bigatti
13:59 Feature #11: Bareiss algorithm
What is the status of this issue?
I believe the code is there (and presumably has been active for some time).
John Abbott
11:22 Design #311 (Feedback): XelMat, StdDegRevLexMat, ... should be MatrixView
It make sense for the ordering matrices to be over @ZZ@; for @IdentityMat@ it is useful to be able to specify the rin... John Abbott

26 Oct 2016

17:44 Support #953 (Closed): new file for old functions: obsolescent.C
In CoCoA-5 we have @obsolescent.cpkg5@, a package with all the functions declared obsolescent, for example if they ha... Anna Maria Bigatti

25 Oct 2016

23:03 Slug #952 (Closed): GCD very slow
While testing @IsSqFree@ I observed that CoCoALib is very slow at computing @gcd(f,f')@ where @f = (x^2+1)*(x^27-x)@ ... John Abbott
23:01 Feature #951 (Feedback): New function: IsSqFree
I have checked in code for the new fn *@IsSqFree@* (incl. tests and doc).
It is not complete:
* currently gives e...
John Abbott

24 Oct 2016

17:51 Feature #951 (In Progress): New function: IsSqFree
A function which tests whether a value is square-free is probably going to be quite similar to a function which deter... John Abbott
17:29 Feature #951: New function: IsSqFree
Currently there is a function called @IsRadical(PP)@ for a PPMonoidElem.
Should it be called @IsSquareFree@?
"A n...
Anna Maria Bigatti
17:19 Feature #951 (Closed): New function: IsSqFree
Write function IsSquareFree (or IsSqFr, or IsSqFree) for a RingElem Anna Maria Bigatti
17:14 Feature #796: CoCoALib function for radical (or SqFree) of a polynomial
I like the idea of a fn @IsSqFree@; it certainly could be faster than testing equality with the radical (and also cle... John Abbott
16:54 Feature #796: CoCoALib function for radical (or SqFree) of a polynomial
After spending some time thinking and writing, I realized that we would need a
@IsSqFree(f)@ which could be consider...
Anna Maria Bigatti
15:32 Feature #838: Differential algebra
After some more reading, it seems that the usual structure is @QQ(x_1, x_2, ..., x_n)[u1, u2,...]@ where the expressi... John Abbott
 

Also available in: Atom