Actions
Bug #10855
closed[PATCH] Matrix#inverse returns matrix of integers whenever possible
Description
Currently, Matrix#inverse returns a matrix of Rationals, even when each
element has a denominator of 1. This leads to
> x = Matrix.identity 3
=> Matrix[[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]
> x.inverse
=> Matrix[[(1/1), (0/1), (0/1)],
[(0/1), (1/1), (0/1)],
[(0/1), (0/1), (1/1)]]
Even though Matrix.identity.inverse
should be identical to Matrix.identity
.
This patch guarantees that Matrix#inverse will return a matrix of integers
whenever it can. To maintain uniform types across a matrix, the conversion
is only performedif every element can be converted to an integer.
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0