Skip to content

Commit 393bc7d

Browse files
committed
Use the builtin hooks in sympy printers rather than defining them ourselves
This also means that ga objects now know how to print using the default sympy printers.
1 parent dbcf5cd commit 393bc7d

File tree

4 files changed

+12
-48
lines changed

4 files changed

+12
-48
lines changed

galgebra/dop.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def _with_sorted_terms(self):
116116
new_terms = sorted(self.terms, key=lambda term: Pdop.sort_key(term[1]))
117117
return Sdop(new_terms)
118118

119-
def Sdop_str(self, print_obj):
119+
def _sympystr(self, print_obj):
120120
if len(self.terms) == 0:
121121
return ZERO_STR
122122

@@ -144,7 +144,7 @@ def Sdop_str(self, print_obj):
144144
s = '(' + s + ')'
145145
return s
146146

147-
def Sdop_latex_str(self, print_obj):
147+
def _latex(self, print_obj):
148148
if len(self.terms) == 0:
149149
return ZERO_STR
150150

@@ -378,7 +378,7 @@ def __rmul__(self, other): # functional product of arg and self (arg*self)
378378
assert not isinstance(other, Pdop)
379379
return Sdop([(other, self)])
380380

381-
def Pdop_str(self, print_obj):
381+
def _sympystr(self, print_obj):
382382
if self.order == 0:
383383
return 'D{}'
384384
s = 'D'
@@ -389,7 +389,7 @@ def Pdop_str(self, print_obj):
389389
s += '^' + print_obj.doprint(n)
390390
return s
391391

392-
def Pdop_latex_str(self, print_obj):
392+
def _latex(self, print_obj):
393393
if self.order == 0:
394394
return ''
395395
s = r'\frac{\partial'

galgebra/lt.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ def inv(self):
389389
raise ValueError('Lt inverse currently implemented only for spinor!\n')
390390
return Lt_inv
391391

392-
def Lt_str(self, print_obj):
392+
def _sympystr(self, print_obj):
393393

394394
if self.spinor:
395395
return 'R = ' + print_obj.doprint(self.R)
@@ -403,7 +403,7 @@ def Lt_str(self, print_obj):
403403
s += pre + print_obj.doprint(base) + ') = 0\n'
404404
return s[:-1]
405405

406-
def Lt_latex_str(self, print_obj):
406+
def _latex(self, print_obj):
407407

408408
if self.spinor:
409409
s = '\\left \\{ \\begin{array}{ll} '
@@ -586,10 +586,10 @@ def extact_basis_indexes(Ga):
586586
base_indexes.append(base_str[i:])
587587
return base_indexes
588588

589-
def Mlt_str(self, print_obj):
589+
def _sympystr(self, print_obj):
590590
return print_obj.doprint(self.fvalue)
591591

592-
def Mlt_latex_str(self, print_obj):
592+
def _latex(self, print_obj):
593593
if self.nargs <= 1:
594594
return print_obj.doprint(self.fvalue)
595595
expr_lst = Mlt.expand_expr(self.fvalue, self.Ga)

galgebra/mv.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ def __getitem__(self, key):
583583
'''
584584
return self.grade(key)
585585

586-
def Mv_str(self, print_obj):
586+
def _sympystr(self, print_obj):
587587
if self.obj == S.Zero:
588588
return ZERO_STR
589589

@@ -653,7 +653,7 @@ def Mv_str(self, print_obj):
653653
else:
654654
return print_obj.doprint(self.obj)
655655

656-
def Mv_latex_str(self, print_obj):
656+
def _latex(self, print_obj):
657657

658658
if self.obj == S.Zero:
659659
return ZERO_STR
@@ -1718,7 +1718,7 @@ def Dop_mv_expand(self, modes=None):
17181718
terms = list(zip(coefs, bases))
17191719
return sorted(terms, key=lambda x: self.Ga.blades.flat.index(x[1]))
17201720

1721-
def Dop_str(self, print_obj):
1721+
def _sympystr(self, print_obj):
17221722
if len(self.terms) == 0:
17231723
return ZERO_STR
17241724

@@ -1752,7 +1752,7 @@ def Dop_str(self, print_obj):
17521752
s = s.replace('+ -', '-')
17531753
return s[:-3]
17541754

1755-
def Dop_latex_str(self, print_obj):
1755+
def _latex(self, print_obj):
17561756
if len(self.terms) == 0:
17571757
return ZERO_STR
17581758

galgebra/printer.py

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -370,24 +370,6 @@ def _print_Matrix(self, expr):
370370
out_str = ostr(list(expr))
371371
return out_str
372372

373-
def _print_Mv(self, expr):
374-
return expr.Mv_str(self)
375-
376-
def _print_Pdop(self, expr):
377-
return expr.Pdop_str(self)
378-
379-
def _print_Dop(self, expr):
380-
return expr.Dop_str(self)
381-
382-
def _print_Sdop(self, expr):
383-
return expr.Sdop_str(self)
384-
385-
def _print_Lt(self, expr):
386-
return expr.Lt_str(self)
387-
388-
def _print_Mlt(self, expr):
389-
return expr.Mlt_str(self)
390-
391373

392374
Basic.__ga_print_str__ = lambda self: GaPrinter().doprint(self)
393375
Matrix.__ga_print_str__ = lambda self: GaPrinter().doprint(self)
@@ -933,24 +915,6 @@ def _print_Derivative(self, expr):
933915
s = r"%s %s" % (tex, self._print(expr.expr))
934916
return s
935917

936-
def _print_Mv(self, expr):
937-
return expr.Mv_latex_str(self)
938-
939-
def _print_Pdop(self, expr):
940-
return expr.Pdop_latex_str(self)
941-
942-
def _print_Dop(self, expr):
943-
return expr.Dop_latex_str(self)
944-
945-
def _print_Sdop(self, expr):
946-
return expr.Sdop_latex_str(self)
947-
948-
def _print_Lt(self, expr):
949-
return expr.Lt_latex_str(self)
950-
951-
def _print_Mlt(self, expr):
952-
return expr.Mlt_latex_str(self)
953-
954918
def _print_MatrixBase(self, expr):
955919
rows = expr.rows
956920
cols = expr.cols

0 commit comments

Comments
 (0)