The Approximate Joint Diagonalization (AJD) of a set of target matrices,which are related to the observed signals in Blind Source Separation (BSS),provides an effective method for BSS.A non-orthogonal loop optimization based joint diagonalization algorithm was proposed.Two functions to be optimized were the sum of off-diagonal elements and diagonal elements of the diagonalized matrices,respectively.The diagonalizer was obtained by loop maximization and minimization of these two functions.Simulation experiments showed that the proposed method can achieve better blind source separation effect.