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 .