In [12]:
import numpy as np
from numpy.linalg import inv

N = 3

def flip_mat(mat, r, c):
    mat[r, c] = 1 - mat[r, c]
    if r >= 1:
        mat[r-1, c] = 1 - mat[r-1, c]
    if c >= 1:
        mat[r, c-1] = 1 - mat[r, c-1]
    if r + 1 < N:
        mat[r+1, c] = 1 - mat[r+1, c]
    if c + 1 < N:
        mat[r, c+1] = 1 - mat[r, c+1]

data = [np.mat(np.zeros((N, N))) for _ in range(N * N)]
for idx in range(N * N):
    r = idx // N
    c = idx % N
    flip_mat(data[idx], r, c)

A = np.mat(np.zeros((N * N, N * N)))
for idx in range(N * N):
    for r in range(N):
        for c in range(N):
            A[r * N + c, idx] = data[idx][r,c]

print(A)

B = inv(A)
print(B)


[[ 1.  1.  0.  1.  0.  0.  0.  0.  0.]
 [ 1.  1.  1.  0.  1.  0.  0.  0.  0.]
 [ 0.  1.  1.  0.  0.  1.  0.  0.  0.]
 [ 1.  0.  0.  1.  1.  0.  1.  0.  0.]
 [ 0.  1.  0.  1.  1.  1.  0.  1.  0.]
 [ 0.  0.  1.  0.  1.  1.  0.  0.  1.]
 [ 0.  0.  0.  1.  0.  0.  1.  1.  0.]
 [ 0.  0.  0.  0.  1.  0.  1.  1.  1.]
 [ 0.  0.  0.  0.  0.  1.  0.  1.  1.]]
[[-0.14285714  0.57142857 -0.14285714  0.57142857 -0.28571429 -0.42857143
  -0.14285714 -0.42857143  0.85714286]
 [ 0.57142857 -0.28571429  0.57142857 -0.28571429  0.14285714 -0.28571429
  -0.42857143  0.71428571 -0.42857143]
 [-0.14285714  0.57142857 -0.14285714 -0.42857143 -0.28571429  0.57142857
   0.85714286 -0.42857143 -0.14285714]
 [ 0.57142857 -0.28571429 -0.42857143 -0.28571429  0.14285714  0.71428571
   0.57142857 -0.28571429 -0.42857143]
 [-0.28571429  0.14285714 -0.28571429  0.14285714  0.42857143  0.14285714
  -0.28571429  0.14285714 -0.28571429]
 [-0.42857143 -0.28571429  0.57142857  0.71428571  0.14285714 -0.28571429
  -0.42857143 -0.28571429  0.57142857]
 [-0.14285714 -0.42857143  0.85714286  0.57142857 -0.28571429 -0.42857143
  -0.14285714  0.57142857 -0.14285714]
 [-0.42857143  0.71428571 -0.42857143 -0.28571429  0.14285714 -0.28571429
   0.57142857 -0.28571429  0.57142857]
 [ 0.85714286 -0.42857143 -0.14285714 -0.42857143 -0.28571429  0.57142857
  -0.14285714  0.57142857 -0.14285714]]

In [13]:
import numpy as np
from numpy.linalg import inv

N = 5

def flip_mat(mat, r, c):
    mat[r, c] = 1 - mat[r, c]
    if r >= 1:
        mat[r-1, c] = 1 - mat[r-1, c]
    if c >= 1:
        mat[r, c-1] = 1 - mat[r, c-1]
    if r + 1 < N:
        mat[r+1, c] = 1 - mat[r+1, c]
    if c + 1 < N:
        mat[r, c+1] = 1 - mat[r, c+1]

data = [np.mat(np.zeros((N, N))) for _ in range(N * N)]
for idx in range(N * N):
    r = idx // N
    c = idx % N
    flip_mat(data[idx], r, c)

A = np.mat(np.zeros((N * N, N * N)))
for idx in range(N * N):
    for r in range(N):
        for c in range(N):
            A[r * N + c, idx] = data[idx][r,c]

print(A)

B = inv(A)
print(B)


[[ 1.  1.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 1.  1.  1.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  1.  1.  1.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  1.  1.  1.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  1.  1.  0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 1.  0.  0.  0.  0.  1.  1.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  1.  0.  0.  0.  1.  1.  1.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  1.  0.  0.  0.  1.  1.  1.  0.  0.  0.  1.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  1.  0.  0.  0.  1.  1.  1.  0.  0.  0.  1.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  1.  0.  0.  0.  1.  1.  0.  0.  0.  0.  1.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  1.  0.  0.  0.  0.  1.  1.  0.  0.  0.  1.  0.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  1.  1.  1.  0.  0.  0.  1.  0.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  1.  1.  1.  0.  0.  0.  1.
   0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  1.  1.  1.  0.  0.  0.
   1.  0.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  1.  1.  0.  0.  0.
   0.  1.  0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  0.  1.  1.  0.
   0.  0.  1.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  1.  1.  1.
   0.  0.  0.  1.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  1.  1.
   1.  0.  0.  0.  1.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  1.
   1.  1.  0.  0.  0.  1.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.
   1.  1.  0.  0.  0.  0.  1.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.
   0.  0.  1.  1.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.
   0.  0.  1.  1.  1.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.
   0.  0.  0.  1.  1.  1.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
   1.  0.  0.  0.  1.  1.  1.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
   0.  1.  0.  0.  0.  1.  1.]]
[[  2.50000000e+00  -9.00719925e+15   9.00719925e+15   9.00719925e+15
   -1.80143985e+16   9.00719925e+15   3.25757576e-01  -9.00719925e+15
    1.24242424e+00   9.00719925e+15  -9.00719925e+15   9.00719925e+15
    4.54545455e-02  -9.00719925e+15   9.00719925e+15  -9.00719925e+15
   -1.75757576e+00   9.00719925e+15  -9.24242424e-01  -9.00719925e+15
    1.80143985e+16  -9.00719925e+15  -9.00719925e+15   9.00719925e+15
    1.00000000e+00]
 [ -4.50359963e+15   6.75539944e+15  -2.25179981e+15  -6.75539944e+15
    9.00719925e+15  -2.25179981e+15  -2.87878788e-01   2.25179981e+15
   -4.64962121e-01  -2.25179981e+15   6.75539944e+15  -6.75539944e+15
   -2.72727273e-01   6.75539944e+15  -6.75539944e+15   2.25179981e+15
    8.47537879e-01  -2.25179981e+15   4.62121212e-01   2.25179981e+15
   -9.00719925e+15   6.75539944e+15   2.25179981e+15  -6.75539944e+15
    4.50359963e+15]
 [  4.50359963e+15   2.25179981e+15  -6.75539944e+15  -2.25179981e+15
    9.00719925e+15  -6.75539944e+15  -7.34848485e-01   6.75539944e+15
   -8.07765152e-01  -6.75539944e+15   2.25179981e+15  -2.25179981e+15
    4.09090909e-01   2.25179981e+15  -2.25179981e+15   6.75539944e+15
    8.79734848e-01  -6.75539944e+15   7.65151515e-01   6.75539944e+15
   -9.00719925e+15   2.25179981e+15   6.75539944e+15  -2.25179981e+15
   -4.50359963e+15]
 [  4.50359963e+15  -6.75539944e+15   2.25179981e+15   6.75539944e+15
   -9.00719925e+15   2.25179981e+15   8.33333333e-01  -2.25179981e+15
    1.01041667e+00   2.25179981e+15  -6.75539944e+15   6.75539944e+15
    1.11022302e-16  -6.75539944e+15   6.75539944e+15  -2.25179981e+15
   -1.30208333e+00   2.25179981e+15  -9.16666667e-01  -2.25179981e+15
    9.00719925e+15  -6.75539944e+15  -2.25179981e+15   6.75539944e+15
   -4.50359963e+15]
 [ -9.00719925e+15   4.50359963e+15   4.50359963e+15  -4.50359963e+15
   -7.00000000e+00   4.50359963e+15  -1.28787879e-01  -4.50359963e+15
   -8.99621212e-01   4.50359963e+15   4.50359963e+15  -4.50359963e+15
   -2.27272727e-01   4.50359963e+15  -4.50359963e+15  -4.50359963e+15
    7.25378788e-01   4.50359963e+15   1.21212121e-01  -4.50359963e+15
    7.00000000e+00   4.50359963e+15  -4.50359963e+15  -4.50359963e+15
    9.00719925e+15]
 [  4.50359963e+15   2.25179981e+15  -6.75539944e+15  -2.25179981e+15
    9.00719925e+15  -6.75539944e+15  -3.78787879e-02   6.75539944e+15
   -7.77462121e-01  -6.75539944e+15   2.25179981e+15  -2.25179981e+15
    2.27272727e-01   2.25179981e+15  -2.25179981e+15   6.75539944e+15
    9.10037879e-01  -6.75539944e+15   4.62121212e-01   6.75539944e+15
   -9.00719925e+15   2.25179981e+15   6.75539944e+15  -2.25179981e+15
   -4.50359963e+15]
 [ -1.83333333e+00  -5.00000000e-01   3.33333333e-01   0.00000000e+00
    0.00000000e+00  -3.33333333e-01   6.96969697e-01   3.33333333e-01
    3.03030303e-02   6.66666667e-01  -5.00000000e-01   5.00000000e-01
   -1.81818182e-01  -6.66666667e-01   0.00000000e+00   1.00000000e+00
    3.03030303e-02  -6.66666667e-01  -3.03030303e-01   0.00000000e+00
    0.00000000e+00   1.33333333e+00   1.00000000e+00  -3.33333333e-01
    1.00000000e+00]
 [ -4.50359963e+15  -2.25179981e+15   6.75539944e+15   2.25179981e+15
   -9.00719925e+15   6.75539944e+15   1.89393939e-01  -6.75539944e+15
    2.62310606e-01   6.75539944e+15  -2.25179981e+15   2.25179981e+15
   -1.36363636e-01  -2.25179981e+15   2.25179981e+15  -6.75539944e+15
   -4.25189394e-01   6.75539944e+15  -3.10606061e-01  -6.75539944e+15
    9.00719925e+15  -2.25179981e+15  -6.75539944e+15   2.25179981e+15
    4.50359963e+15]
 [ -3.00000000e-01   6.00000000e-01  -3.00000000e-01   0.00000000e+00
    0.00000000e+00   7.50000000e-01   3.03030303e-02  -9.00000000e-01
    6.96969697e-01   9.00000000e-01   6.75000000e-01   0.00000000e+00
   -1.81818182e-01  -7.50000000e-02  -6.00000000e-01   4.50000000e-01
   -3.03030303e-01   9.00000000e-01   3.03030303e-02   4.50000000e-01
   -3.00000000e-01  -9.00000000e-01   7.50000000e-01  -2.25000000e-01
    1.50000000e-01]
 [  4.50359963e+15   2.25179981e+15  -6.75539944e+15  -2.25179981e+15
    9.00719925e+15  -6.75539944e+15  -7.04545455e-01   6.75539944e+15
   -1.10795455e-01  -6.75539944e+15   2.25179981e+15  -2.25179981e+15
    2.27272727e-01   2.25179981e+15  -2.25179981e+15   6.75539944e+15
    5.76704545e-01  -6.75539944e+15   7.95454545e-01   6.75539944e+15
   -9.00719925e+15   2.25179981e+15   6.75539944e+15  -2.25179981e+15
   -4.50359963e+15]
 [ -4.50359963e+15   6.75539944e+15  -2.25179981e+15  -6.75539944e+15
    9.00719925e+15  -2.25179981e+15  -9.84848485e-01   2.25179981e+15
   -4.95265152e-01  -2.25179981e+15   6.75539944e+15  -6.75539944e+15
   -9.09090909e-02   6.75539944e+15  -6.75539944e+15   2.25179981e+15
    8.17234848e-01  -2.25179981e+15   7.65151515e-01   2.25179981e+15
   -9.00719925e+15   6.75539944e+15   2.25179981e+15  -6.75539944e+15
    4.50359963e+15]
 [  4.50359963e+15  -6.75539944e+15   2.25179981e+15   6.75539944e+15
   -9.00719925e+15   2.25179981e+15   4.39393939e-01  -2.25179981e+15
    9.49810606e-01   2.25179981e+15  -6.75539944e+15   6.75539944e+15
    3.63636364e-01  -6.75539944e+15   6.75539944e+15  -2.25179981e+15
   -1.36268939e+00   2.25179981e+15  -3.10606061e-01  -2.25179981e+15
    9.00719925e+15  -6.75539944e+15  -2.25179981e+15   6.75539944e+15
   -4.50359963e+15]
 [  0.00000000e+00  -5.55555556e-01   6.94444444e-01  -1.11111111e+00
    5.55555556e-01  -5.55555556e-01  -1.81818182e-01  -1.38888889e-01
   -1.81818182e-01   4.16666667e-01  -5.55555556e-01   1.11111111e+00
    9.09090909e-02  -5.55555556e-01   0.00000000e+00   4.16666667e-01
   -1.81818182e-01   0.00000000e+00  -1.81818182e-01  -4.16666667e-01
    0.00000000e+00   1.11111111e+00   4.16666667e-01   0.00000000e+00
    8.33333333e-01]
 [ -4.50359963e+15   6.75539944e+15  -2.25179981e+15  -6.75539944e+15
    9.00719925e+15  -2.25179981e+15  -3.48484848e-01   2.25179981e+15
   -8.58901515e-01  -2.25179981e+15   6.75539944e+15  -6.75539944e+15
    9.09090909e-02   6.75539944e+15  -6.75539944e+15   2.25179981e+15
    1.45359848e+00  -2.25179981e+15   4.01515152e-01   2.25179981e+15
   -9.00719925e+15   6.75539944e+15   2.25179981e+15  -6.75539944e+15
    4.50359963e+15]
 [  4.50359963e+15  -6.75539944e+15   2.25179981e+15   6.75539944e+15
   -9.00719925e+15   2.25179981e+15   8.03030303e-01  -2.25179981e+15
    3.13446970e-01   2.25179981e+15  -6.75539944e+15   6.75539944e+15
    1.81818182e-01  -6.75539944e+15   6.75539944e+15  -2.25179981e+15
   -9.99053030e-01   2.25179981e+15  -9.46969697e-01  -2.25179981e+15
    9.00719925e+15  -6.75539944e+15  -2.25179981e+15   6.75539944e+15
   -4.50359963e+15]
 [ -4.50359963e+15  -2.25179981e+15   6.75539944e+15   2.25179981e+15
   -9.00719925e+15   6.75539944e+15   5.83333333e-01  -6.75539944e+15
    3.22916667e-01   6.75539944e+15  -2.25179981e+15   2.25179981e+15
   -5.00000000e-01  -2.25179981e+15   2.25179981e+15  -6.75539944e+15
   -3.64583333e-01   6.75539944e+15  -9.16666667e-01  -6.75539944e+15
    9.00719925e+15  -2.25179981e+15  -6.75539944e+15   2.25179981e+15
    4.50359963e+15]
 [  8.33333333e-01  -9.16666667e-01  -6.66666667e-01   1.08333333e+00
   -0.00000000e+00  -1.33333333e+00   3.03030303e-02   2.00000000e+00
   -3.03030303e-01  -1.33333333e+00  -5.00000000e-01   6.66666667e-01
   -1.81818182e-01  -6.66666667e-01   1.16666667e+00   3.33333333e-01
    6.96969697e-01  -2.00000000e+00   3.03030303e-02  -0.00000000e+00
   -3.33333333e-01  -7.50000000e-01  -1.00000000e+00   5.83333333e-01
   -3.33333333e-01]
 [  4.50359963e+15   2.25179981e+15  -6.75539944e+15  -2.25179981e+15
    9.00719925e+15  -6.75539944e+15  -9.84848485e-02   6.75539944e+15
   -1.71401515e-01  -6.75539944e+15   2.25179981e+15  -2.25179981e+15
    5.90909091e-01   2.25179981e+15  -2.25179981e+15   6.75539944e+15
    5.16098485e-01  -6.75539944e+15   4.01515152e-01   6.75539944e+15
   -9.00719925e+15   2.25179981e+15   6.75539944e+15  -2.25179981e+15
   -4.50359963e+15]
 [  1.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00
    0.00000000e+00   0.00000000e+00  -3.03030303e-01   0.00000000e+00
    3.03030303e-02  -2.00000000e+00  -1.00000000e+00   1.00000000e+00
   -1.81818182e-01  -1.00000000e+00   0.00000000e+00  -2.00000000e+00
    3.03030303e-02   0.00000000e+00   6.96969697e-01   0.00000000e+00
    0.00000000e+00   0.00000000e+00  -1.00000000e+00   0.00000000e+00
   -1.00000000e+00]
 [ -4.50359963e+15  -2.25179981e+15   6.75539944e+15   2.25179981e+15
   -9.00719925e+15   6.75539944e+15   2.50000000e-01  -6.75539944e+15
    6.56250000e-01   6.75539944e+15  -2.25179981e+15   2.25179981e+15
   -5.00000000e-01  -2.25179981e+15   2.25179981e+15  -6.75539944e+15
   -1.03125000e+00   6.75539944e+15  -2.50000000e-01  -6.75539944e+15
    9.00719925e+15  -2.25179981e+15  -6.75539944e+15   2.25179981e+15
    4.50359963e+15]
 [  9.00719925e+15  -4.50359963e+15  -4.50359963e+15   4.50359963e+15
    4.86486486e+00  -4.50359963e+15   3.71212121e-01   4.50359963e+15
    4.75378788e-01  -4.50359963e+15  -4.50359963e+15   4.50359963e+15
    7.72727273e-01  -4.50359963e+15   4.50359963e+15   4.50359963e+15
   -1.14962121e+00  -4.50359963e+15   1.21212121e-01   4.50359963e+15
   -4.86486486e+00  -4.50359963e+15   4.50359963e+15   4.50359963e+15
   -9.00719925e+15]
 [ -4.50359963e+15   6.75539944e+15  -2.25179981e+15  -6.75539944e+15
    9.00719925e+15  -2.25179981e+15  -9.54545455e-01   2.25179981e+15
   -7.98295455e-01  -2.25179981e+15   6.75539944e+15  -6.75539944e+15
   -2.72727273e-01   6.75539944e+15  -6.75539944e+15   2.25179981e+15
    1.51420455e+00  -2.25179981e+15   7.95454545e-01   2.25179981e+15
   -9.00719925e+15   6.75539944e+15   2.25179981e+15  -6.75539944e+15
    4.50359963e+15]
 [ -4.50359963e+15  -2.25179981e+15   6.75539944e+15   2.25179981e+15
   -9.00719925e+15   6.75539944e+15   5.53030303e-01  -6.75539944e+15
    6.25946970e-01   6.75539944e+15  -2.25179981e+15   2.25179981e+15
   -3.18181818e-01  -2.25179981e+15   2.25179981e+15  -6.75539944e+15
   -1.06155303e+00   6.75539944e+15  -9.46969697e-01  -6.75539944e+15
    9.00719925e+15  -2.25179981e+15  -6.75539944e+15   2.25179981e+15
    4.50359963e+15]
 [  4.50359963e+15  -6.75539944e+15   2.25179981e+15   6.75539944e+15
   -9.00719925e+15   2.25179981e+15   5.00000000e-01  -2.25179981e+15
    3.43750000e-01   2.25179981e+15  -6.75539944e+15   6.75539944e+15
   -0.00000000e+00  -6.75539944e+15   6.75539944e+15  -2.25179981e+15
   -9.68750000e-01   2.25179981e+15  -2.50000000e-01  -2.25179981e+15
    9.00719925e+15  -6.75539944e+15  -2.25179981e+15   6.75539944e+15
   -4.50359963e+15]
 [ -1.00000000e+00   9.00719925e+15  -9.00719925e+15  -9.00719925e+15
    1.80143985e+16  -9.00719925e+15  -7.50000000e-01   9.00719925e+15
   -1.00000000e+00  -9.00719925e+15   9.00719925e+15  -9.00719925e+15
    5.00000000e-01   9.00719925e+15  -9.00719925e+15   9.00719925e+15
    2.00000000e+00  -9.00719925e+15   5.00000000e-01   9.00719925e+15
   -1.80143985e+16   9.00719925e+15   9.00719925e+15  -9.00719925e+15
   -0.00000000e+00]]

In [ ]: