How to move an object when the transformation is known

Suppose that I want to move an object and that I know the geometrical transformation f and the matrix M corresponding to f. How to move the object ?

I have tried with matrices without success (see the other thread around) and I open this new thread to find out a solution without matrices.

If the transformation f is an isometry, I suppose I can do this easily : I decompose f using a rotation and a translation (thanks to M.decompose()) and I use the operators of translation and rotations in bpy.ops.

If f is not an isometry, I only have a very complicated solution : decompose f as f=gh, where g=translation and h(0)=0. Then decompose h using the polar decompostion as h=km with k=isometry and m=an application with m symmetric definite positive. Finally, diagonalize m, find the eigen vectors and the eigenvalues. Then m is represented by scale matrices using the eigenvectors and the eigenvalues, and g and h are rotation and translation treated as above.

Obviously, this is a lot of work: because M.decompose() computes only the eigenvalues of the scale, not the eigenvectors, we have to use extra libraries out of blender, and reconstruct the scale matrix by hand.

I suppose there is a simpler solution to move my object when f,M are known. What is this solution ?