Differences between revisions 4 and 146 (spanning 142 versions)
Revision 4 as of 2008-02-09 07:08:04
Size: 574
Editor: CraigCitro
Comment:
Revision 146 as of 2008-06-18 03:19:43
Size: 3489
Editor: robertwb
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== Files to fix === Merge up at http://cython.org/coercion/hgwebdir.cgi/sage-coerce-3.0.3/ (pull on top of 3.0.3 release candidate) Should build and start without problems.
Line 3: Line 3:
 * catalogue

Hint: If something doesn't work, try typing

{{{
sage: coercion_traceback()
}}}

which will give a listing of all errors caught in the coercion model.


=== Doctests ===

Done
 * integer_mod

In Progress
 * Integers, Rationals (roed)
 * rings/padics (roed)
 * structure/formal_sums (craigcitro)
 * calculus (robertwb)

To Do

 * complex, real
 * qqbar
 * monoids/modules
 * probability
 * games
 * catalogue, dsage, media, stats, server, logic, tests, misc, numerical
 * algebras
 * libs
 * quadratic forms
 * lfunctions
 * plot
 * ext
 * functions
 * databases
 * finite fields
Line 5: Line 43:
 * functions
 * lfunctions
 * logic
 * plot
 * server
 * stats
 * tests

 * databases
 * dsage
 * ext
 * games
 * media

 * algebras
 * calculus
 * categories
 * combinat
Line 25: Line 45:

 * graphs
Line 28: Line 46:
 * gsl
Line 30: Line 47:
 * libs
 * matrix
 * sets
 * combinat
 * rings/polynomial
Line 34: Line 52:
 * modules
 * monoids
 * numerical
 * probability
 * quadratic_forms
 * graphs
Line 40: Line 54:
 * sets  * rings/number_field
 * rings
 * categories
 * matrix
Line 42: Line 59:
 * rings
  * complex
  * real
  * polynomial
  * padic
  * other
Todo (after merge):
 * abelian_grps
 * gsl ( dft.py -- abelian group failures )
Line 50: Line 64:
=== Files to fix (Make all parents conform to the spec) ===

Useful script to list all parents in a given module that still need work: [attachment:list_parents.sage]

Nothing to do
 * catalogue, dsage, databases, ext, games, media, stats, server, plot, logic, tests lfunctions, misc, numerical,gsl, quadratic_forms


Done
 * coding, functions, graphs
 * matrix [http://sage.math.washington.edu/home/robertwb/coerce/coerce-all.hg]
 * complex, real [http://sage.math.washington.edu/home/robertwb/coerce/coerce-real-complex.hg]
 * modules [attachment:coerce-free-module.patch]
 * quotient rings
 * finite fields (including natural embeddings into each other when Conway polynomials are used)
 * calculus
 * number fields
 * sets
 * geometry
 * libs
 * probability
 * interfaces
 * combinat
 * rings
 * algebras
 * monoids
 * schemes (modulo some dependance on Groups)
 * crypto

In progress
 * groups
 * modular

Little to do

 * categories

Lots to do



Base classes
Line 52: Line 108:
=== Coercion doctesting ===

Comment from William:
{{{
teragon:sage was$ sage -coverage categories/action.pyx
structure/element.pyx structure/coerce.pyx |grep SCORE
SCORE categories/action.pyx: 0% (0 of 22)
SCORE structure/element.pyx: 18% (28 of 153)
SCORE structure/coerce.pyx: 2% (1 of 39)

I tried to understand and use the coercion model code to trac down the issue with #2079 and
was amazed at how nonexistent the doctesting and documentation of
functions is there.
In order for people to write lots of coercion code all of Sage, it's critical that they can
read the coercion model code so they can track down -- for themselves -- what is going
wrong when they run into trouble. I would put getting the coverage of the above files
(and whatever else is related to coercion) up to 100% as the first step in your coercion
model stuff. Seriously. And don't say it can't be doctested, since even though there are
a lot of things not easily accessible now from the interpreter, such as the coercion model
}}}
Line 54: Line 130:


=== Old notes ===

To start, get a copy of Sage 2.10.1, install the latest cython spkg (available at http://sage.math.washington.edu/home/robertwb/cython/), pull from http://cython.org/coercion/hgwebdir.cgi/sage-coerce/ and build.

Import [attachment:fix-random.patch] to sage-scripts to ignore random tests.

Merge up at http://cython.org/coercion/hgwebdir.cgi/sage-coerce-3.0.3/ (pull on top of 3.0.3 release candidate) Should build and start without problems.

Hint: If something doesn't work, try typing

sage: coercion_traceback()

which will give a listing of all errors caught in the coercion model.

Doctests

Done

  • integer_mod

In Progress

  • Integers, Rationals (roed)
  • rings/padics (roed)
  • structure/formal_sums (craigcitro)
  • calculus (robertwb)

To Do

  • complex, real
  • qqbar
  • monoids/modules
  • probability
  • games
  • catalogue, dsage, media, stats, server, logic, tests, misc, numerical
  • algebras
  • libs
  • quadratic forms
  • lfunctions
  • plot
  • ext
  • functions
  • databases
  • finite fields
  • coding
  • crypto
  • geometry
  • groups
  • interfaces
  • sets
  • combinat
  • rings/polynomial
  • misc
  • modular
  • graphs
  • schemes
  • rings/number_field
  • rings
  • categories
  • matrix

Todo (after merge):

  • abelian_grps
  • gsl ( dft.py -- abelian group failures )

Files to fix (Make all parents conform to the spec)

Useful script to list all parents in a given module that still need work: [attachment:list_parents.sage]

Nothing to do

  • catalogue, dsage, databases, ext, games, media, stats, server, plot, logic, tests lfunctions, misc, numerical,gsl, quadratic_forms

Done

In progress

  • groups
  • modular

Little to do

  • categories

Lots to do

Base classes

  • structure

Coercion doctesting

Comment from William:

teragon:sage was$ sage -coverage categories/action.pyx
structure/element.pyx structure/coerce.pyx |grep SCORE
SCORE categories/action.pyx: 0% (0 of 22)
SCORE structure/element.pyx: 18% (28 of 153)
SCORE structure/coerce.pyx: 2% (1 of 39)

I tried to understand and use the coercion model code to trac down the issue with #2079 and
was amazed at how nonexistent the doctesting and documentation of
functions is there.
In order for people to write lots of coercion code all of Sage, it's critical that they can
read the coercion model code so they can track down -- for themselves -- what is going
wrong when they run into trouble.  I would put getting the coverage of the above files
(and whatever else is related to coercion) up to 100% as the first step in your coercion
model stuff.   Seriously.   And don't say it can't be doctested, since even though there are
a lot of things not easily accessible now from the interpreter, such as the coercion model

Categories to implement

Old notes

To start, get a copy of Sage 2.10.1, install the latest cython spkg (available at http://sage.math.washington.edu/home/robertwb/cython/), pull from http://cython.org/coercion/hgwebdir.cgi/sage-coerce/ and build.

Import [attachment:fix-random.patch] to sage-scripts to ignore random tests.

days7/coercion/todo (last edited 2009-07-29 19:16:15 by robertwb)