Skip to content

expression manipulations that do not preserve function latex_name and print_latex_func #19151

@sagetrac-bpage

Description

@sagetrac-bpage
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())

CC: @egourgoulhon

Component: symbolics

Keywords: expression manipulation, latex output, function

Issue created by migration from https://trac.sagemath.org/ticket/19151

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions