Skip to content

Commit 4e54644

Browse files
committed
use c++ latex rendering
1 parent 6044866 commit 4e54644

File tree

1 file changed

+9
-27
lines changed

1 file changed

+9
-27
lines changed

symengine/lib/symengine_wrapper.pyx

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3242,32 +3242,10 @@ cdef class DenseMatrixBase(MatrixBase):
32423242
return deref(self.thisptr).__str__().decode("utf-8")
32433243

32443244
def _repr_latex_(self):
3245-
MAX_NUMBER_OF_ROWS = 24
3246-
MAX_NUMBER_OF_COLUMNS = 16
3247-
3248-
values = list(self)
3249-
ncols=self.shape[1]
3250-
nrows = self.shape[0]
3251-
if nrows > MAX_NUMBER_OF_ROWS:
3252-
nrows_display = MAX_NUMBER_OF_ROWS - 2
3245+
if repr_latex[0]:
3246+
return latex(deref(self.thisptr)).decode("utf-8")
32533247
else:
3254-
nrows_display= nrows
3255-
ncols_display = min(ncols, MAX_NUMBER_OF_COLUMNS)
3256-
latex = r'$\displaystyle \left[\begin{matrix}'
3257-
3258-
newline = r'\\'
3259-
if ncols_display<ncols:
3260-
newline = ' & \cdots ' + newline
3261-
for row in range(nrows_display):
3262-
vv = values[row*ncols:(row*ncols)+ncols_display]
3263-
latex += ' & '.join([str(v) for v in vv])
3264-
if row < self.shape[0]-1:
3265-
latex += newline
3266-
if nrows_display < nrows:
3267-
latex += ' & '.join([r'\vdots' for v in vv])
3268-
3269-
latex += r'\end{matrix}\right]$'
3270-
return latex
3248+
return None
32713249

32723250
def __add__(a, b):
32733251
a = _sympify(a, False)
@@ -5440,8 +5418,12 @@ def cse(exprs):
54405418
return (vec_pair_to_list(replacements), vec_basic_to_list(reduced_exprs))
54415419

54425420
def latex(expr):
5443-
cdef Basic expr_ = sympify(expr)
5444-
return symengine.latex(deref(expr_.thisptr)).decode("utf-8")
5421+
if isinstance(expr, DenseMatrixBase):
5422+
cdef symengine.DenseMatrix expr_ = sympify(expr)
5423+
return symengine.latex(deref(expr_.thisptr)).decode("utf-8")
5424+
else:
5425+
cdef Basic expr_ = sympify(expr)
5426+
return symengine.latex(deref(expr_.thisptr)).decode("utf-8")
54455427

54465428
cdef _flattened_vec(symengine.vec_basic &vec, exprs):
54475429
cdef Basic b

0 commit comments

Comments
 (0)