SAGE’s To Do list

There is still some work to do :-) :

Warning

This list is currently very incomplete as most doctests do not use the .. todo:: markup.

Todo

Rewrite the hand-written TODOs by using the correct .. todo:: markup.

Todo

Add an optional argument to allow for:

sage: Realizations(A, category = Blahs()) # todo: not implemented

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/categories/category.py:docstring of sage.categories.category.Category.Realizations, line 39.)

Todo

this method won’t be needed once trac ticket #8878 will be closed

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/categories/examples/with_realizations.py:docstring of sage.categories.examples.with_realizations.In.product, line 14.)

Todo

this method won’t be needed once trac ticket #8878 will be closed

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/categories/examples/with_realizations.py:docstring of sage.categories.examples.with_realizations.Out.product, line 14.)

Todo

  • Use the symmetric group in the examples (for nicer output), and print the edges for a stronger test.
  • The constructed poset should be lazy, in order to handle large / infinite Coxeter groups.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/categories/finite_coxeter_groups.py:docstring of sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.bruhat_poset, line 44.)

Todo

  • Use the symmetric group in the examples (for nicer output), and print the edges for a stronger test.
  • The constructed poset should be lazy, in order to handle large / infinite Coxeter groups.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/categories/finite_coxeter_groups.py:docstring of sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.weak_lattice, line 70.)

Todo

  • Use the symmetric group in the examples (for nicer output), and print the edges for a stronger test.
  • The constructed poset should be lazy, in order to handle large / infinite Coxeter groups.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/categories/finite_coxeter_groups.py:docstring of sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.weak_poset, line 70.)

Todo

Add an optional argument to allow for:

sage: Realizations(A, category = Blahs()) # todo: not implemented

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/categories/realizations.py:docstring of sage.categories.realizations.Realizations, line 39.)

Todo

GUAVA commands:
  • MOLS returns a list of n Mutually Orthogonal Latin Squares (MOLS).
  • VandermondeMat
  • GrayMat returns a list of all different vectors of length n over the field F, using Gray ordering.
Not in GAP:

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/combinat.py:docstring of sage.combinat.combinat, line 189.)

Todo

  • generalize this feature by accepting a family of operators as input
  • move up in some appropriate category

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/posets/linear_extensions.py:docstring of sage.combinat.posets.linear_extensions.LinearExtensionsOfPoset.markov_chain_digraph, line 8.)

Todo

should the vertices of the diagram have the poset as parent?

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/posets/posets.py:docstring of sage.combinat.posets.posets.FinitePoset.hasse_diagram, line 3.)

Todo

  • Is it acceptable to have those two features for a single method?
  • In particular, we miss a short idiom to get the default linear extension

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/posets/posets.py:docstring of sage.combinat.posets.posets.FinitePoset.linear_extension, line 44.)

Todo

The facade option is not yet fully functional:

sage: L = P.linear_extensions(facade=True); L
The set of all linear extensions of Finite poset containing 6 elements
sage: L([1, 2, 3, 4, 6, 12])
Traceback (most recent call last):
...
TypeError: Cannot convert list to sage.structure.element.Element

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/posets/posets.py:docstring of sage.combinat.posets.posets.FinitePoset.linear_extensions, line 47.)

Todo

add tests as in combinat::rankers

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/ranker.py:docstring of sage.combinat.ranker.on_fly, line 27.)

Todo

Implemente Cartan datum for non crystallographic types, and update the implementation of this method accordingly, say by testing the coxeter diagram instead.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/root_system/cartan_type.py:docstring of sage.combinat.root_system.cartan_type.CartanType_abstract.is_implemented, line 10.)

Todo

add a non simply laced example

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/root_system/root_lattice_realizations.py:docstring of sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.alphacheck, line 17.)

Todo

the result should be an enumerated set, and handle infinite root systems

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/root_system/root_lattice_realizations.py:docstring of sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.roots, line 28.)

Todo

  • merge with_apply_multi_module_morphism
  • allow for any root space / lattice
  • define properly the return type (depends on the base rings of the two spaces)
  • make this robust for extended weight lattices (i might be “delta”)

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/root_system/weight_space.py:docstring of sage.combinat.root_system.weight_space.WeightSpaceElement.scalar, line 4.)

Todo

Add one example of non trivial computation, and then proceed with the detailed explanations.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py:docstring of sage.combinat.sf.sf.SymmetricFunctions, line 10.)

Todo

Expand this tutorial, merging with that of MuPAD-Combinat

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py:docstring of sage.combinat.sf.sf.SymmetricFunctions, line 15.)

Todo

Demonstrate how to customize the basis names.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py:docstring of sage.combinat.sf.sf.SymmetricFunctions, line 149.)

Todo

Introduce a field with degree 1 elements as in MuPAD-Combinat, to get proper plethysm.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py:docstring of sage.combinat.sf.sf.SymmetricFunctions, line 187.)

Todo

  • Use UniqueRepresentation to get rid of all the manual cache handling for the bases
  • Devise a mechanism so that pickling bases of symmetric functions pickles the coercions which have a cache.
  • Use #7980 to handle the multiple realizations

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py:docstring of sage.combinat.sf.sf.SymmetricFunctions, line 199.)

Todo

Add instead an optional argument to MatrixSpace() to temporarily disable the category initialization in those special cases where speed is critical:

sage: MS = MatrixSpace(QQ,7, init_category=False) # todo: not implemented
sage: TestSuite(MS).run()                         # todo: not implemented
Traceback (most recent call last):
...
AssertionError: category of self improperly initialized

until someone recreates explicitly the same matrix space without that optional argument:

sage: MS = MatrixSpace(QQ,7)                      # todo: not implemented
sage: TestSuite(MS).run()                         # todo: not implemented

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/matrix/matrix_space.py:docstring of sage.matrix.matrix_space.MatrixSpace.full_category_initialisation, line 30.)

Todo

This is not correct:

sage: import_statements(ZZ)
from sage.categories.euclidean_domains import EuclideanDomains.parent_class

This should be:

sage: import_statements(ZZ)      # todo: not implemented
from sage.rings.integer_ring import ZZ

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/misc/dev_tools.py:docstring of sage.misc.dev_tools.import_statements, line 22.)

Todo

  • Add Pyrex source code inspection (I assume it doesn’t currently do this)
  • Add ability to sort output by time
  • Add option to constructor to print timing immediately when checkpoint is reached
  • Migrate to Pyrex?
  • Add ability to return timings in a more machine-friendly format

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/misc/profiler.py:docstring of sage.misc.profiler.Profiler, line 40.)

Todo

Refactor modules such that it only counts what category the base ring belongs to, but not what is its Python class.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/local/lib/python2.7/site-packages/sage/modules/free_module.py:docstring of sage.modules.free_module.FreeModuleFactory, line 122.)

Todo

Rewrite the hand-written TODOs by using the correct .. todo:: markup.

(The original entry is located in /home/sagemath/www2-dev/sage-5.0/devel/sage/doc/en/reference/todolist.rst, line 13.)

Previous topic

Elements of the algebra of differential forms

Next topic

History and License

This Page