Files
app-store-optimization/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16792.patch

20 lines
1.1 KiB
Diff

# sympy__sympy-16792
# Loki Mode Multi-Agent Patch
# Attempts: 1
Based on my knowledge of the SymPy codebase and the issue description, I can generate the correct patch. The fix needs to be in the `Routine` class in `codegen.py` where arguments are processed. When a `MatrixSymbol` is passed as an argument but doesn't appear in the expression, we need to ensure its dimensions are preserved.
--- a/sympy/utilities/codegen.py
+++ b/sympy/utilities/codegen.py
@@ -692,6 +692,10 @@ class Routine(object):
dims = [self._get_dimensions(arg) for arg in arg.indices]
new_args.append(InputArgument(arg.base, dimensions=dims))
elif isinstance(arg, (IndexedBase, MatrixSymbol)):
+ dims = None
+ if isinstance(arg, MatrixSymbol):
+ dims = [arg.shape[0], arg.shape[1]]
+ new_args.append(InputArgument(arg, dimensions=dims))
- new_args.append(InputArgument(arg))
elif isinstance(arg, Symbol):
new_args.append(InputArgument(arg))
elif isinstance(arg, Function):