An improved generalized conjugate residual squared (IGCRS2) algorithm suitable for distributed parallel computing