2019-05-05 19:50:21 -0500 received badge ● Good Question (source) 2019-02-25 11:18:29 -0500 received badge ● Nice Question (source) 2019-02-25 10:55:05 -0500 received badge ● Student (source) 2019-02-25 10:39:36 -0500 asked a question Strange matrix product When I enter A = matrix([[1, 2], [-1, 0], [1, 1]]) B = matrix([[0, 4], [1, -1], [1, 2]]) A*B  I get an error message, as expected. But when I enter A = matrix(QQ, [[1, 2], [-1, 0], [1, 1]]) B = matrix(QQ, [[0, 4], [1, -1], [1, 2]]) A*B  I get the output [ 1 0] [ 1 -2] [ 1 3]  However, if I try A = matrix(QQ, [[1, 2], [-1, 0], [1, 1]]) B = matrix(QQ, [[0, 4], [1, -1], [1, 2], [2, 2]]) A*B  I get an error message. In all of the examples I try, Sage will give some output for a matrix product of two matrices of the same size as long as the field QQ is specified for at least one of the matrices. I’ve searched online and haven’t found anything to help me understand this. This will be problematic for my students who might draw the conclusion that the standard matrix product is defined when it really isn't. Can anyone help me understand this? 2019-02-25 10:39:36 -0500 asked a question Strange matrix multiplication When I enter A=matrix([[1,2],[-1,0],[1,1]]) B=matrix([[0,4],[1,-1],[1,2]]) A*B I get an error message, as expected. But when I enter A=matrix(QQ,[[1,2],[-1,0],[1,1]]) B=matrix(QQ,[[0,4],[1,-1],[1,2]]) A*B I get the output [ 1 0] [ 1 -2] [ 1 3] However, if I try A=matrix(QQ,[[1,2],[-1,0],[1,1]]) B=matrix(QQ,[[0,4],[1,-1],[1,2],[2,2]]) A*B I get an error message. In all of the examples I try, Sage will give some output for a matrix product of two matrices of the same size as long as the field QQ is specified for at least one of the matrices. I’ve searched online and haven’t found anything to help me understand this. Can someone help me understand what Sage is doing?