1 | initial version |

The integer n = 11053185041 that you are working with is not prime.

Therefore, Z/n is not a field, and (Z/n)^d is not a vector space.

Matrices of size d by d over Z/n act on (Z/n)^d, but what would you mean by the kernel of such a matrix?

In Sage, check if n is prime:

```
sage: n = 11053185041
sage: n.is_prime()
False
```

Define a matrix A like yours.

```
sage: Zn = Zmod(n)
sage: M = MatrixSpace(Zn, 3)
sage: A = M.random_element()
sage: A
[5536663376 7738465479 1500190241]
[3332719788 6363640206 7818018221]
[4113950387 3041564037 4475036832]
```

Observe that the `kernel`

method raises a `NotImplementedError`

.

```
sage: A.kernel()
Traceback (most recent call last)
...
NotImplementedError: Cannot compute a matrix kernel over Ring of integers modulo 11053185041
```

2 | No.2 Revision |

The integer n = 11053185041 that you are working with is not prime.

Therefore, Z/n is not a field, and (Z/n)^d is not a vector space.

Matrices of size d by d over Z/n act on (Z/n)^d, but ~~what would you mean by ~~the kernel method
is not implemented in Sage for such matrices.

The reason is that the kernel might not have a simple structure
(a subspace of ~~such ~~a ~~matrix?~~vector space) in this case.

In Sage, check if n is prime:

```
sage: n = 11053185041
sage: n.is_prime()
False
```

Define a matrix A like yours.

```
sage: Zn = Zmod(n)
sage: M = MatrixSpace(Zn, 3)
sage: A = M.random_element()
sage: A
[5536663376 7738465479 1500190241]
[3332719788 6363640206 7818018221]
[4113950387 3041564037 4475036832]
```

Observe that the `kernel`

method raises a `NotImplementedError`

.

```
sage: A.kernel()
Traceback (most recent call last)
...
NotImplementedError: Cannot compute a matrix kernel over Ring of integers modulo 11053185041
```

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.