Add functions to create transposed matrices to cppppetsc
PETSc supports two types of creating transposed matrices:
- Creating a transposed matrix by computing the elements: https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatTranspose.html
- Creating a matrix that behaves like the transposed matrix: https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateTranspose.html