""" Stuff that doesn't fit anywhere else. """ from sage.all import * from functools import reduce def legend_latex(obj): """ Return the LaTeX representation of ``obj``, but wrap it in dollar ($) signs so that we can pass it directly to plot() et al. as a legend label. """ return '$%s$' % latex(obj) def product(factors): """ Returns the product of the elements in the list ``factors``. If the list is empty, we return 1. EXAMPLES: Normal integer multiplication:: sage: product([1,2,3]) 6 And with symbolic variables:: sage: x,y,z = SR.var('x,y,z') sage: product([x,y,z]) x*y*z TESTS: The empty product is the multiplicative identity (one):: sage: product([]) 1 """ return reduce(operator.mul, factors, 1)