# Matrix dimensions being symbolic

Is there any way to define a matrix in sage that has variables in place for the dimensions?

For instance, I want M with dimension n by p. I try the code below to illustrate

`sage: var('n p')`

`sage: matrix(nrows=n,ncols=p)`

What sort of things do you want to do with these matrices? Maybe there are other options.

One idea is to do matrix manipulations knowing a common dimension. For instance, if I have an M matrix that is n x n, then one idea is to be able to do matrix manipulation that is available for square matrices (i.e. eigenvalue analysis, inversion, etc.)