Found that G_x matrix is totally wrong.
The SVD process seems not correct with the observation that the eigenvectors are in a very small scale.