2010-07-22 4 views
3

Je veux implémenter un programme pour calculer l'Inverse d'une matrice dans F (2) (seulement 0 et 1). S'il vous plaît laissez-moi savoir si vous pouvez penser à un algorithme ou simplement algo simple pour l'inverse de la matrice.Algorithme simple pour Matrix Inverse

+0

Qu'est-ce que F (2)? Ma meilleure estimation est le domaine de {0, 1} - c'est-à-dire que toute l'arithmétique est modulo 2. Si oui, je suppose qu'il y a un algorithme inverse simplifié/optimisé, mais je ne sais pas ce que c'est. – Steve314

+0

Oui, vous avez raison F (2) est juste un espace vectoriel pour {0,1} – Kelly

Répondre

1

L'inverse de la matrice est compréhensible. Vous pouvez utiliser l'élimination gaussienne pour cela. Ou, si vous préférez, vous pouvez utiliser la décomposition LU ou QR et accumuler l'inverse en faisant défiler les vecteurs unitaires sur le côté droit.

inverse d'une matrice en F (2) (seulement 0 et 1)

Je ne sais pas ce que cela signifie. Peut-être pouvez-vous clarifier.

+3

GF (2), c'est-à-dire que chaque élément de la matrice est un seul bit. L'algorithme d'élimination de Gauss fonctionne encore avec quelques modifications. http://en.wikipedia.org/wiki/GF%282%29 –

+0

Merci, GregS. Je ne savais pas. – duffymo

+0

F (2) est un champ de {0, 1} - c'est-à-dire que toute l'arithmétique est modulo 2 – Kelly

0

Il existe une méthode de quatre russes (m4ri) avec des travaux dans $ O (n^3/log (n)) $ time.

Il est mis en œuvre, par exemple, cette bibliothèque: http://m4ri.sagemath.org/