@@ -3242,32 +3242,10 @@ cdef class DenseMatrixBase(MatrixBase):
3242
3242
return deref(self .thisptr).__str__().decode(" utf-8" )
3243
3243
3244
3244
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" )
3253
3247
else :
3254
- nrows_display= nrows
3255
- ncols_display = min (ncols, MAX_NUMBER_OF_COLUMNS)
3256
- latex = r ' $ \d isplaystyle \l eft[\b egin{matrix}'
3257
-
3258
- newline = r' \\ '
3259
- if ncols_display<ncols:
3260
- newline = ' & \c dots ' + 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 ' \v dots' for v in vv])
3268
-
3269
- latex += r ' \e nd{matrix}\r ight]$ '
3270
- return latex
3248
+ return None
3271
3249
3272
3250
def __add__ (a , b ):
3273
3251
a = _sympify(a, False )
@@ -5440,8 +5418,12 @@ def cse(exprs):
5440
5418
return (vec_pair_to_list(replacements), vec_basic_to_list(reduced_exprs))
5441
5419
5442
5420
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" )
5445
5427
5446
5428
cdef _flattened_vec(symengine.vec_basic & vec, exprs):
5447
5429
cdef Basic b
0 commit comments