1 | initial version |

You are not defining a block matrix, but a 2 by 2 matrix whose entries are 2 by 2 martices over the symbolic ring. Indeed:

```
sage: MQ.parent()
Full MatrixSpace of 2 by 2 dense matrices over Symbolic Ring
```

Moreover, there is a kind of contradiction, since you ask the base ring to be `SR`

but your entries are in the set of 2 by 2 martices over `SR`

.

To define a block matrix (so that sage understands that it is a 4 by 4 matrix over `SR`

), you should do:

```
sage: MQ=matrix.block(2,2,[mq, mq, mq, mq])
sage: MQ
[a b|a b]
[c d|c d]
[---+---]
[a b|a b]
[c d|c d]
sage: MQ.parent()
Full MatrixSpace of 4 by 4 dense matrices over Symbolic Ring
sage: MQ.det()
0
```

That said, the `.det()`

method should work here as well for the 2 matrix whose entries are 2 by 2 martices over the symbolic ring, but Sage .

2 | No.2 Revision |

You are not defining a block matrix, but a 2 by 2 matrix whose entries are 2 by 2 martices over the symbolic ring. Indeed:

```
sage: MQ.parent()
Full MatrixSpace of 2 by 2 dense matrices over Symbolic Ring
```

Moreover, there is a kind of contradiction, since you ask the base ring to be `SR`

but your entries are in the set of 2 by 2 martices over `SR`

~~.~~

```
sage: MQ=matrix(2, 2, [mq, mq, mq, mq])
sage: MQ.parent()
Full MatrixSpace of 2 by 2 dense matrices over Full MatrixSpace of 2 by 2 dense matrices over Symbolic Ring
sage: MQ.det()
[0 0]
[0 0]
```

To define a block matrix (so that sage understands that it is a 4 by 4 matrix over `SR`

), you should do:

```
sage: MQ=matrix.block(2,2,[mq, mq, mq, mq])
sage: MQ
[a b|a b]
[c d|c d]
[---+---]
[a b|a b]
[c d|c d]
sage: MQ.parent()
Full MatrixSpace of 4 by 4 dense matrices over Symbolic Ring
sage: MQ.det()
0
```

That said, the `.det()`

method should work here as well for the 2 matrix whose entries are 2 by 2 martices over the symbolic ring, but Sage .

3 | No.3 Revision |

You are not defining a block matrix, but a 2 by 2 matrix whose entries are 2 by 2 martices over the symbolic ring. Indeed:

```
sage: MQ.parent()
Full MatrixSpace of 2 by 2 dense matrices over Symbolic Ring
```

Moreover, there is a kind of contradiction, since you ask the base ring to be `SR`

but your entries are in the set of 2 by 2 martices over `SR`

. If you remove this contradiction, you get:

```
sage: MQ=matrix(2, 2, [mq, mq, mq, mq])
sage: MQ.parent()
Full MatrixSpace of 2 by 2 dense matrices over Full MatrixSpace of 2 by 2 dense matrices over Symbolic Ring
sage: MQ.det()
[0 0]
[0 0]
```

To define a block matrix (so that sage understands that it is a 4 by 4 matrix over `SR`

), you should do:

```
sage: MQ=matrix.block(2,2,[mq, mq, mq, mq])
sage: MQ
[a b|a b]
[c d|c d]
[---+---]
[a b|a b]
[c d|c d]
sage: MQ.parent()
Full MatrixSpace of 4 by 4 dense matrices over Symbolic Ring
sage: MQ.det()
0
```

That said, the `.det()`

method should work here as well for the 2 matrix whose entries are 2 by 2 martices over the symbolic ring, but Sage .

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.