== Symbolics in Sage == These pages are aimed at developers of symbolics functionality in Sage. If you're interested in helping out with any of the items below please contact the [[http://groups.google.com/group/sage-devel|sage-devel googlegroup]] or the people already working on your item of interest. ||<#FFFF66>For more up-to-date information, see the [[http://trac.sagemath.org/wiki/symbolics|trac wiki page on symbolics]].|| === TODO === * Integration * [[http://www-sop.inria.fr/cafe/Manuel.Bronstein/pmint/index.html|Poor man's integrator]] * Minh Van Nguyen is working on this. * [[http://books.google.at/books?id=9fOUwkkRxT4C&pg=PR2&hl=en#PPA473,M1|A summary of heuristics used in Maple]] from Algorithms in Computer Algebra by Geddes, Czapor and Labahn * A survey by Keith Geddes: [[http://www.cs.uwaterloo.ca/~kogeddes/papers/Integration/IntSurvey.html|Algorithms for Indefinite and Definite Integration in Maple]] * Heuristics from maxima (relevant parts of the [[http://maxima.sourceforge.net/docs/manual/en/maxima_20.html#Item_003a-integrate|maxima manual]] have some documentation) * Transcendental Risch (from [[http://www-sop.inria.fr/cafe/Manuel.Bronstein/publications/symbint1.html|Bronstein's book]]) * Solve * [[http://www.unk.edu/uploadedFiles/facstaff/profiles/willisb/solve-talk(3).pdf|Talk by Barton Willis]] on Maxima's to_poly solve function * [[http://maxima.cvs.sourceforge.net/viewvc/maxima/maxima/share/contrib/rtest_to_poly_solver.mac?view=markup|test suite]] for Maxima's to_poly solver * Limits * Differential equation solver * documentation of [[http://www-sop.inria.fr/cafe/Manuel.Bronstein/sumit/sumit.html|Sum^it library]] might be useful * Basic simplification routines * trig * radical * rational * binomial/factorial? [[http://maxima.sourceforge.net/docs/manual/en/maxima_93.html#Category_003a-Simplification-functions|maxima documentation]] * Transforms * laplace, inverse_laplace, hilbert, mellin, etc. * Some discussion on the sage-support list in [[http://groups.google.com/group/sage-support/browse_thread/thread/7b48e5dbd06f9f46|this thread]]. * Orthogonal polynomials * The orthogonal polynomials defined by sage in the module `sage.functions.orthogonal_polys` are wrappers to maxima, we should provide native implementations of these, preferably with an argument to specify the parent of the resulting polynomial * Stefan Reiterer (stefan.reiterer@uni-graz.at) is working on this Some of the functionality listed above is provided by Maxima wrappers at the moment. * Summation * Burcin Erocal (burcin@erocal.org) is working on this * Hypergeometric functions * [[http://www.mat.univie.ac.at/~kratt/hyp_hypq/hyp.html|HYP]] from Christian Krattenthaler for MMA * [[http://www-igm.univ-mlv.fr/~gauthier/HYPERG.html|HYPERG]] from Bruno Gauthier for Maple This should let us do the following: $$\sum_{s \ge m} {s \choose m} \frac{(n)_s}{(\frac{n}{2} + 1)_s 2^{s}} = \frac{(n)_m}{2^{m}(\frac{n}{2}+1)_m} \,_2 F_1 \left( \begin{array}{cc} m+1, m+n \\ m+ \frac{n}{2} +1 \end{array} ; \frac{1}{2} \right) = \frac{2^{n-1} \Gamma(\frac{n}{2} +1) \Gamma(\frac{m}{2} + \frac{n}{2})}{\Gamma(\frac{m}{2} + 1)\Gamma(n)}$$ * Meijer G-Functions * Generating functions This is a building block for many things. A prerequisite for this is linear algebra over polynomial rings, Burcin Erocal is working on this. * [[http://algo.inria.fr/libraries/|gfun]] by Bruno Salvy and Paul Zimmermann included in Maple * [[http://www.risc.uni-linz.ac.at/research/combinat/software/GeneratingFunctions/index.php|GeneratingFunctions]] by Christian Mallinger for MMA