Hello,
using Sage 6.2 there is this behaviour:
sage: SR(2).power(3,hold=True)
2^3
sage: 3*SR(2).power(3,hold=True)
3*8
or
sage: SR(2*x).power(3,hold=True)
(2*x)^3
sage: 4 * SR(2*x).power(3,hold=True)
4*(8*x^3)
which I don't know if it is expected.
Because we want some expressions no to be calculated we are using inert
functions like the one below.
Pedro
#=======================
# pow for "high school"
#=======================
def _POW_latex(fun,basev,expv):
if basev==0 and expv!=0:
return r'0'
elif basev==1:
return r'1'
else:
return r'%s^{%s}' % (latex(basev),latex(expv))
bv,ev=SR.var('bv,ev')
POW_ = function('powb', bv, ev, print_latex_func=_POW_latex)
def powb(basev,expv):
r"""powb is an alternative to ``^`` from Sage that preserves ^ in latex.
See similar idea for logb.
INPUT:
- ``basev`` - the basis argument.
- ``expv`` - the exponent value.
OUTPUT:
- an expression based on ``powb`` that is converted by latex() to a^b
without calculating.
Basic cases::
sage: powb(0,1)
0
sage: powb(1,2)
1
sage: powb(2,3)
powb(2, 3)
sage: latex( powb(2,3) )
2^{3}
"""
if basev==0 and expv!=0:
return 0
elif basev==1:
return 1
else:
return POW_(bv=basev,ev=expv)
#==================
On Wednesday, January 21, 2015 at 4:01:11 AM UTC, kcrisman wrote:
>
> as expected, this really is a bug in latex():
>>
>> sage: latex(120/factorial(5,hold=True))
>> \frac{120}{120}
>> sage: str(120/factorial(5,hold=True))
>> '120/factorial(5)'
>>
>>
> I agree, please feel free to cc: me on such a ticket. Though it may need
> digging into Pynac :(
>
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.