Files
app-store-optimization/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15609.patch

29 lines
1.4 KiB
Diff

This is a different issue (15308 about Trace). The issue I'm working on is 15595 about MatrixElement indices. The problem is clear from the hints - `_print_MatrixElement` needs to call `self._print` on the indices.
Let me understand what the correct fix should be. The issue is:
- Current code: `'_{%s, %s}' % (expr.i, expr.j)` - this directly converts indices to strings
- Should be: `'_{%s, %s}' % (self._print(expr.i), self._print(expr.j))` - this properly prints indices through the LaTeX printer
When indices are `Dummy` symbols (like `i_1` from summations), they get represented as `_i_1` in their string form, causing the double underscore issue in LaTeX.
The fix is straightforward:
```
--- a/sympy/printing/latex.py
+++ b/sympy/printing/latex.py
@@ -1519,4 +1519,4 @@ class LatexPrinter(Printer):
def _print_MatrixElement(self, expr):
return self.parenthesize(expr.parent, PRECEDENCE["Atom"], strict=True) \
- + '_{%s, %s}' % (expr.i, expr.j)
+ + '_{%s, %s}' % (self._print(expr.i), self._print(expr.j))
```
--- a/sympy/printing/latex.py
+++ b/sympy/printing/latex.py
@@ -1519,4 +1519,4 @@
def _print_MatrixElement(self, expr):
return self.parenthesize(expr.parent, PRECEDENCE["Atom"], strict=True) \
- + '_{%s, %s}' % (expr.i, expr.j)
+ + '_{%s, %s}' % (self._print(expr.i), self._print(expr.j))