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.
The combined to do list is only available in the html version of the reference manual.
Todo
Rewrite the hand-written TODOs by using the correct .. todo:: markup.
(The original entry is located in /usr/share/doc/sagemath-5.8/en/reference/todolist.rst, line 13.)
Todo
Add an optional argument to allow for:
sage: Realizations(A, category = Blahs()) # todo: not implemented
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/categories/category.py:docstring of sage.categories.category.Category.Realizations, line 39.)
Todo
Get a consistent hierarchy of homset categories. Currently, it is built in parallel to that of their base categories (which is plain wrong!!!)
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/categories/category.py:docstring of sage.categories.category.HomCategory, line 3.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/categories/finite_coxeter_groups.py:docstring of sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.bruhat_poset, line 44.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/categories/finite_coxeter_groups.py:docstring of sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.weak_lattice, line 70.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/categories/finite_coxeter_groups.py:docstring of sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.weak_poset, line 70.)
Todo
design decision: how much of the homset comes from the category of X and Y, and how much from the specific X and Y. In particular, do we need several parent classes depending on X and Y, or does the difference only lie in the elements (i.e. the morphism), and of course how the parent calls their constructors.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/categories/homset.py:docstring of sage.categories.homset.Hom, line 121.)
Todo
Refactor during the upcoming homset cleanup.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/categories/homset.py:docstring of sage.categories.homset.Homset.element_class_set_morphism, line 8.)
Todo
Add an optional argument to allow for:
sage: Realizations(A, category = Blahs()) # todo: not implemented
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/categories/realizations.py:docstring of sage.categories.realizations.Realizations, line 39.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/combinat.py:docstring of sage.combinat.combinat, line 133.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/crystals/crystals.py:docstring of sage.combinat.crystals.crystals, line 96.)
Todo
Eventually, category should be Sets by default.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/crystals/tensor_product.py:docstring of sage.combinat.crystals.tensor_product.TestParent, line 50.)
Todo
Do the iteration in place to save on copying time
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/integer_list.py:docstring of sage.combinat.integer_list.IntegerListsLex.count, line 7.)
Todo
Placeholder. Implement a proper check.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/integer_list.py:docstring of sage.combinat.integer_list.IntegerListsLexElement.check, line 4.)
Todo
Move this into Cython.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/integer_list.py:docstring of sage.combinat.integer_list.first, line 8.)
Todo
Integer vectors should accept max_part as a single argument, and the following should change:
sage: S = IntegerVectorsModPermutationGroup(PermutationGroup([[(1,2,3,4)]]), max_part=12); S.ambient()
Integer vectors
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/integer_vectors_mod_permgroup.py:docstring of sage.combinat.integer_vectors_mod_permgroup.IntegerVectorsModPermutationGroup_with_constraints.ambient, line 10.)
Todo
this could be generalized to any free algebra.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/ncsf_qsym/ncsf.py:docstring of sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions.MultiplicativeBasesOnPrimitiveElements, line 12.)
Todo
Reimplement like remove_horizontal_border_strip using IntegerListsLex
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/partition.py:docstring of sage.combinat.partition.Partition.add_horizontal_border_strip, line 15.)
Todo
Check in Knuth AOCP4.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/partition.py:docstring of sage.combinat.partition.Partitions_n.random_element_uniform, line 21.)
Todo
(The original entry is located in /usr/lib64/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 /usr/lib64/python2.7/site-packages/sage/combinat/posets/posets.py:docstring of sage.combinat.posets.posets.FinitePoset.hasse_diagram, line 3.)
Todo
The current algorithm has exponential complexity (in time and memory). Someone should really implement a better algorithm. See trac ticket #13223.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/posets/posets.py:docstring of sage.combinat.posets.posets.FinitePoset.is_graded, line 10.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/posets/posets.py:docstring of sage.combinat.posets.posets.FinitePoset.linear_extension, line 44.)
Todo
add tests as in combinat::rankers
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/ranker.py:docstring of sage.combinat.ranker.on_fly, line 27.)
Todo
Output the tree as a graph using the graph code
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/rigged_configurations/kleber_tree.py:docstring of sage.combinat.rigged_configurations.kleber_tree, line 22.)
Todo
Implement a direct action of without moving to KR crystals.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py:docstring of sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableauxElement.e, line 3.)
Todo
Implement a direct action of without moving to KR crystals.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py:docstring of sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableauxElement.f, line 3.)
Todo
Implement crystal operators and
.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_configuration_element.py:docstring of sage.combinat.rigged_configurations.rigged_configuration_element, line 8.)
Todo
Implement affine crystal structure and remove conversion to classical Cartan type.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_configurations.py:docstring of sage.combinat.rigged_configurations.rigged_configurations, line 166.)
Todo
Convert this to using (multiplicities) with a dictionary?
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_partition.py:docstring of sage.combinat.rigged_configurations.rigged_partition, line 18.)
Todo
add some reducible Cartan types (suggestions?)
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/root_system/cartan_type.py:docstring of sage.combinat.root_system.cartan_type.CartanTypeFactory.samples, line 47.)
Todo
This implementation is only valid in the root or weight lattice
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/root_system/root_lattice_realizations.py:docstring of sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ElementMethods.is_parabolic_root, line 7.)
Todo
add a non simply laced example
(The original entry is located in /usr/lib64/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 /usr/lib64/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
Lift to CombinatorialFreeModule.Element as canonical_inner_product
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/root_system/type_affine.py:docstring of sage.combinat.root_system.type_affine.AmbientSpace.Element.inner_product, line 23.)
Todo
Lift to CombinatorialFreeModule.Element as canonical_inner_product
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/root_system/type_affine.py:docstring of sage.combinat.root_system.type_affine.AmbientSpace.Element.scalar, line 23.)
Todo
Factor out this code with the classical ambient space.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/root_system/type_affine.py:docstring of sage.combinat.root_system.type_affine.AmbientSpace.simple_coroot, line 16.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/root_system/weight_space.py:docstring of sage.combinat.root_system.weight_space.WeightSpaceElement.scalar, line 4.)
Todo
delete this class once all coercions will be handled by Sage’s coercion model
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/sf/classical.py:docstring of sage.combinat.sf.classical.SymmetricFunctionAlgebra_classical, line 3.)
Todo
to be described
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/sf/sf.py:docstring of sage.combinat.sf.sf.SymmetricFunctions, line 618.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/sf/sf.py:docstring of sage.combinat.sf.sf.SymmetricFunctions, line 667.)
Todo
most of the methods in this class are generic (manipulations of morphisms, ...) and should be generalized (or removed)
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/sf/sfa.py:docstring of sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic, line 1.)
Todo
generalize to Modules.Graded.Connected.ParentMethods
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/sf/sfa.py:docstring of sage.combinat.sf.sfa.SymmetricFunctionsBases.ParentMethods.one_basis, line 17.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/symmetric_group_representations.py:docstring of sage.combinat.symmetric_group_representations, line 1.)
Todo
Implement semistandard tableau tuples as defined in [DJM].
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/tableau_tuple.py:docstring of sage.combinat.tableau_tuple, line 180.)
Todo
Add link to some thematic tutorial on graphs
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/tutorial.py:docstring of sage.combinat.tutorial, line 17.)
Todo
add link to some tutorial on quotient rings
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/tutorial.py:docstring of sage.combinat.tutorial, line 467.)
Todo
hide the results by default
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/combinat/tutorial.py:docstring of sage.combinat.tutorial, line 1158.)
Todo
Eventually, category should be Sets by default.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/geometry/lattice_polytope.py:docstring of sage.geometry.lattice_polytope.SetOfAllLatticePolytopesClass, line 50.)
Todo
Find a beautiful layout for this beautiful graph.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/graphs/graph_generators.py:docstring of sage.graphs.graph_generators.GraphGenerators.SchlaefliGraph, line 14.)
Todo
Technical things:
Long-term stuff:
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/graphs/isgci.py:docstring of sage.graphs.isgci, line 282.)
Todo
This code could probably be made more efficient by using FLINT polynomials and being written in Cython, using an array of fmpz_poly_t pointers or something... Right now just about the whole complement optimization is written in Python, and could be easily sped up.
(The original entry is located in docstring of sage.graphs.matchpoly.complete_poly, line 7.)
Todo
(The original entry is located in docstring of sage.groups.conjugacy_classes, line 9.)
Todo
Implement a non-naive algorithm, cf. for instance G. Butler: “An Inductive Schema for Computing Conjugacy Classes in Permutation Groups”, Math. of Comp. Vol. 62, No. 205 (1994)
(The original entry is located in docstring of sage.groups.conjugacy_classes.ConjugacyClass.set, line 4.)
Todo
Fix the broken hash.
sage: G = SymmetricGroup(6)
sage: G3 = G.subgroup([G((1,2,3,4,5,6)),G((1,2))])
sage: hash(G) == hash(G3) # todo: Should be True!
False
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/groups/perm_gps/permgroup_named.py:docstring of sage.groups.perm_gps.permgroup_named.PermutationGroup_unique, line 1.)
Todo
Create an animated image file (GIF) if spin is on and put data extracted from a file into a variable/string/structure to return
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/interfaces/jmoldata.py:docstring of sage.interfaces.jmoldata.JmolData, line 1.)
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 /usr/lib64/python2.7/site-packages/sage/matrix/matrix_space.py:docstring of sage.matrix.matrix_space.MatrixSpace.full_category_initialisation, line 30.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/misc/profiler.py:docstring of sage.misc.profiler.Profiler, line 40.)
Todo
This should be moved to sage.matrix.matrix_modn_dense at some point.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/modular/overconvergent/hecke_series.py:docstring of sage.modular.overconvergent.hecke_series.ech_form, line 4.)
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 /usr/lib64/python2.7/site-packages/sage/modules/free_module.py:docstring of sage.modules.free_module.FreeModuleFactory, line 122.)
Todo
remove the loads tests above; the TestSuite should be sufficient
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/rings/padics/padic_base_leaves.py:docstring of sage.rings.padics.padic_base_leaves, line 181.)
Todo
Implement this method.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/rings/ideal.py:docstring of sage.rings.ideal.Ideal_generic.absolute_norm, line 9.)
Todo
This is not implemented for many rings. Implement it!
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/rings/ideal.py:docstring of sage.rings.ideal.Ideal_generic.is_maximal, line 4.)
Todo
Code is naive. Only keeps track of ideal generators as set during initialization of the ideal. (Can the base ring change? See example below.)
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/rings/ideal.py:docstring of sage.rings.ideal.Ideal_generic.is_principal, line 4.)
Todo
The following skipped tests should be removed once trac ticket #13999 is fixed:
sage: TestSuite(S).run(skip=['_test_nonzero_equal', '_test_elements', '_test_zero'])
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/rings/quotient_ring.py:docstring of sage.rings.quotient_ring, line 15.)
Todo
Implement ComplexIntervalFieldElement multiplicative order similar to ComplexNumber multiplicative order with _set_multiplicative_order(n) and ComplexNumber.multiplicative_order() methods.
(The original entry is located in docstring of sage.rings.complex_interval, line 23.)
Todo
Implement ComplexIntervalFieldElement multiplicative order and set this output to have multiplicative order n.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/rings/complex_interval_field.py:docstring of sage.rings.complex_interval_field.ComplexIntervalField_class.zeta, line 3.)
Todo
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/rings/universal_cyclotomic_field/universal_cyclotomic_field.py:docstring of sage.rings.universal_cyclotomic_field.universal_cyclotomic_field, line 23.)
Todo
It is not yet possible to use set_from_method in conjunction with cached_method.
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/sets/set_from_iterator.py:docstring of sage.sets.set_from_iterator.EnumeratedSetFromIterator_method_decorator, line 66.)
Todo
title
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/structure/global_options.py:docstring of sage.structure.global_options.GlobalOptions.dispatch, line 1.)
Todo
Eventually, category should be Sets by default.
(The original entry is located in docstring of sage.structure.parent.Parent, line 50.)
Todo
Create a custom-made SourPickle for the last example.
(The original entry is located in docstring of sage.structure.sage_object.unpickle_all, line 62.)
Todo
add an example illustrating this behavior
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/structure/unique_representation.py:docstring of sage.structure.unique_representation.CachedRepresentation, line 216.)
Todo
should reuse something preexisting ...
(The original entry is located in /usr/lib64/python2.7/site-packages/sage/structure/unique_representation.py:docstring of sage.structure.unique_representation.unreduce, line 6.)