Actions
Bug #10855
closed[PATCH] Matrix#inverse returns matrix of integers whenever possible
Bug #10855: [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