Opened 4 years ago
Closed 4 years ago
#26835 closed defect (fixed)
Failing introspection with wildcards on matrices / remove M.I
Reported by: | nthiery | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-8.5 |
Component: | linear algebra | Keywords: | |
Cc: | Merged in: | ||
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
Example:
sage: M = random_matrix(QQ, 3,4) sage: M.*row*? ArithmeticError ... sage.matrix.matrix_rational_dense.Matrix_rational_dense.inverse (build/cythonized/sage/matrix/matrix_rational_dense.c:8519)() 717 """ 718 if self._nrows != self._ncols: --> 719 raise ArithmeticError("self must be a square matrix") 720 721 if self._nrows == 0: ArithmeticError: self must be a square matrix
Analysis: M has an attribute I which is supposed to evaluate to the inverse of M. When ipython does its introspection to recover the list of attributes of M with M.*row*?
, that attribute is evaluated. Which triggers an error since M is not square.
Proposed solution: remove M.I
that was deprecated two years ago in #20904 .
Change History (3)
comment:1 Changed 4 years ago by
comment:2 Changed 4 years ago by
sage: M = random_matrix(QQ, 3,4) sage: M.*row*? M.add_multiple_of_row M.automorphisms_of_rows_and_columns M.delete_rows M.dense_rows M.linear_combination_of_rows M.matrix_from_rows
So this works now. Cool!
comment:3 Changed 4 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
M.I was actually removed in #26647. Testing now whether introspection works. If yes, I'll close the ticket as resolved.