Hi I'm currently trying to implement a templated library for matrices, so I'm implementing some operations like the transpose() operations.

I'd also like that the matrices returned by the operators, like transpose, to share the data with the original matrix.

Example:

```
matrix <int> x(3,3);
x.transpose() [2][1] = 42;

```

then if i read `x[1][2]` must be `42`.

Any ideas from where could I start?.

Thanks in advance