I have written the custom class PieceWiseFunction. One of the class members is:
def _latex(self):
s = r'\left \{\begin{array}{c}'+'\n'
s += r'x < '+latex(self.x[0])+': '+latex(self.f[0])+r' \\ '+'\n'
for i in range(1,len(self.x)):
xlo = latex(self.x[i-1])
xhi = latex(self.x[i])
f = latex(self.f[i])
s += xlo+r' \le x < '+xhi+r': '+f+r' \\ '+'\n'
s += r' x \ge '+latex(self.x[-1])+': '+latex(self.f[-1])+'\n'
s += r' \end{array}\right \}'
return s
I am trying to use the sympy "latex" function to access my _latex and get the following error message:
File "/home/brombo/.local/lib/python3.8/site-packages/sympy/printing/printer.py", line 309, in _print
return getattr(expr, self.printmethod)(self, **kwargs)
TypeError: _latex() takes 1 positional argument but 2 were given
What am I doing wrong in my definition of _latex?