Question: symbolic operations with arbitrary matrices

Hi all! 
Is there any possibility in Maple to perform symbolic operations with arbitrary matrices (possibly given only the size of the matrix or it's structure (block matrices, diagonal matrix and so on)). For example, I would like to obtain the following results (input -> output). 

Possible code: 

assume(A, Matrix(n)): assume(B, Matrix): assume(E,IdentityMatrix(n)): 

expand((A.B)^(-1)); -> B^(-1).A^(-1) 
expand((A^2.B)'); -> B'.(A')^2 # A' is transpose 
factor(B.A+A); -> (B+E).A 
combine(A^(-1).B^(-1).C^(-2)); -> (C^2.B.A)^(-1) 

and so on. 

Thank you. 

Please Wait...