def _eval_transpose(self): # Flip all the individual matrices matrices = [transpose(matrix) for matrix in self.blocks] # Make a copy M = Matrix(self.blockshape[0], self.blockshape[1], matrices) # Transpose the block structure M = M.transpose() return BlockMatrix(M)
def _eval_conjugate(self): return transpose(self.arg)
def _eval_transpose(self): return MatMul(*[transpose(arg) for arg in self.args[::-1]]).doit()
def _eval_transpose(self): return MatAdd(*[transpose(arg) for arg in self.args]).doit()
def transpose(self): from diofant.matrices.expressions.transpose import transpose return transpose(self)