Probar si la matriz es invertible sobre un campo finito

Me gustaría probar si un tipo particular de matriz aleatoria es invertible en un campo finito, en particular F_2. Puedo probar si una matriz es invertible sobre los reales usando el siguiente código simple.

import random
from scipy.linalg import toeplitz
import numpy as np
n=10
column = [random.choice([0,1]) for x in xrange(n)]
row = [column[0]]+[random.choice([0,1]) for x in xrange(n-1)]
matrix = toeplitz(column, row)
if (np.linalg.matrix_rank(matrix) < n):
    print "Not invertible!"

¿Hay alguna forma de lograr lo mismo pero sobre F_2?

Respuestas a la pregunta(2)

Su respuesta a la pregunta