Differences between revisions 17 and 18
Revision 17 as of 2010-07-14 15:02:42
Size: 4796
Editor: was
Comment:
Revision 18 as of 2010-07-14 15:13:43
Size: 4798
Editor: was
Comment:
Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
People: William Stein. People: Gabriel Pannwitz

Sage Days 23.5 Coding Sprint Projects

Python <--> Singular Linking Discussion

How: Dinner and beer.

Have a technical discussion of linking Python and Singular and Sage.

Singular Parallel Build

People: Hans S. + A. Dreyer

Goals:

  1. Tell us which components of singular build in parallel via some testing.
  • Trac #9497: Fix the Singular spkg so it can take advantage of building in parallel. But fix Singular SPKG first (3-1-1-3)!

Doctest the Free Algebra Quotient code

People: Gabriel Pannwitz

The file SAGE_ROOT/devel/sage/sage/algebras/free_algebra_quotient.py has no doctests. Get it to 100% coverage. The point of this is that it is related to wrapping something like letterplace.

Letterplace

People: Martin Albrecht will review.

Do a very basic wrapping of letterplace for Sage. Use this to replace some of the lame old code in the SAGE_ROOT/devel/sage/sage/algebras/ directory. See here: #7797

error: out of memory

People: William Stein, Hans S.

  • Trac #5313. Patch singular so that when it runs out of memory the error message says "singular" in it. Moreover, replace the exit(1) or whatever by something that can be trapped via _sig_on/_sig_off.

Relative number field arithmetic

People: Mohamed, Andrew

Goal:

  1. Explain how to compute inverses.
  2. Open a trac ticket about this.
  3. Post a little experimental code that indicates how fast this could.
  • Arithmetic in relative numbers fields is sometimes very slow. This could be done using multivariate polynomial ring quotients via libsingular, which would be extremely fast in some cases. There is some cleverness that I do *not* know how to do for inverting elements -- hence it would be good to do this here with singular people around.

People: William Stein

  • This is trac 9498. There is a stupid function that William Stein wrote during bug days, which may as well be removed.

Gröbner bases in Sage: Optional parameters

  • People: Simon King, with a little bit of help from Martin (minutes)

In Singular, one can use various options (redTail, e.g.) and also a degree bound (degBound) for Gröbner basis computations. Aim: Allow the same for libSingular, and also introduce a decorator that can be used for methods that use the Singular expect interface: Save the current options and set a certain value when entering the function, and reset the options when leaving. In other words: Fix #1396!!

extend polynomial rings mod 2^n to n > 30, and over ZZ

  • People: Anne, Frank, Moritz

Rings mod 2^n are limited to n <= 30, but we'd like to have n<=62 by using longs. This would be relevant for some crypto applications.

big exponents

  • People: Martin Albrecht, Hans S.

Provide an interface to use Singular monomials with big exponents (64-bit instead of 16-bit)

Plural interface

  • People: Burcin, Ola..., Michael Brickenstein, Simon King

Revive #4539 to provide a basic interface to Plural. This will involve writing new parent and element classes for plural at least.

Multivariate GCD, factorization, etc. benchmarks

  • People: Martin Lee, Burcin, Marcus

Take a look at the new code in GIAC, benchmarks posted here. Compare to improvements in Singular-Factory. See here for more gcd benchmarks and scripts.

Fix bug(s) in Singular needed for updating the spkg

  • People: Frank
    • Some reduction over the integers goes wrong

Error handling in Libsingular

  • People: Martin Albrecht, Hans S.
    • Goal: If you have a singular library function and it goes wrong, then afterwards you can still use singular library functions.

other stuff

@fork, @parallel decorator

  • People: Robert Miller, William Stein

Simon King mentioned that sometimes his code crashes/leaks/etc. So make it so one can do:

@fork
def f(x,y,z,...):
    ...

and then f gets computed in a blocking forked process, and the result is returned via pickling. This is 100% to thwart mem leaks, segfaults, and guaranteed timeout possibility. This could be basically just a light wrapper around @parallel(1). Also, make a global flag to turn this off, so @fork does nothing.

days23.5/projects (last edited 2010-07-19 09:54:57 by MoritzMinzlaff)