1 | initial version |

So you have a matrix equation over $GF(2)$ of the form $${\bf M}x = {\bf 0},$$ where $M$ is an $m\times n$ matrix. The solutions to this equation form the (right) kernel of $M$, which forms a linear subspace in $GF(2)^n$.

In Sage, the kernel can be computed with function `.right_kernel()`

- like in the example below:

```
sage: M = matrix(GF(2), [[1, 0, 1, 1], [1, 0, 0, 1]])
sage: K = M.right_kernel()
sage: K
Vector space of degree 4 and dimension 2 over Finite Field of size 2
Basis matrix:
[1 0 0 1]
[0 1 0 0]
sage: list(K)
[(0, 0, 0, 0), (1, 0, 0, 1), (0, 1, 0, 0), (1, 1, 0, 1)]
```

In this example, the kernel $K$ of $M$ is spanned by two vectors. So, $K$ is composed of $2^2$ vectors, including the zero vector.

2 | No.2 Revision |

So you have a matrix equation over $GF(2)$ of the form $${\bf M}x = {\bf 0},$$ where $M$ is an $m\times n$ matrix. The solutions to this equation form the (right) kernel of $M$, which ~~forms ~~is a linear subspace ~~in ~~of $GF(2)^n$.

In Sage, the kernel can be computed with function `.right_kernel()`

- like in the example below:

```
sage: M = matrix(GF(2), [[1, 0, 1, 1], [1, 0, 0, 1]])
sage: K = M.right_kernel()
sage: K
Vector space of degree 4 and dimension 2 over Finite Field of size 2
Basis matrix:
[1 0 0 1]
[0 1 0 0]
sage: list(K)
[(0, 0, 0, 0), (1, 0, 0, 1), (0, 1, 0, 0), (1, 1, 0, 1)]
```

In this example, the kernel $K$ of $M$ is spanned by two vectors. So, $K$ is composed of $2^2$ vectors, including the zero vector.

3 | No.3 Revision |

So you have a matrix equation over $GF(2)$ of the form $${\bf M}x = {\bf 0},$$ where $M$ is an $m\times n$ matrix. The solutions to this equation form the (right) kernel of $M$, which is a linear subspace of $GF(2)^n$.

In Sage, the kernel can be computed with function `.right_kernel()`

- like in the example below:

```
sage: M = matrix(GF(2), [[1, 0, 1, 1], [1, 0, 0, 1]])
sage: K = M.right_kernel()
sage: K
Vector space of degree 4 and dimension 2 over Finite Field of size 2
Basis matrix:
[1 0 0 1]
[0 1 0 0]
sage: list(K)
[(0, 0, 0, 0), (1, 0, 0, 1), (0, 1, 0, 0), (1, 1, 0, 1)]
```

In this example, the kernel $K$ of $M$ is spanned by two vectors. So, $K$ is composed of ~~$2^2$ ~~$2^2=4$ vectors, including the zero vector.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.