| 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.