# Is there an easy way to remove scale from a squared linear transformation matrix

Given a linear transformation matrix $$A = \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \\ \end{bmatrix}$$, I know that one can use SVD or QR decomposition to find the anisotropic scale $$S = \begin{bmatrix} s_1 & 0 & 0 \\ 0 & s_2 & 0 \\ 0 & 0 & s_3 \\ \end{bmatrix}$$. But, these non-linear methods are very ugly to be used in an optimization framework. Is there a way to decompose(remove) the scale out of $$A$$?