def _solve_(self, L, x, b): ## print "L: ", L ## print "b: ", b ## print "x: ", x A = L._getMatrix().to_csr() info, iter, relres = itsolvers.cgs(A, b, x, self.tolerance, self.iterations) ## print info, iter, relres ## y = x.copy() ## L.matvec(x,y) ## print "L * x: ", y self._raiseWarning(info, iter, relres)
x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.qmrs(A, b, x, 1e-6, 1000) print 'qmrs, K_none: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.qmrs(A, b, x, 1e-6, 1000, K_diag) print 'qmrs, K_diag: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.qmrs(A, b, x, 1e-6, 1000, K_jac) print 'qmrs, K_jac: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.qmrs(A, b, x, 1e-6, 1000, K_ssor) print 'qmrs, K_ssor: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.cgs(A, b, x, 1e-6, 1000) print 'cgs, K_none: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.cgs(A, b, x, 1e-6, 1000, K_diag) print 'cgs, K_diag: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.cgs(A, b, x, 1e-6, 1000, K_jac) print 'cgs, K_jac: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.cgs(A, b, x, 1e-6, 1000, K_ssor) print 'cgs, K_ssor: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd') info, iter, relres = itsolvers.bicgstab(A, b, x, 1e-6, 1000) print 'bicgstab, K_none: ', info, iter, relres, resid(A, b, x) x = Numeric.zeros(n, 'd')