[sage-devel] Re: Master plan of sage modularization

2021-11-17 Thread Kwankyu Lee


> Let me sketch my strategy to get closer to the design of other 
> distributions. https://trac.sagemath.org/ticket/29865 (waiting for 
> review) introduces the two lowest levels - *sagemath-objects*, 
> *sagemath-categories.* As soon as we have namespace packages working, the 
> latter will depend on the former. The current issue with both of these 
> distributions is that they are not really separately testable because the 
> doctests for these modules depend on a lot of other functionality from 
> higher-level parts of the library. In contrast, in 
> https://trac.sagemath.org/ticket/32432, we are working on a medium-sized 
> distribution *sagemath-polyhedra*, which be the first modularized 
> distribution that is useful for end users. It will also be sufficiently 
> self-contained for running most doctests (but some doctests that depend on 
> other parts of the library are marked # optional). Between 
> *sagemath-categories 
> *and *sagemath-polyhedra *(which depends on *sagemath-categories*) there 
> is room for designing intermediate distributions. For example, there could 
> be a distribution that contains the linear algebra needed by 
> *sagemath-polyhedra* (i.e., parts of the sage.modules and sage.matrix).
>
> At the coarsest level, *sagemath-symbolics (*
> https://trac.sagemath.org/ticket/31695) and *sagemath-standard-no-symbolics 
> *(https://trac.sagemath.org/ticket/32601) are intended to form a 
> partition of all Sage standard library modules that are not already in 
> *sagemath-categories 
> *(or its dependencies). Below these two distributions, again there is 
> room for designing various intermediate distributions. The design will be 
> best if done by (or in ollaboration with) developers who are knowledgable 
> about specific parts of the Sage library corresponding to the various areas 
> of mathematics.
>

Thank you. This would be a start. 

For example, if there would be a distribution sagemath-coding that contains 
sage/coding, then would we have this hierarchy 

sagemath-objects < sagemath-categories < sagemath-standard-no-symbolics < 
... < sagemath-coding
 
where ... might be filled with other intermediate distributions like, I 
imagine, sagemath-rings, sagemath-schemes? In general, would this hierarchy 
have a tree structure?

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/079c0635-7611-42a3-a230-d6f258f4145en%40googlegroups.com.


[sage-devel] Re: Master plan of sage modularization

2021-11-17 Thread Matthias Koeppe
On Wednesday, November 17, 2021 at 10:01:47 PM UTC-8 Kwankyu Lee wrote:

> On Thursday, November 18, 2021 at 11:47:37 AM UTC+9 Matthias Koeppe wrote:
>
>> That would be https://trac.sagemath.org/ticket/29705
>
>
> Yes, all the information could be found in the ticket description and the 
> descriptions of the subtickets. But the master plan is buried in the 
> details. I want to see how the whole sage library would be split into what 
> distributions at the end of the modularization effort, and how the 
> distributions depend on another if any.   
>

The design of the distributions is not completely settled. I am hoping that 
Interested developers will join the effort in completing the design.

Hard constraints on the distributions come from compile-time dependencies 
of Cython modules on C/C++ libraries. 
We can define some meaningful small distributions that just consist of a 
single or a few Cython modules. For example, *sagemath-tdlib* 
(https://trac.sagemath.org/ticket/29864) would just package the single 
Cython module that must be linked with tdlib, 
sage.graphs.graph_decompositions.tdlib. In the Sage 9.6 cycle, as soon as 
namespace packages are activated (by dropping __init__.py files), we can 
start to create these distributions. This is quite a mechanical task -- for 
each distribution it's just a new directory in pkgs/ with some metadata 
files.

Let me sketch my strategy to get closer to the design of other 
distributions. https://trac.sagemath.org/ticket/29865 (waiting for review) 
introduces the two lowest levels - *sagemath-objects*, 
*sagemath-categories.* As soon as we have namespace packages working, the 
latter will depend on the former. The current issue with both of these 
distributions is that they are not really separately testable because the 
doctests for these modules depend on a lot of other functionality from 
higher-level parts of the library. In contrast, in 
https://trac.sagemath.org/ticket/32432, we are working on a medium-sized 
distribution *sagemath-polyhedra*, which be the first modularized 
distribution that is useful for end users. It will also be sufficiently 
self-contained for running most doctests (but some doctests that depend on 
other parts of the library are marked # optional). Between *sagemath-categories 
*and *sagemath-polyhedra *(which depends on *sagemath-categories*) there is 
room for designing intermediate distributions. For example, there could be 
a distribution that contains the linear algebra needed by 
*sagemath-polyhedra* (i.e., parts of the sage.modules and sage.matrix).

At the coarsest level, *sagemath-symbolics 
(*https://trac.sagemath.org/ticket/31695) 
and *sagemath-standard-no-symbolics *(https://trac.sagemath.org/ticket/32601) 
are intended to form a partition of all Sage standard library modules that 
are not already in *sagemath-categories *(or its dependencies). Below these 
two distributions, again there is room for designing various intermediate 
distributions. The design will be best if done by (or in ollaboration with) 
developers who are knowledgable about specific parts of the Sage library 
corresponding to the various areas of mathematics.


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/99a02ddf-5f6a-4973-a15d-7ca927bfd12en%40googlegroups.com.


[sage-devel] Re: Master plan of sage modularization

2021-11-17 Thread Kwankyu Lee


On Thursday, November 18, 2021 at 11:47:37 AM UTC+9 Matthias Koeppe wrote:

> That would be https://trac.sagemath.org/ticket/29705


Yes, all the information could be found in the ticket description and the 
descriptions of the subtickets. But the master plan is buried in the 
details. I want to see how the whole sage library would be split into what 
distributions at the end of the modularization effort, and how the 
distributions depend on another if any.   

Help with documenting the principles and goals of modularization in the 
> developer's guide is definitely very welcome!
>

I think no one can do this but the conductor orchestrating the 
modularization process.
 

 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/84122d13-92a8-41e9-abeb-76ab6e209ec5n%40googlegroups.com.


[sage-devel] Re: Master plan of sage modularization

2021-11-17 Thread Matthias Koeppe
That would be https://trac.sagemath.org/ticket/29705

Help with documenting the principles and goals of modularization in the 
developer's guide is definitely very welcome!

On Wednesday, November 17, 2021 at 6:27:56 PM UTC-8 Kwankyu Lee wrote:

> Hi,
>
> Sage modularization is going on, and I see in trac many tickets toward the 
> goal. But I wonder what is the master plan. I mean the plan how sage 
> library  would be split. Here and there I read that some packages in the 
> sage library will be namespace packages, and others won't be. It would be 
> nice to have the master plan at one place. Perhaps this information needs 
> to be included in the developer manual.  If there is a plan laid out, where 
> is it?
>
> Thanks for attention.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/0c8d550f-bb5a-4ae5-aa24-37944548738an%40googlegroups.com.


[sage-devel] Master plan of sage modularization

2021-11-17 Thread Kwankyu Lee
Hi,

Sage modularization is going on, and I see in trac many tickets toward the 
goal. But I wonder what is the master plan. I mean the plan how sage 
library  would be split. Here and there I read that some packages in the 
sage library will be namespace packages, and others won't be. It would be 
nice to have the master plan at one place. Perhaps this information needs 
to be included in the developer manual.  If there is a plan laid out, where 
is it?

Thanks for attention.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/0490d0f9-4d23-4eb5-af0c-95129e30175bn%40googlegroups.com.


[sage-devel] Flint 2.8.4 Released

2021-11-17 Thread 'Bill Hart' via sage-devel
Hi all,

I just tagged Flint-2.8.4. This is a critical bug fix release and so
we strongly recommend upgrading.

 * Fix a serious bug in fmpz_mod_poly_xgcd for polynomials of large length
 * Fix an assertion failure in fmpz_mat_solve_fflu (only relevant if
asserts enabled)
 * Fix some bugs on 32 bit machines
 * Work around a compiler bug on Apple M1
 * Fix bug in nmod_mpoly_factor (returned 0 for some factorisations)
 * Fix some documentation build errors and some doc formatting issues

Please note that the C++ wrapper is now considered unmaintained. We
will keep it compiling in its current state, but will not be wrapping
additional flint functions.

If any C++ developers would like to take over maintenance, we estimate
it would be about 3-4 months of effort full time to wrap the remaining
flint functions in C++ for a VERY experienced C++ developer. Replacing
the old metaprogramming wrapper with a new one using more modern C++
features would be about 4-6 months full time work for an experienced
C++ developer.

If you would like to volunteer, but not be paid for your effort,
please let us know [1].

Bill.

[1] Application forms are available at Flint Headquarters, Abandoned
House, Pfälzerwald.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAB0xFnuZxOvO5EYwF03MeK4q-gTs91rb-VPEKxqwjpeUc%2BAknw%40mail.gmail.com.