Project

General

Profile

Activity

From 06 Oct 2020 to 04 Nov 2020

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

14 Oct 2020

21:51 Design #1511 (Closed): Use C++14 constexpr
Scott Meyers recommends using @constexpr@ where (reasonably) possible.
John Abbott
21:49 Feature #1488: BuiltIn Interreduce-Function
I have commented out @interreduce@.
I have renamed the files to @SparsePolyOps-interreduced@.
*NOT YET DOCUMENTED...
John Abbott
21:48 Support #1510 (New): Documentation for SparsePolyOps?
Where should the doc for fns in @SparsePolyOps-*@ files go?
The current organization is inconsistent :-(
John Abbott
21:38 Support #1499 (Resolved): factorization: allow zero as exponent?
I have implemented as decided (_i.e._ mults must be positive)... effectively we are rejecting the original proposal.
...
John Abbott
11:17 Support #1499: factorization: allow zero as exponent?
I now prefer not to allow 0 as a multiplicity because it could be confusing: _e.g._ someone might call @myAppend(fac,... John Abbott
21:21 Design #1500 (Feedback): IsDivisible in a field?
There are now 20 different @IsDivisible@ functions (half of them are actually @IsDivisible_AllowFields@).
I have m...
John Abbott
20:21 Design #1500: IsDivisible in a field?
Oh wow! There are a lot more @IsDivisible@ finctions than I thought... :-(
*SERIOUS QUESTION*
What should the fo...
John Abbott
10:59 Design #1500: IsDivisible in a field?
Today my preference is for *@IsDivisible@* and *@IsDivisible_AllowFields@*.
I think these names are fairly clear, an...
John Abbott
15:40 Design #1446 (In Progress): Start using C++14 "move" capability
Here are some fns to consider changing:
* @myCharacteristic@
* others???
John Abbott
15:35 Feature #24 (Rejected): object files collected in one directory
What we have currenyl works well enough (most of the time), and has been stable for quite a while (at least 3 years).... John Abbott
12:03 Feature #24: object files collected in one directory
Do we really want to overhaul the current @Makefile@ structure?
I do not recall any problems lately, and am loath to...
John Abbott
14:22 Design #1391: RingElems: syntax with [ and ] ?
Note that we have @CoeffVecWRT@ and @CoeffListWRT@. So it would be reasonable to call the CoCoALib fn *@RingElemVec@*. John Abbott
11:54 Design #1391: RingElems: syntax with [ and ] ?
Should *@RingElemList@* be ported into CoCoALib? (perhaps with a different name?)
If so, what should it be called?
...
John Abbott
14:06 Design #1462 (Closed): Change CoCoA_ERROR into CoCoA_THROW_ERROR
Effectively removed old macro *@CoCoA_ERROR@* (still exists, but triggers compile-time error saying to use @CoCoA_TH... John Abbott
13:26 Design #950: factor and SmoothFactor for integers --> FactorINT, FactorINT_TrialDiv, FactorINT_PollardRho
I have just checked what the code currently does: if many primes have been tried without finding a factor *and* if t... John Abbott
12:52 Bug #15: Adjoint of a non-invertible matrix
This now works (since when?).
Surely the impl for @adj@ can be improved; there are several later issues about adj to...
John Abbott

12 Oct 2020

20:52 Design #1500: IsDivisible in a field?
I still like the idea of a 3rd param (or perhaps two fns with similar names).
My preference is that a call like @IsD...
John Abbott

09 Oct 2020

21:19 Design #1500: IsDivisible in a field?
Also @ex-RingElem1@ fails...
John Abbott
20:06 Design #1500: IsDivisible in a field?
A comment about the code excerpt in comment 4. The call to @IsZeroDivisor@ is superfluous; perhaps it was put there ... John Abbott
11:03 Design #1500: IsDivisible in a field?
I have tried implementing the change (_i.e._ @IsDivisibile@ throws if given args in field).
Two tests fail: @test-Is...
John Abbott
09:19 Design #1500: IsDivisible in a field?
This is a bit less clear than I had previously thought. In the file @ring.C@ the function @IsDivisible@ (with 3 args... John Abbott
14:16 Support #1452 (Closed): Release CoCoALib-0.99710
Anna Maria Bigatti
14:12 Feature #1395 (Closed): SHA checksum for released code
Anna Maria Bigatti
13:54 Design #1221 (Closed): Reconsider design for accessing headers and libs of external libraries
Closing because the current design seems to work well (and has not changed for many months).
Surely the recorded t...
John Abbott
13:27 Support #1499: factorization: allow zero as exponent?
John Abbott wrote:
> My current feeling is that I should simply change the error mesg, and leave the rest as is: nam...
Anna Maria Bigatti
11:11 Support #1499: factorization: allow zero as exponent?
If we allow 0 as a multiplicity when calling @myAppend@ then it should also be allowed in the ctor call which accepts... John Abbott

08 Oct 2020

12:35 Design #1500 (In Progress): IsDivisible in a field?
I am becoming increasingly convinced that it is better to throw an error if the args are in a field (since it makes l... John Abbott

07 Oct 2020

22:11 Slug #722 (Closed): valuation slow for large inputs
The current impl is "good enough" for the moment. If a specific application comes up where more speed is needed then... John Abbott

06 Oct 2020

15:42 Design #855: Copyright and authorship?
We should do this in an orderly manner. Many files have already been done. It would be nice to finish this for 0.99... John Abbott
15:39 Design #1242: C++14: Use type auto where appropriate
I suggest we work through the source file systematically, and note which ones we have updated to use *@auto@* (and wh... John Abbott
15:35 Bug #1473: isystem not working as expected
*Anna?* is this better for you now?
I'm pretty sure I must have checked in the change mentioned here. Do you still...
John Abbott
15:20 Design #1279 (Resolved): Tidy up code for matrix determinant
Main dispatch fn is *@ConstMatrixViewBase::myDet@* around @matrix.C:221@
The code has already been considerably c...
John Abbott
15:16 Design #1460 (Feedback): Name of TensorMat; change to KroneckerProd?
This has already been done.
@TensorMat@ is now in @obsolete.C@
Was this already in 0.99710?
John Abbott
14:57 Design #1221 (In Progress): Reconsider design for accessing headers and libs of external libraries
I wonder exactly what I had in mind when creating this issue.
The current situation is as follows: in @ExternalLib...
John Abbott
14:41 Feature #1485: Simple syntax for making a quotient ring?
As this is not urgent, I'm postponing it.
I also expect it to be trivial to implement should we decide to do so.
John Abbott
12:24 Design #710 (In Progress): Update normaliz interface?
The current version of CoCoALib compiles fine with normaliz-3.8.9.
It is no longer clear me to what exactly this i...
John Abbott
12:21 Bug #1280: Determinant & Inverse of matrix over non integral domain
This question clearly needs more work -- postponing.
John Abbott
12:20 Bug #1280: Determinant & Inverse of matrix over non integral domain
Now @det@ of a matrix over @ZZ/(6)@ work also for larger matrices, but it is horribly slow :-(... John Abbott
12:11 Feature #743: Better errors: give supplementary info about the error
I am postponing even though this is urgent. I need a quiet period to be able to think about the problem, and to find... John Abbott
12:08 Design #1414: Make class RingElemVector?
I am postponing, but also increasing priority.
I think this idea will be quite useful, but we need more time to th...
John Abbott
11:35 Design #1391: RingElems: syntax with [ and ] ?
I have changed *@RingElemList@* (in @NotBuiltin.cpkg5@).
I have added a new test @test-RingElems.cocoa5@ with the te...
John Abbott
10:22 Support #1499: factorization: allow zero as exponent?
The current interface for @FactorMultiplicity@ does not use a @factorization@.
Even if an alternative interface (lik...
John Abbott
09:53 Feature #1490 (Rejected): New function: MinusOneToPower
*REJECTED*
There is no need for *@MinusOneToPower@*; it can be achieved by *@SmallPower@* (if we want to avoid @Bi...
John Abbott
 

Also available in: Atom