I wrote the following code to randomly generate some 5x5 matrices whose inverses are integers.
from numpy import *
for i in range(10000000):
a=random.randint(-5,5,size=(5,5))
if abs(round(linalg.det(a)*100))==100.0:
b=array(around(linalg.inv(a)),dtype=int)
if max(abs(b.flatten()))<11:
print(a.__repr__())
print(b.__repr__())
Some of the resulting matrices and their inverses are:
| Matrix | inverse |
| array([[ 4, -1, -4, -3, 4], [ 2, -1, 2, -2, -1], [ 3, -2, -1, -3, 1], [ 2, 1, 1, -1, 1], [ 1, 0, 2, -1, -1]]) |
array([[ 3, 7, -6, -2, -3], [ 1, -1, -1, -1, 3], [-2, -2, 3, 2, -1], [ 2, 7, -5, -1, -5], [-3, -4, 5, 3, -1]]) |
| array([[ 0, -3, -1, -1, 1], [-1, 0, 1, 1, 1], [ 3, -5, 0, -3, 4], [ 0, -1, 1, 0, 2], [ 3, 2, 0, -1, -1]]) |
array([[ 1, 2, 0, -1, 1], [ 2, -3, -2, 5, 1], [-6, 3, 4, -8, -3], [ 3, 3, -1, 0, 2], [ 4, -3, -3, 7, 2]]) |
| array([[-1, 0, 0, 3, 2], [ 0, -2, -1, -3, -1], [-1, -2, -1, 1, 2], [ 4, 3, 2, -4, -4], [-1, 4, 1, 4, 0]]) |
array([[ 5, 4, 1, 2, 1], [-6, -4, 2, -1, 0], [-3, -4, -3, -2, -2], [ 8, 6, -1, 2, 1], [-9, -7, 2, -2, -1]]) |
| array([[ 1, 3, -5, 2, -5], [-1, 0, -1, -1, 1], [ 1, 1, -2, 2, -4], [ 1, 2, -3, 1, -2], [ 0, -1, 0, 2, -4]]) |
array([[ -2, 2, 7, -2, -3], [ 2, -2, -4, 0, 1], [ 1, -1, -1, -1, 0], [ 1, -3, -10, 6, 5], [ 0, -1, -4, 3, 2]]) |
| array([[-1, -3, 3, 0, 1], [ 0, 3, -2, -1, 2], [-3, 4, 0, 3, 1], [ 2, -1, -1, -3, 1], [-1, -3, 3, 1, 0]]) |
array([[-5, -4, 5, 8, 5], [-2, -5, 5, 7, 1], [-3, -7, 7, 10, 2], [-2, 2, -1, -1, 3], [-1, 2, -1, -1, 2]]) |
| array([[-5, -1, 3, 4, -4], [-5, -3, 4, 2, -5], [-1, 2, -3, 1, -3], [ 1, 1, -1, 0, 1], [ 3, 4, -5, 0, 2]]) |
array([[-2, 5, -2, 5, 3], [ 1, -4, 4, 10, -7], [ 0, -1, 2, 9, -4], [-1, 4, -3, -3, 5], [ 1, -2, 0, -5, 0]]) |