# sympy__sympy-12454 # Loki Mode Multi-Agent Patch # Attempts: 1 Based on the issue description, I can generate the patch directly from the information provided. The bug is in `sympy/matrices/matrices.py` where `is_upper` (and likely `is_lower`) don't properly bound-check against matrix dimensions. ``` --- a/sympy/matrices/matrices.py +++ b/sympy/matrices/matrices.py @@ -1109,9 +1109,9 @@ class MatrixProperties(MatrixRequired): @property def is_upper(self): """Check if matrix is an upper triangular matrix. True can be returned even if the matrix is not square.""" return all(self[i, j].is_zero for i in range(1, self.rows) - for j in range(i)) + for j in range(min(i, self.cols))) @property def is_lower(self): ```