I have used the below code
English is not my mother language, but as far as I know "transpose a matrix" means something like "mirroring".
So if you have initially a 4x3 maxtrix, you will have a 3x4 matrix after transposing.
I don't know anything about the magic that is done by the library you are using, but perhaps after transposing the matrix you might have to reverse the maxtrix dimensions in the Matrix.Print function.
Just a guess:
Matrix.Print((float *)jaco,4,3,"jacotran"); // matrix before transposing
Matrix.Print((float *)jaco,3,4,"jacotran"); // matrix after transposing
Did you already try that?