Opened 7 years ago

Last modified 7 years ago

#19151 new defect

expression manipulations that do not preserve function latex_name and print_latex_func

Reported by: Bill Page Owned by:
Priority: minor Milestone: sage-6.9
Component: symbolics Keywords: expression manipulation, latex output, function
Cc: Eric Gourgoulhon Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Ralf Stephan)

def argscript(self, *args): return "%s_{%s}"%(self.name(),','.join(map(repr, args)))
f=function('f', print_latex_func=argscript)
x,y=var('x,y')
show(f(x,y))
g=function('g', latex_name="\\mathcal{G}")
show(g(x,y))

# fail
show(f(x,y).canonicalize_radical())
show(g(x,y).canonicalize_radical())
show(f(x,y).combine())
show(g(x,y).combine())
show(f(x,y).expand_log())
show(g(x,y).expand_log())
show(f(x,y).expand_sum())
show(g(x,y).expand_sum())
show(f(x,y).expand_trig())
show(g(x,y).expand_trig())
show(f(x,y).factor())
show(g(x,y).factor())
show(f(x,y).factorial_simplify())
show(g(x,y).factorial_simplify())
show(f(x,y).full_simplify())
show(g(x,y).full_simplify())
show(f(x,y).log_expand())
show(g(x,y).log_expand())
show(f(x,y).log_simplify())
show(g(x,y).log_simplify())
show(f(x,y).rational_simplify())
show(g(x,y).rational_simplify())
show(f(x,y).reduce_trig())
show(g(x,y).reduce_trig())
show(f(x,y).simplify())
show(g(x,y).simplify())
show(f(x,y).simplify_factorial())
show(g(x,y).simplify_factorial())
show(f(x,y).simplify_full())
show(g(x,y).simplify_full())
show(f(x,y).simplify_log())
show(g(x,y).simplify_log())
show(f(x,y).simplify_rational())
show(g(x,y).simplify_rational())
show(f(x,y).simplify_real())
show(g(x,y).simplify_real())
show(f(x,y).simplify_trig())
show(g(x,y).simplify_trig())
show(f(x,y).trig_expand())
show(g(x,y).trig_expand())
show(f(x,y).trig_reduce())
show(g(x,y).trig_reduce())
show(f(x,y).trig_simplify())
show(g(x,y).trig_simplify())

# works
show(f(x,y).collect(x))
show(g(x,y).collect(x))
show(f(x,y).collect_common_factors())
show(g(x,y).collect_common_factors())
show(f(x,y).expand())
show(g(x,y).expand())
show(f(x,y).expand_rational())
show(g(x,y).expand_rational())
show(f(x,y).normalize())
show(g(x,y).normalize())
show(f(x,y).rational_expand())
show(f(x,y).simplify_hypergeometric())
show(g(x,y).simplify_hypergeometric())
show(f(x,y).simplify_rectform())
show(g(x,y).simplify_rectform())

Change History (4)

comment:1 Changed 7 years ago by Bill Page

Component: PLEASE CHANGEsymbolics

comment:2 Changed 7 years ago by Ralf Stephan

Well, these are all methods of Expression that call Maxima. The translation of the result from Maxima back to Sage obviously discards the old function data.

comment:3 Changed 7 years ago by Ralf Stephan

Description: modified (diff)

comment:4 Changed 7 years ago by Eric Gourgoulhon

Cc: Eric Gourgoulhon added
Note: See TracTickets for help on using tickets.