#6636: Simplification of factorials and binomial coefficients is not very good
-------------------------+--------------------------------------------------
Reporter: jbandlow | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-4.1.1
Component: symbolics | Keywords: symbolics, factorials, binomial
coefficients
Reviewer: | Author:
Merged: |
-------------------------+--------------------------------------------------
Maple can simplify all but the first of the following examples:
{{{
%maple
print(simplify(binomial(n,2)+binomial(n+1,2)));
print(simplify(factorial(n)/factorial(n-2)/2 +
factorial(n+1)/factorial(n-1)/2));
print(simplify(factorial(n+1)/factorial(n)));
print(simplify(binomial(n,k)*factorial(k)*factorial(n-k)));
}}}
returns
{{{
binomial(n,2)+binomial(n+1,2)
n^2
n+1
n!
}}}
Sage can simplify only the first:
{{{
var('n,k')
print (binomial(n,2) + binomial(n+1,2)).simplify_full()
print (factorial(n)/factorial(n-2)/2 +
factorial(n+1)/factorial(n)/2).simplify_full()
print (factorial(n+1)/factorial(n)).simplify_full()
print (binomial(n,k)*factorial(k)*factorial(n-k)).simplify_full()
}}}
returns
{{{
n^2
1/2*(factorial(n - 2)*factorial(n + 1) + factorial(n)^2)/(factorial(n -
2)*factorial(n))
factorial(n + 1)/factorial(n)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/jason/.sage/sage_notebook/worksheets/admin/10/code/49.py",
line 11, in <module>
exec compile(ur'print
(binomial(n,k)*factorial(k)*factorial(n-k)).simplify_full()' + '\n', '',
'single')
File "", line 1, in <module>
File "expression.pyx", line 4837, in
sage.symbolic.expression.Expression.simplify_full
(sage/symbolic/expression.cpp:19979)
File "expression.pyx", line 4864, in
sage.symbolic.expression.Expression.simplify_trig
(sage/symbolic/expression.cpp:20076)
File "expression.pyx", line 418, in
sage.symbolic.expression.Expression._maxima_
(sage/symbolic/expression.cpp:3415)
File "sage_object.pyx", line 364, in
sage.structure.sage_object.SageObject._interface_
(sage/structure/sage_object.c:3384)
File "sage_object.pyx", line 451, in
sage.structure.sage_object.SageObject._maxima_init_
(sage/structure/sage_object.c:5065)
File "expression.pyx", line 443, in
sage.symbolic.expression.Expression._interface_init_
(sage/symbolic/expression.cpp:3544)
File "/home/jason/sage-4.0/local/lib/python2.6/site-
packages/sage/symbolic/expression_conversions.py", line 214, in __call__
return self.arithmetic(ex, operator)
File "/home/jason/sage-4.0/local/lib/python2.6/site-
packages/sage/symbolic/expression_conversions.py", line 497, in arithmetic
args = ["(%s)"%self(op) for op in ex.operands()]
File "/home/jason/sage-4.0/local/lib/python2.6/site-
packages/sage/symbolic/expression_conversions.py", line 206, in __call__
operator = ex.operator()
File "expression.pyx", line 3088, in
sage.symbolic.expression.Expression.operator
(sage/symbolic/expression.cpp:15127)
RuntimeError: cannot find SFunction in table
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6636>
Sage <http://sagemath.org/>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---