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.

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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/src/doc/en/reference/todolist.rst, line 13.)

Todo

Implement multi-parameter Iwahori-Hecke algebras together with their Kazhdan-Lusztig bases. That is, Iwahori-Hecke algebras with (possibly) different parameters for each conjugacy class of simple reflections in the underlying Coxeter group.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/algebras/iwahori_hecke_algebra.py:docstring of sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra, line 305.)

Todo

When given “generic parameters” we should return the generic Iwahori-Hecke algebra with these parameters and allow the user to work inside this algebra rather than doing calculations behind the scenes in a copy of the generic Iwahori-Hecke algebra. The main problem is that it is not clear how to recognise when the parameters are “generic”.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/algebras/iwahori_hecke_algebra.py:docstring of sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra, line 312.)

Todo

  • “filtered” DFTs
  • more idfts
  • more examples for probability, stats, theory of FTs

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/gsl/dft.py:docstring of sage.gsl.dft, line 52.)

Todo

Read the parent of the elements of S; if \(\QQ\) or \(\CC\) leave as is; if AbelianGroup, use abelian_group_dual; if some other implemented Group (permutation, matrix), call .characters() and test if the index list is the set of conjugacy classes.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/gsl/dft.py:docstring of sage.gsl.dft.IndexedSequence.dft, line 41.)

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-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/category.py:docstring of sage.categories.category.HomCategory, line 3.)

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-6.1.1-x86_64-Linux/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-6.1.1-x86_64-Linux/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-6.1.1-x86_64-Linux/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

  • 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.
  • Specify the protocol for the _Hom_ hook in case of ambiguity (e.g. if both a parent and some category thereof provide one).

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/homset.py:docstring of sage.categories.homset.Hom, line 168.)

Todo

Refactor during the upcoming homset cleanup.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/homset.py:docstring of sage.categories.homset.Homset.element_class_set_morphism, line 8.)

Todo

  • Implement an optimized _call_() function.
  • Generalize to a mapcoeffs.
  • Generalize to a mapterms.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/modules_with_basis.py:docstring of sage.categories.modules_with_basis.DiagonalModuleMorphism, line 23.)

Todo

End(X) is an algebra.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/modules_with_basis.py:docstring of sage.categories.modules_with_basis.ModulesWithBasis, line 81.)

Todo

Should codomain be self by default in the diagonal and triangular cases?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/modules_with_basis.py:docstring of sage.categories.modules_with_basis.ModulesWithBasis.ParentMethods.module_morphism, line 189.)

Todo

This has nothing to do here!!! Should there be a library for pointwise operations on functions somewhere in Sage?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/modules_with_basis.py:docstring of sage.categories.modules_with_basis.pointwise_inverse_function, line 21.)

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-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/realizations.py:docstring of sage.categories.realizations.Realizations, line 39.)

Todo

  • This should be moved to Sets().WithGrading().
  • Should the grading set be a parameter for this category?
  • Does the enumeration need to be compatible with the grading? Be careful that the fact that graded components are allowed to be finite or infinite make the answer complicated.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/categories/sets_with_grading.py:docstring of sage.categories.sets_with_grading.SetsWithGrading, line 72.)

Todo

Implement multi-parameter Iwahori-Hecke algebras together with their Kazhdan-Lusztig bases. That is, Iwahori-Hecke algebras with (possibly) different parameters for each conjugacy class of simple reflections in the underlying Coxeter group.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/algebras/iwahori_hecke_algebra.py:docstring of sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra, line 305.)

Todo

When given “generic parameters” we should return the generic Iwahori-Hecke algebra with these parameters and allow the user to work inside this algebra rather than doing calculations behind the scenes in a copy of the generic Iwahori-Hecke algebra. The main problem is that it is not clear how to recognise when the parameters are “generic”.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/algebras/iwahori_hecke_algebra.py:docstring of sage.algebras.iwahori_hecke_algebra.IwahoriHeckeAlgebra, line 312.)

Todo

Do we want to implement the following syntactic sugar:

with t.clone() as tt:
    tt.labels[1,2] = 3 ?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/abstract_tree.py:docstring of sage.combinat.abstract_tree.AbstractLabelledClonableTree.set_label, line 34.)

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-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/combinat.py:docstring of sage.combinat.combinat, line 133.)

Todo

Incorporate this method into the _repr_ for finite Cartan type.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/crystals/alcove_path.py:docstring of sage.combinat.crystals.alcove_path.CrystalOfAlcovePathsElement.integer_sequence, line 4.)

Todo

Better doctest

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/crystals/alcove_path.py:docstring of sage.combinat.crystals.alcove_path.CrystalOfAlcovePathsElement.is_admissible, line 47.)

Todo

  • Vocabulary and conventions:
    • For a classical crystal: connected / highest weight / irreducible
    • ...
  • Layout instructions for plot() for rank 2 types
  • RestrictionOfCrystal

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

Todo

FIXME:

  • Do we want to specify the columns increasingly or decreasingly? That is, should this be Tab(columns = [[1,3],[2,4]])?
  • Make this fully consistent with Tableau()!

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/crystals/tensor_product.py:docstring of sage.combinat.crystals.tensor_product.CrystalOfTableaux, line 72.)

Todo

Eventually, category should be Sets by default.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/crystals/tensor_product.py:docstring of sage.combinat.crystals.tensor_product.TestParent, line 50.)

Todo

Implement DerivedDesign, ComplementaryDesign, and Hadamard3Design

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/designs/design_catalog.py:docstring of sage.combinat.designs.design_catalog, line 50.)

Todo

Implement DyckWord_complete.to_triangulation().

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/dyck_word.py:docstring of sage.combinat.dyck_word.DyckWord_complete.to_triangulation, line 3.)

Todo

Do the iteration in place to save on copying time

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/integer_list.py:docstring of sage.combinat.integer_list.first, line 8.)

Todo

should the order of the arguments n and weight be exchanged to simplify the logic ?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/integer_vector_weighted.py:docstring of sage.combinat.integer_vector_weighted.WeightedIntegerVectors, line 39.)

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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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

Functionality to add:

  • plotter will not plot edge labels higher than 2; e.g. in BK puzzles, the labels are 1,..., n and so in 3-step examples, none of the edge labels with 3 appear
  • we should also have a 3-step puzzle pieces constructor, taken from p22 of Arxiv math/0610538
  • implement the bijection from puzzles to tableaux; see for example R. Vakil, A geometric Littlewood-Richardson rule, Arxiv math/0302294 or K. Purbhoo, Puzzles, Tableaux and Mosaics, Arxiv 0705.1184.

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

Todo

Despite the __repr__, this is NOT an endomorphism!

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ncsf_qsym/generic_basis_code.py:docstring of sage.combinat.ncsf_qsym.generic_basis_code.GradedModulesWithInternalProduct.ParentMethods.internal_product, line 34.)

Todo

Despite the __repr__, this is NOT an endomorphism!

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ncsf_qsym/generic_basis_code.py:docstring of sage.combinat.ncsf_qsym.generic_basis_code.GradedModulesWithInternalProduct.ParentMethods.itensor, line 34.)

Todo

Despite the __repr__, this is NOT an endomorphism!

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ncsf_qsym/generic_basis_code.py:docstring of sage.combinat.ncsf_qsym.generic_basis_code.GradedModulesWithInternalProduct.ParentMethods.kronecker_product, line 34.)

Todo

demonstrate how to customize the basis names

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ncsf_qsym/ncsf.py:docstring of sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions, line 158.)

Todo

explain the other changes of bases!

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ncsf_qsym/ncsf.py:docstring of sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions, line 209.)

Todo

  • Bases: monomial, fundamental, forgotten, quasi_schur_dual simple() ? (<=> simple modules of HS_n; to be discussed with Florent)
  • Multiplication in:
    • fundamental and monomial (cf. Lenny’s code)
    • ribbon (from Mike’s code)
  • Coproducts (most done by coercions)
  • some_elements in all bases
  • Systematic coercion checks (in AlgebrasWithBasis().Abstract())

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ncsf_qsym/ncsf.py:docstring of sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions, line 255.)

Todo

this could be generalized to any free algebra.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ncsf_qsym/ncsf.py:docstring of sage.combinat.ncsf_qsym.ncsf.NonCommutativeSymmetricFunctions.MultiplicativeBasesOnPrimitiveElements, line 14.)

Todo

The conversion from the M basis to the HWL basis is currently implemented in the naive way (inverting the base-change matrix in the other direction). This matrix is not triangular (not even after any permutations of the bases), and there could very well be a faster method (the one given by Hazewinkel?).

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ncsf_qsym/qsym.py:docstring of sage.combinat.ncsf_qsym.qsym.QuasiSymmetricFunctions.HazewinkelLambda, line 39.)

Todo

Reimplement like remove_horizontal_border_strip using IntegerListsLex

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/partition.py:docstring of sage.combinat.partition.Partitions_n.random_element_uniform, line 21.)

Todo

This docstring needs to be fixed. First, the definition does not match the implementation (or the examples). Second, this doesn’t seem to be defined in [GarStan1984] (the descent monomial in their (7.23) is different).

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/permutation.py:docstring of sage.combinat.permutation.Permutation.descent_polynomial, line 25.)

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-6.1.1-x86_64-Linux/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-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/posets/posets.py:docstring of sage.combinat.posets.posets.FinitePoset.hasse_diagram, line 5.)

Todo

The current algorithm could be improvable. See trac ticket #13223.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/posets/posets.py:docstring of sage.combinat.posets.posets.FinitePoset.is_graded, line 13.)

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-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/ranker.py:docstring of sage.combinat.ranker.on_fly, line 27.)

Todo

Implement a direct action of \(e_0\) without moving to KR crystals.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 \(\epsilon_0\) without moving to KR crystals.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py:docstring of sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableauxElement.epsilon, line 3.)

Todo

Implement a direct action of \(f_0\) without moving to KR crystals.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py:docstring of sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableauxElement.f, line 3.)

Todo

Compute \(\phi_0\) without moving to KR crystals.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/kr_tableaux.py:docstring of sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableauxElement.phi, line 3.)

Todo

Implement \(f_0\) without appealing to tensor product of KR tableaux.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_configuration_element.py:docstring of sage.combinat.rigged_configurations.rigged_configuration_element.RiggedConfigurationElement.e, line 10.)

Todo

Implement \(f_0\) without appealing to tensor product of KR tableaux.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_configuration_element.py:docstring of sage.combinat.rigged_configurations.rigged_configuration_element.RiggedConfigurationElement.f, line 12.)

Todo

Convert this to using multiplicities \(m_i\) (perhaps with a dictionary?)?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/rigged_configurations/rigged_partition.py:docstring of sage.combinat.rigged_configurations.rigged_partition, line 18.)

Todo

add a method set_mutable() as, say, for matrices

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/cartan_type.py:docstring of sage.combinat.root_system.cartan_type, line 207.)

Todo

add a method set_mutable() as, say, for matrices

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/cartan_type.py:docstring of sage.combinat.root_system.cartan_type.CartanType, line 209.)

Todo

add some reducible Cartan types (suggestions?)

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/cartan_type.py:docstring of sage.combinat.root_system.cartan_type.CartanTypeFactory.samples, line 50.)

Todo

Add the picture here, once root system plots in the weight lattice will be implemented. In the mean time, the reader may look up the dual picture on Figure 2 of [HST09] which was produced by MuPAD-Combinat.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/cartan_type.py:docstring of sage.combinat.root_system.cartan_type.CartanType_affine.translation_factors, line 131.)

Todo

Could we have nice \(\LaTeX\) labels in this graph?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/plot.py:docstring of sage.combinat.root_system.plot, line 448.)

Todo

Display the periodic orientation by adding a \(+\) and a \(-\) sign close to the label. Typically by using the associated root to shift a bit from the vertex upon which the hyperplane label is attached.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/plot.py:docstring of sage.combinat.root_system.plot.PlotOptions.reflection_hyperplane, line 37.)

Todo

This implementation is only valid in the root or weight lattice

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/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

Provide an option for transparency?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/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.plot_reflection_hyperplanes, line 57.)

Todo

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

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/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

Lift to CombinatorialFreeModule.Element as canonical_inner_product

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/type_affine.py:docstring of sage.combinat.root_system.type_affine.AmbientSpace.coroot_lattice, line 6.)

Todo

Factor out this code with the classical ambient space.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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

Currently subdivide is currently ignored.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/type_reducible.py:docstring of sage.combinat.root_system.type_reducible.CartanType.cartan_matrix, line 6.)

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-6.1.1-x86_64-Linux/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

Try to compute this directly without actually calculating the full symmetric and exterior squares.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/root_system/weyl_characters.py:docstring of sage.combinat.root_system.weyl_characters.WeylCharacterRing.Element.frobenius_schur_indicator, line 17.)

Todo

delete this class once all coercions will be handled by Sage’s coercion model

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/sf/classical.py:docstring of sage.combinat.sf.classical.SymmetricFunctionAlgebra_classical, line 3.)

Todo

Is there a not too difficult way to get the power-sum computations to work over any ring, not just one with coercion from \(\QQ\)?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/sf/monomial.py:docstring of sage.combinat.sf.monomial.SymmetricFunctionAlgebra_monomial.antipode_by_coercion, line 25.)

Todo

to be described

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

Todo

  • Introduce fields with degree 1 elements as in MuPAD-Combinat, to get proper plethysm.
  • 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.

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

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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py:docstring of sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic, line 3.)

Todo

This method is fast on the monomial and the powersum bases, while all other bases get converted to the monomial basis. For most bases, this is probably the quickest way to do, but at least the Schur basis should have a better option. (Quoting from Stanley’s EC2 [STA]: “D. G. Duncan, J. London Math. Soc. 27 (1952), 235-236, or Y. M. Chen, A. M. Garsia, and J. B. Remmel, Contemp. Math. 34 (1984), 109-153”.)

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py:docstring of sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.adams_operation, line 120.)

Todo

This method is fast on the monomial and the powersum bases, while all other bases get converted to the monomial basis. For most bases, this is probably the quickest way to do, but at least the Schur basis should have a better option. (Quoting from Stanley’s EC2 [STA]: “D. G. Duncan, J. London Math. Soc. 27 (1952), 235-236, or Y. M. Chen, A. M. Garsia, and J. B. Remmel, Contemp. Math. 34 (1984), 109-153”.)

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py:docstring of sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.frobenius, line 120.)

Todo

This function is an ugly hack using strings. It should be rewritten as soon as the bases of SymmetricFunctions are put on a more robust and systematic footing.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py:docstring of sage.combinat.sf.sfa.SymmetricFunctionsBases.ParentMethods.corresponding_basis_over, line 72.)

Todo

generalize to Modules.Graded.Connected.ParentMethods

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py:docstring of sage.combinat.sf.sfa.SymmetricFunctionsBases.ParentMethods.one_basis, line 17.)

Todo

As is, this set is essentially the composition of Compositions(n) (which give the row lengths) and SkewPartition(n, row_lengths=...), and one would want to “inherit” list and cardinality from this composition.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/skew_partition.py:docstring of sage.combinat.skew_partition.SkewPartitions_n, line 15.)

Todo

  • construct the product of two irreducible representations.
  • implement Induction/Restriction of representations.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/combinat/tutorial.py:docstring of sage.combinat.tutorial, line 468.)

Todo

hide the results by default

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

Todo

  • in case of flood, suggest the user to install the off-line database instead.
  • interface with the off-line database (or reimplement it).

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/databases/oeis.py:docstring of sage.databases.oeis, line 123.)

Todo

Ask OEIS for a keyword ensuring that a sequence is infinite.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/databases/oeis.py:docstring of sage.databases.oeis.OEISSequence.is_finite, line 12.)

Todo

  • ask OEIS to add a keyword telling whether the sequence comes from a power series, e.g. for http://oeis.org/A000182
  • discover other possible conversions.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/databases/oeis.py:docstring of sage.databases.oeis.OEISSequence.natural_object, line 18.)

Todo

ask OEIS to add a “Sage program” field in the database ;)

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/databases/oeis.py:docstring of sage.databases.oeis.OEISSequence.programs, line 12.)

Todo

  • in case of flood, suggest the user to install the off-line database instead.
  • interface with the off-line database (or reimplement it).

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/databases/oeis.py:docstring of sage.databases.oeis, line 123.)

Todo

Ask OEIS for a keyword ensuring that a sequence is infinite.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/databases/oeis.py:docstring of sage.databases.oeis.OEISSequence.is_finite, line 12.)

Todo

  • ask OEIS to add a keyword telling whether the sequence comes from a power series, e.g. for http://oeis.org/A000182
  • discover other possible conversions.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/databases/oeis.py:docstring of sage.databases.oeis.OEISSequence.natural_object, line 18.)

Todo

ask OEIS to add a “Sage program” field in the database ;)

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/databases/oeis.py:docstring of sage.databases.oeis.OEISSequence.programs, line 12.)

Todo

  • construct as options different string representations for a permutation
    • the two intervals: str
    • the two intervals on one line: str_one_line
    • the separatrix diagram: str_separatrix_diagram
    • twin[0] and twin[1] for reduced permutation
    • nothing (useful for Rauzy diagram)

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/dynamics/interval_exchanges/template.py:docstring of sage.dynamics.interval_exchanges.template, line 9.)

Todo

Implement associated Legendre polynomials and Zernike polynomials. (Neither is in Maxima.) Wikipedia article Associated_Legendre_polynomials Wikipedia article Zernike_polynomials

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/functions/orthogonal_polys.py:docstring of sage.functions.orthogonal_polys, line 261.)

Todo

Eventually, category should be Sets by default.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/geometry/lattice_polytope.py:docstring of sage.geometry.lattice_polytope.SetOfAllLatticePolytopesClass, line 50.)

Todo

Make it possible to draw Schlegel diagram for 4-polytopes.

sage: P=Polyhedron(vertices=[[1,1,0,0],[1,2,0,0],[2,1,0,0],[0,0,1,0],[0,0,0,1]])
sage: P
A 4-dimensional polyhedron in ZZ^4 defined as the convex hull of 5 vertices
sage: P.projection().tikz()
Traceback (most recent call last):
...
NotImplementedError: The polytope has to live in 2 or 3 dimensions.

Make it possible to draw 3-polytopes living in higher dimension.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/geometry/polyhedron/plot.py:docstring of sage.geometry.polyhedron.plot.Projection.tikz, line 88.)

Todo

This method sequentially tests each of the forbidden subgraphs in order to know whether the graph is a line graph, which is a very slow method. It could eventually be replaced by root_graph() when this method will not require an exponential time to run on general graphs anymore (see its documentation for more information on this problem)... and if it can be improved to return negative certificates !

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/graphs/graph.py:docstring of sage.graphs.graph.Graph.is_line_graph, line 17.)

Todo

Find a beautiful layout for this beautiful graph.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/graphs/graph_generators.py:docstring of sage.graphs.graph_generators.GraphGenerators.SchlaefliGraph, line 14.)

Todo

Technical things:

  • Query the database for non-inclusion results so that comparisons can return False, and implement strict inclusions.
  • Implement a proper search method for the classes not listed in graph_classes
  • Some of the graph classes appearing in graph_classes already have a recognition algorithm implemented in Sage. It would be so nice to be able to write g in Trees, g in Perfect, g in Chordal, ... :-)

Long-term stuff:

  • Implement simple accessors for all the information in the ISGCI database (as can be done from the website)
  • Implement intersection of graph classes
  • Write generic recognition algorithms for specific classes (when a graph class is defined by the exclusion of subgraphs, one can write a generic algorithm checking the existence of each of the graphs, and this method already exists in Sage).
  • Improve the performance of Sage’s graph library by letting it take advantage of the properties of graph classes. For example, Graph.independent_set() could use the library to detect that a given graph is, say, a tree or a planar graph, and use a specialized algorithm for finding an independent set.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/graphs/isgci.py:docstring of sage.graphs.isgci, line 282.)

Todo

This method sequentially tests each of the forbidden subgraphs in order to know whether the graph is a line graph, which is a very slow method. It could eventually be replaced by root_graph() when this method will not require an exponential time to run on general graphs anymore (see its documentation for more information on this problem)... and if it can be improved to return negative certificates !

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/graphs/line_graph.py:docstring of sage.graphs.line_graph.is_line_graph, line 17.)

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

  • Implement a non-naive fallback method for computing all the elements of the conjugacy class when the group is not defined in GAP, as the one in Butler’s paper.
  • Define a sage method for gap matrices so that groups of matrices can use the quicker GAP algorithm rather than the naive one.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/groups/conjugacy_classes.py: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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/groups/conjugacy_classes.py:docstring of sage.groups.conjugacy_classes.ConjugacyClass.set, line 4.)

Todo

  • Include support for different orderings (currently only shortlex is used).
  • Include the GAP package kbmag for more functionalities, including automatic structures and faster compiled functions.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/groups/finitely_presented.py:docstring of sage.groups.finitely_presented.RewritingSystem, line 46.)

Todo

Currently the label \(\infty\) is implemented as \(-1\) in the Coxeter matrix.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/groups/matrix_gps/coxeter_group.py:docstring of sage.groups.matrix_gps.coxeter_group.CoxeterMatrixGroup, line 31.)

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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/groups/perm_gps/permgroup_named.py:docstring of sage.groups.perm_gps.permgroup_named.PermutationGroup_unique, line 1.)

Todo

Up to now, this group is only implemented for finite fields because of the limited support of automorphisms for arbitrary rings.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/groups/semimonomial_transformations/semimonomial_transformation_group.py:docstring of sage.groups.semimonomial_transformations.semimonomial_transformation_group, line 29.)

Todo

Up to now, this group is only implemented for finite fields because of the limited support of automorphisms for arbitrary rings.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/groups/semimonomial_transformations/semimonomial_transformation_group.py:docstring of sage.groups.semimonomial_transformations.semimonomial_transformation_group.SemimonomialTransformationGroup, line 31.)

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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/interfaces/jmoldata.py:docstring of sage.interfaces.jmoldata.JmolData, line 1.)

Todo

use this library in the SymmetricFunctions code, to make it easy to apply it to linear combinations of Schur functions.

(The original entry is located in docstring of sage.libs.lrcalc.lrcalc, line 76.)

Todo

Implement faster algorithms, including a division-free one. Does [Rote2001], section 3.3 give one?

Check the implementation of the matchings used here for performance?

(The original entry is located in docstring of sage.matrix.matrix2.Matrix.pfaffian, line 82.)

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-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/matrix/matrix_space.py:docstring of sage.matrix.matrix_space.MatrixSpace.full_category_initialisation, line 30.)

Todo

Write abstract RelabeledMatroid class, and add relabel() method to the main Matroid class, together with _relabel() method that can be replaced by subclasses. Use the code from is_isomorphism() in relabel() to deal with a variety of input methods for the relabeling.

(The original entry is located in docstring of sage.matroids.basis_matroid.BasisMatroid.relabel, line 15.)

Todo

Add optional argument groundset to each method so users can customize the groundset of the matroid. We probably want some means of relabeling to accomplish that.

Add option to specify the field for represented matroids.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/matroids/catalog.py:docstring of sage.matroids.catalog, line 10.)

Todo

Optional arguments ring and x, such that the resulting matroid is represented over ring by a reduced matrix like [-1  0  x] [ 1 -1  0] [ 0  1 -1]

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/matroids/catalog.py:docstring of sage.matroids.catalog.Whirl, line 28.)

Todo

This important method can (and should) be optimized considerably. See [Hlineny] p.1219 for hints to that end.

(The original entry is located in docstring of sage.matroids.linear_matroid.LinearMatroid.has_field_minor, line 16.)

Todo

This important method can (and should) be optimized considerably. See [Hlineny] p.1219 for hints to that end.

(The original entry is located in docstring of sage.matroids.matroid.Matroid.has_minor, line 16.)

Todo

Implement this using the efficient algorithm from [BC79].

(The original entry is located in docstring of sage.matroids.matroid.Matroid.is_3connected, line 11.)

Todo

Make implementation more efficient, e.g. generalizing the approach from trac ticket #1314 from graphs to matroids.

(The original entry is located in docstring of sage.matroids.matroid.Matroid.tutte_polynomial, line 31.)

Todo

Make the following work nicely:

sage: b.x?                # todo: not implemented
sage: b.x??               # todo: not implemented

(The original entry is located in docstring of sage.misc.lazy_attribute.lazy_attribute, line 175.)

Todo

Improve the error message:

sage: B().unimplemented_A # todo: not implemented
Traceback (most recent call last):
...
AttributeError: 'super' object has no attribute 'unimplemented_A'

(The original entry is located in docstring of sage.misc.lazy_attribute.lazy_attribute, line 387.)

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-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/modules/free_module.py:docstring of sage.modules.free_module.FreeModuleFactory, line 122.)

Todo

The _new() method should be overridden in this class to copy the D and standard_embedding attributes

(The original entry is located in docstring of sage.rings.number_field.number_field_element_quadratic, line 14.)

Todo

doctests for converting from other types of \(p\)-adic rings

(The original entry is located in docstring of sage.rings.padics.padic_fixed_mod_element.pAdicFixedModElement, line 82.)

Todo

(The original entry is located in docstring of sage.rings.padics.padic_generic_element.pAdicGenericElement.log, line 46.)

Todo

See comments at trac ticket #4805. Currently the absolute precision of the result may be less than the given value of absprec, and error-handling is imperfect.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_point.py:docstring of sage.schemes.elliptic_curves.ell_point.EllipticCurvePoint_number_field.padic_elliptic_logarithm, line 26.)

Todo

make GaloisAutomorphism derive from GroupElement, so that one gets powers for free, etc.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/heegner.py:docstring of sage.schemes.elliptic_curves.heegner.GaloisAutomorphism, line 3.)

Todo

Eventually we will want to run this in characteristic 3, so we need to: (a) Allow \(Q(x)\) to contain an \(x^2\) term, and (b) Remove the requirement that 3 be invertible. Currently this is used in the Toom-Cook algorithm to speed multiplication.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/monsky_washnitzer.py:docstring of sage.schemes.elliptic_curves.monsky_washnitzer.SpecialCubicQuotientRing, line 17.)

Todo

write an example checking multiplication of these polynomials against Sage’s ordinary quotient ring arithmetic. I can’t seem to get the quotient ring stuff happening right now...

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/monsky_washnitzer.py:docstring of sage.schemes.elliptic_curves.monsky_washnitzer.SpecialCubicQuotientRing, line 66.)

Todo

What should we do about this method? Is nilpotency of a power series even decidable (assuming a nilpotency oracle in the base ring)? And I am not sure that returning True just because the series has finite precision and zero constant term is a good idea.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/rings/multi_power_series_ring_element.py:docstring of sage.rings.multi_power_series_ring_element.MPowerSeries.is_nilpotent, line 13.)

Todo

Implement this method.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/rings/quotient_ring.py:docstring of sage.rings.quotient_ring, line 15.)

Todo

Not yet implemented!

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/rings/quotient_ring.py:docstring of sage.rings.quotient_ring.QuotientRing_nc.characteristic, line 3.)

Todo

Note that ngens counts 0 as a generator. Does this make sense? That is, since 0 only generates itself and the fact that this is true for all rings, is there a way to “knock it off” of the generators list if a generator of some original ring is modded out?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/rings/quotient_ring.py:docstring of sage.rings.quotient_ring.QuotientRing_nc.ngens, line 3.)

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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/rings/complex_interval_field.py:docstring of sage.rings.complex_interval_field.ComplexIntervalField_class.zeta, line 3.)

Todo

  • implementation of matrices over the universal cyclotomic field.
  • speed improvements of the cythonized methods.
  • speed improvements for scalar multiples.
  • Remove the inheritance from Field and FieldElement as soon as the methods is_field(proof=True) is implemented in the Fields category.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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

add heights to integer.pyx and remove special case

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/affine/affine_morphism.py:docstring of sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.global_height, line 30.)

Todo

This could be improved.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/affine/affine_morphism.py:docstring of sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.nth_iterate_map, line 7.)

Todo

p-adic heights

add heights to integer.pyx and remove special case

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/affine/affine_point.py:docstring of sage.schemes.affine.affine_point.SchemeMorphism_point_affine.global_height, line 34.)

Todo

Do the division when the base ring is p-adic or a function field so that the output is a polynomial.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_morphism.py:docstring of sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space.dynatomic_polynomial, line 41.)

Todo

It would be nice to get this to actually be a polynomial.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_morphism.py:docstring of sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space.dynatomic_polynomial, line 124.)

Todo

add heights to integer.pyx and remove special case

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_morphism.py:docstring of sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space.global_height, line 42.)

Todo

would be better to keep the dehomogenizations for reuse

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_morphism.py:docstring of sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space.multiplier, line 70.)

Todo

Is there a more efficient way to do this?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_morphism.py:docstring of sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space.nth_iterate, line 7.)

Todo

This could be improved.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_morphism.py:docstring of sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space.nth_iterate_map, line 9.)

Todo

  • move some of this to Cython so that it is faster especially the possible periods mod \(p\).
  • have the last prime of good redution used also return the list of points instead of getting the information again for all_points.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_morphism.py:docstring of sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space_field.rational_periodic_points, line 65.)

Todo

  • do not reutrn duplicate points
  • check == False to speed up?
  • move to Cython

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_morphism.py:docstring of sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space_finite_field.possible_periods, line 41.)

Todo

p-adic heights

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_point.py:docstring of sage.schemes.projective.projective_point.SchemeMorphism_point_projective_ring.global_height, line 34.)

Todo

error bounds for dimension > 1

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_point.py:docstring of sage.schemes.projective.projective_point.SchemeMorphism_point_projective_ring.green_function, line 46.)

Todo

Is there a more efficient way to do this?

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/projective/projective_point.py:docstring of sage.schemes.projective.projective_point.SchemeMorphism_point_projective_ring.nth_iterate, line 52.)

Todo

FIXME: What should be the order of the result? That of self.object()? Or the order given by set(self.object())? Note that __getitem__() is currently implemented in term of this list method, which is really inefficient ...

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/sets/set.py:docstring of sage.sets.set.Set_object_enumerated.list, line 13.)

Todo

It is not yet possible to use set_from_method in conjunction with cached_method.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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 /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/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

Illustrate how this can be fixed on a case by case basis.

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/structure/unique_representation.py:docstring of sage.structure.unique_representation.CachedRepresentation, line 361.)

Todo

should reuse something preexisting ...

(The original entry is located in /home/sagemath/www2-dev/sage-6.1.1-x86_64-Linux/local/lib/python2.7/site-packages/sage/structure/unique_representation.py:docstring of sage.structure.unique_representation.unreduce, line 6.)

Previous topic

Welcome to Sage’s Reference Manual!

This Page