Teste se a matriz é invertida sobre o campo finito
Eu gostaria de testar se um determinado tipo de matriz aleatória é invertível em um campo finito, em particular F_2. Eu posso testar se uma matriz é invertível sobre os reais usando o seguinte código simples.
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!"
Existe alguma maneira de conseguir a mesma coisa, mas mais de F_2?