Project

General

Profile

Activity

From 15 Oct 2020 to 13 Nov 2020

13 Nov 2020

18:29 Design #1391: RingElems: syntax with [ and ] ?
The C++ version does not work: @WhatsNext@ causes too much trouble :-(
Groan...
John Abbott
14:36 Design #1391: RingElems: syntax with [ and ] ?
Remove the CoCoA-5 and make it call the cocoalib version.
John Abbott
15:20 Design #1538: RingElem from string (ReadExpr)
My personal opinion is that I do not like *@1/-2@* and *@2*-3@*; they both look like typos to me. Perhaps the user m... John Abbott
15:04 Design #1538: RingElem from string (ReadExpr)
Similar problem for *@RingElem(QQ, "2*-3");@*
John Abbott
14:59 Design #1538 (Closed): RingElem from string (ReadExpr)
What should the following do... John Abbott

10 Nov 2020

14:11 Feature #1532: Convenient RingHom pseudo-ctors
It might be possible to extend the impl give above to handle quotients of poly rings, and perhaps also "towers" of po... John Abbott

09 Nov 2020

21:13 Feature #1466: Ops += *= etc for Matrices?
It is not clear to me how to implement @+=@ etc. better than the naive way, and maintain exception safety.
It migh...
John Abbott
21:02 Bug #1233: factor SEGV -- too large characteristic
Revised example (now that we're mostly 64 bit)... John Abbott

06 Nov 2020

14:24 Feature #1532: Convenient RingHom pseudo-ctors
Florian mentions that Singular has something called *@imap@*...
John Abbott
14:07 Feature #1532 (In Progress): Convenient RingHom pseudo-ctors
Here is a prototype in CoCoA-5... we would also need a version for cocoalib!!... John Abbott
13:20 Feature #1532: Convenient RingHom pseudo-ctors
Here is the example Florian wanted:... John Abbott
13:14 Feature #1532 (In Progress): Convenient RingHom pseudo-ctors
CoCoALib should offer some convenient pseudo-ctors for @RingHom@.
One example would be from @QQ[x,y,z]@ into @QQ(x...
John Abbott

04 Nov 2020

20:41 Design #1529: INPUT questions
One mild concern is that the reading fns in C++ try to accept the maximum length initial string which gives "valid" i... John Abbott
20:25 Design #1529 (In Progress): INPUT questions
The code for reading a @BigRat@ can read it either as a fraction @N/D@ or as a decimal @Int.frac@.
For the "decima...
John Abbott
20:06 Design #1529: INPUT questions
Ooops! I have had a look a what happens when a @BigInt@ is read... and I found a bug :-(
For @BigInt@ no space is...
John Abbott
17:41 Design #1529: INPUT questions
Regarding point *(1)*... what should input of a @BigRat@ do with the following input streams?
* *@1/2@* -->JAA: ...
John Abbott
17:33 Design #1529: INPUT questions
One possibility would be to require that an integer literal start with a decimal digit: _e.g._ there is no problem in... John Abbott
13:35 Slug #1517: RandomLinearForm
I presume the timings in comment 4 were with @unsigned short@ as @SmallExponent_t@ (otherwise CoCoA has suddenly beco... John Abbott

03 Nov 2020

21:03 Slug #897 (Feedback): SimplestBigRatBetween: why is it so slow?
I have checked in (despite the presence of some experimental changes).
John Abbott
20:51 Design #1391 (Feedback): RingElems: syntax with [ and ] ?
I have implemented *@RingElemVec@*; the code is mostly shared with @RingElems@.
John Abbott

31 Oct 2020

09:04 Design #1529 (Closed): INPUT questions
I have some questions about what inputs should be accepted.
*(1)* when reading a @BigRat@ we accept <Integer-liter...
John Abbott

30 Oct 2020

20:20 Design #1523: Input fns: action when when istream is in bad state?
Checked in, but not @symbol.C@.
John Abbott
19:54 Design #1523: Input fns: action when when istream is in bad state?
The function @symbol::myInput@ reports an error by setting the channel state (@failbit@) rather than throwing an exce... John Abbott
19:46 Design #1523 (Resolved): Input fns: action when when istream is in bad state?
I have added checks to all input fns so that an exception is thrown if the istream is not in a good state when called... John Abbott
19:24 Design #1523 (In Progress): Input fns: action when when istream is in bad state?
After discussion with Anna, we have decided that it is more helpful if an exception is thrown if the @istream@ is not... John Abbott
15:59 Slug #1518: SLUG: Printing PPs with many indets
Anna suggest using a virtual fn for printing which is specialized in PPMs which can have big exps.
JAA will think ...
John Abbott
15:33 Design #601 (In Progress): LongRange: in which file should it be declared/defined?
Anna is uneasy about making a header file for just a single function.
Ideally, there could be some other similar fun...
John Abbott
15:19 Support #861 (Feedback): Janet basis code: TmpJB files give some problems with C++11 (using CLANG/LLVM)
Anna says it compiled cleanly now.
JAA: must remove the commented out code.
John Abbott
15:15 Design #1528 (Closed): MacOS compilation with clang
Try to clean out clang compilation Anna Maria Bigatti
14:51 Bug #1484: ker bug (quotientinghom for R/ideal())
For me: test, and add CoCoALib tests Anna Maria Bigatti
11:08 Support #1494 (Closed): Normaliz 3.8.9
John Abbott

29 Oct 2020

21:51 Slug #1170 (Closed): SmoothFactor: slow when a factor is found
The current impl is acceptable for the time being; out efforts need to be directed elsewhere.
Closing.
John Abbott
21:48 Design #1279 (Closed): Tidy up code for matrix determinant
The current version is acceptable; it could be made better, but there are plenty of other more important issues (at t... John Abbott
21:44 Design #1463 (Closed): SmoothFactor: use FactorMultiplicity
John Abbott
21:30 Design #1463: SmoothFactor: use FactorMultiplicity
I have fixed the bug: part of the code incorrectly assumed that the base was a prime number... ooops! (probably an o... John Abbott
15:13 Design #1463: SmoothFactor: use FactorMultiplicity
@FactorMultiplicity(3^39,factorial(21))@ goes into infinite loop :-/
It gets worse...
@FactorMultiplicity(9, fact...
John Abbott
15:10 Design #1463: SmoothFactor: use FactorMultiplicity
Oh no! I have hit a bug:... John Abbott
21:42 Support #1196 (Closed): Split MatrixOps
The current situation is acceptable. Further splitting might be a good idea at some point, but it is not so importan... John Abbott
21:36 Feature #1436 (Closed): Flatten for a matrix
John Abbott
15:01 Design #1460 (Closed): Name of TensorMat; change to KroneckerProd?
This has been in feedback for a month or so. CLosing:
Conclusion: fn name changed @KroneckerProd@, impl creates n...
John Abbott
14:52 Slug #1518: SLUG: Printing PPs with many indets
Here is a guess as to why the observed times are as they are:
with @myBigExponents@ the ctor for @BigInt@ is called ...
John Abbott
14:47 Design #601: LongRange: in which file should it be declared/defined?
What about *@utils-LongRange@*?
This name should also make it clear why the file is included.
John Abbott
14:43 Slug #1517 (In Progress): RandomLinearForm
The empirical complexity appears to be quadratic. Here is my test:... John Abbott
14:26 Support #861: Janet basis code: TmpJB files give some problems with C++11 (using CLANG/LLVM)
Since we are no longer guaranteeing pre-C++11 compatibility, we can remove from Mario's code all @#if@ trickery relat... John Abbott
13:46 Design #1465: mul(MAT,MAT,MAT)
Perhaps it could make sense to have a version of *@mul(mat,mat,mat)@* which is deliberately not exception safe (but a... John Abbott
13:43 Design #1125: Separate install script for CoCoALib?
Ideally the installation process should also make available an easy way to uninstall the installed stuff.
We also ...
John Abbott
13:32 Feature #1349: ideal ctor where given gens are a gbasis
There are already fns *@IdealOfGBasis@* and *@SetGBasisAsGens@*. Where is the doc for the 2nd fn?
Despite some in...
John Abbott
10:36 Feature #142: Improve threadsafety
I propose the following new names:
* *@--allow-non-threadsafe@* for the @configure@ script
* *@CoCoA_ALLOW_NON_THRE...
John Abbott

28 Oct 2020

23:17 Bug #1331 (Closed): adj: for matrices 7x7 and bigger
John Abbott

27 Oct 2020

19:17 Feature #645 (In Progress): Automatic mapping of RingElem: user selectable at run-time (GlobalManager?)
At the moment all fns which allow automatic promotion of ringelems call the function *@AutomaticConversionHom@*.
I...
John Abbott
18:01 Design #1515 (Rejected): Indets in coeffring are ringelems in coeffring?
*I am rejecting this because of the example in comment 3 above.*
I have also rejected the duplicate issue #636.
John Abbott
15:56 Slug #1518: SLUG: Printing PPs with many indets
I have just tried again but with @SmallExponent_t@ being @unsigned short@ (previously it was @unsigned int@).
Printi...
John Abbott
15:21 Slug #1518: SLUG: Printing PPs with many indets
I have just repeated the experiment, but in CoCoALib. This is the test program:... John Abbott
15:26 Design #1085: Fns with "OUT" args: should they give ERR::MixedRings?
This issue is a generalized version of issue #1500 (which itself is concerned with the example in comment 1 of this i... John Abbott
10:34 Feature #142: Improve threadsafety
I changed @SmartPtrIRC@ so that an @std::atomic<std::size_t>@ is used for the ref count instead of @std::size_t@.
I ...
John Abbott

26 Oct 2020

21:38 Feature #1483 (Closed): IsPowerOf2 for rationals
John Abbott
21:37 Feature #1457 (Closed): Make SmoothFactor interruptible
John Abbott
20:20 Slug #1518: SLUG: Printing PPs with many indets
I have just tried modifying the impl (@PPMonoid.C@ around lines 215--230, @PPMonoidBase::myOutput@).
The modified ve...
John Abbott
20:06 Slug #1518: SLUG: Printing PPs with many indets
Here is a reference test:... John Abbott
16:59 Slug #1518 (In Progress): SLUG: Printing PPs with many indets
I propose the following revision to the design:
* *(A)* each @PPMonoid@ has a fn which says whether it can handle on...
John Abbott
19:49 Bug #1522: SEGV: avoid long linked lists of loaves in MemPools
I now think it is probably a good idea to abandon the current design with explicit "NextLoaf" pointers (currently @s... John Abbott
17:07 Bug #1522: SEGV: avoid long linked lists of loaves in MemPools
I think I have found the cause... it is in "invisible code" written by the compiler. The invisible code is correct, ... John Abbott
14:38 Bug #1522: SEGV: avoid long linked lists of loaves in MemPools
Ahhh! Perhaps I should have guessed: @valgrind@ reports that the problem is *@stack overflow@*.
Now, why are we usi...
John Abbott
13:53 Bug #1522: SEGV: avoid long linked lists of loaves in MemPools
I got a SEGV with debugging on and MemPool disabled. Let's see what valgrind says...
BTW it was even slightly faste...
John Abbott
13:08 Bug #1522 (In Progress): SEGV: avoid long linked lists of loaves in MemPools
Triggered by the example from issue #1514.
The SEGV seems to arise during destruction at the end of the program!
...
John Abbott
13:00 Bug #1522 (Closed): SEGV: avoid long linked lists of loaves in MemPools
See comment 4 below, where I understand the root cause.
Original report:
I get a SEGV reading about 4500 random l...
John Abbott
19:45 Feature #142: Improve threadsafety
I now think that it is probably better to default to threadsafe code; the user must configure with "not threadsafe" t... John Abbott
19:41 Design #1523: Input fns: action when when istream is in bad state?
If we do follow this recommendation, which files must be considered?
* @RingElemInput@
* @BigInt@ and @BigRat@?
* ...
John Abbott
14:35 Design #1523: Input fns: action when when istream is in bad state?
At the moment my preference is to recommend (strongly) that input fns immediately check whether the @istream@ is not ... John Abbott
14:31 Design #1523 (Closed): Input fns: action when when istream is in bad state?
Output fns in CoCoALib check whether the @ostream@ is in a bad state, and if so, return without doing anything more.
...
John Abbott
12:26 Support #1499 (Closed): factorization: allow zero as exponent?
*FINAL DECISION:*
* do not allow 0 multiplicity (will throw an exception)
* do not allow factorization objects over...
John Abbott
12:06 Slug #1521: Unexpectedly slow example with larger types for SmallExponent_t
See note 5 in issue #1514.
John Abbott
12:05 Slug #1521 (New): Unexpectedly slow example with larger types for SmallExponent_t
I tried Julian's example from issue #1514 using smaller types for @SmallExponent_t@, and found that it was significan... John Abbott
10:38 Bug #1473: isystem not working as expected
I have done a little checking.
*The GMP header is automatically C++ safe:* it contains all necessary @extern "C"@ ...
John Abbott

23 Oct 2020

16:36 Slug #1518: SLUG: Printing PPs with many indets
According to the profiler: printing 250 polys each with about 500 terms (@RandomLinearForm@ from polyring with 1000 i... John Abbott
16:32 Slug #1518 (In Progress): SLUG: Printing PPs with many indets
It seems that printing polys in polyrings with many indets is slower than I would like: the example from issue #1514 ... John Abbott
16:22 Slug #1517: RandomLinearForm
It could be that the problem is simply copying lots of PPs (each occupying 4000 bytes).
Could the memory manager be ...
John Abbott
16:21 Slug #1517 (Closed): RandomLinearForm
The profiler tells me that @RandomLinearForm@ spends most (almost all!) of its time in @operator+=@.
If the indets...
John Abbott
10:57 Design #1500 (Closed): IsDivisible in a field?
John Abbott
10:31 Bug #1473: isystem not working as expected
I wonder if we should be using @extern "C"@ when including the gmp header (but not the gmpxx header). -- *NO!!* (see ... John Abbott
10:07 Bug #1473: isystem not working as expected
Still problematic... Anna Maria Bigatti
09:01 Design #1515 (In Progress): Indets in coeffring are ringelems in coeffring?
*I am increasingly convinced that this is not a good idea.* The example in comment 3 is already fairly convincing.
...
John Abbott

22 Oct 2020

17:32 Design #1515: Indets in coeffring are ringelems in coeffring?
This is almost a duplicate of issue #636. John Abbott
17:29 Design #1515: Indets in coeffring are ringelems in coeffring?
The proposed change might be inconvenient in view of issue #637: the equality test @x = a@ would throw a @MixedRings... John Abbott
17:23 Design #1515 (Rejected): Indets in coeffring are ringelems in coeffring?
A suggestion (but maybe not a good one).
Now that we have some degree of automatic ringelem conversion, we could say...
John Abbott
16:55 Feature #222: Printing polynomials - spaces between terms
Idle for more than 6 years: perhaps because there is no clear answer, and implementation might be tricky :-/
John Abbott
16:48 Support #256: Improve doc about ordering/grading for poly rings
I have just added to @SparsePolyRing.txt@ that the default term ordering is @StdDegRevLex@ (should we give an explic... John Abbott

21 Oct 2020

13:38 Slug #897: SimplestBigRatBetween: why is it so slow?
I replaced used of @BigRat@ (field @myFrac@) inside @ContFracIter@ by a pair of @BigInt@ values (@myNum@ & @myDen@).
...
John Abbott

20 Oct 2020

12:59 Slug #897: SimplestBigRatBetween: why is it so slow?
Here is the speed test I used:... John Abbott
11:39 Slug #897: SimplestBigRatBetween: why is it so slow?
I have now put special handling in for reciprocals, and the code runs a bit faster.
Probably the best solution wou...
John Abbott

19 Oct 2020

17:38 Slug #897 (In Progress): SimplestBigRatBetween: why is it so slow?
The profiler suggests that the reciprocal @1/(myFrac-myQuot)@ is surprisingly costly.
I shall modify @operator/@ to ...
John Abbott
15:22 Slug #897: SimplestBigRatBetween: why is it so slow?
Why did I give no examples to test this on?
After reading #860, a possible test might be...
John Abbott
14:48 Feature #1513 (New): Better test for univariate-ness (and better conversion)
Issue #1118 exhibits a slug due to "stupid" conversion from a sparse multivariate poly to a dense univariate poly.
...
John Abbott
12:33 Slug #1118 (In Progress): SLUG: factorization of x^9999
The quadratic behaviour derives from the GCD computation being between *dense* univariate polynomials.
A solution ...
John Abbott
12:05 Slug #1118: SLUG: factorization of x^9999
I confirm that computation time increases quadratically (why?)
Also current (2020-10-19) speed is about the same as ...
John Abbott
 

Also available in: Atom