The conjugate gradient (CG) method is one of the best linear equation solving method. It was originally limited to specific linear systems. In order to overcome this difficulty, many kinds of CG variants have benn created: