pymor.solvers.newton

Module Contents

class pymor.solvers.newton.NewtonSolver(range_product=None, source_product=None, miniter=0, maxiter=100, atol=0.0, rtol=1e-07, relax='armijo', line_search_params=None, stagnation_window=3, stagnation_threshold=np.inf, error_measure='update', jacobian_solver=None, return_stages=False, return_residuals=False)[source]

Bases: pymor.solvers.interface.Solver

Newton algorithm.

Parameters:
  • range_product – The inner product with which the norm of the residual is computed. If None, the Euclidean inner product is used.

  • source_product – The inner product with which the norm of the solution and update vectors is computed. If None, the Euclidean inner product is used.

  • miniter – Minimum amount of iterations to perform.

  • maxiter – Fail if the iteration count reaches this value without converging.

  • atol – Finish when the error measure is below this threshold.

  • rtol – Finish when the error measure has been reduced by this factor relative to the norm of the initial residual resp. the norm of the current solution.

  • relax – If real valued, relaxation factor for Newton updates; otherwise 'armijo' to indicate that the armijo line search algorithm shall be used.

  • line_search_params – Dictionary of additional parameters passed to the line search method.

  • stagnation_window – Finish when the error measure has not been reduced by a factor of stagnation_threshold during the last stagnation_window iterations.

  • stagnation_threshold – See stagnation_window.

  • error_measure – If 'residual', convergence depends on the norm of the residual. If 'update', convergence depends on the norm of the update vector.

  • jacobian_solver – The Solver to use for the linear update equations.

  • return_stages – If True, return a VectorArray of the intermediate approximations of U after each iteration.

  • return_residuals – If True, return a VectorArray of all residual vectors which have been computed during the Newton iterations.

least_squares = False[source]