Skip to content
 
Documentation pymor.algorithms.line_search
Type to start searching
    • pyMOR v2025.1.0.dev0 Manual
    • API Reference
    • pymor
    • pymor.algorithms
    • Getting Started
    • Available MOR methods
    • Tutorials
    • API Reference
      • pymor
        • Subpackages
          • algorithms
            • Submodules
              • adaptivegreedy
              • basic
              • bernoulli
              • bfgs
              • chol_qr
              • dmd
              • ei
              • eigs
              • error
              • genericsolvers
              • gram_schmidt
              • greedy
              • hapod
              • image
              • krylov
              • lincomb
              • line_search
              • lradi
              • lrradi
              • lyapunov
              • newton
              • pod
              • preassemble
              • projection
              • rand_la
              • riccati
              • rules
              • samdp
              • scm
              • simplify
              • svd_va
              • sylvester
              • symplectic
              • timestepping
              • to_matrix
              • tr
          • analyticalproblems
          • bindings
          • core
          • discretizers
          • models
          • operators
          • parallel
          • parameters
          • reductors
          • scripts
          • tools
          • vectorarrays
        • Submodules
        • Package Contents
      • pymordemos
    • Technical Overview
    • Release Notes
    • Developer Documentation
    • Environment Variables
    • Bibliography

    pymor.algorithms.line_search¶

    Module Contents¶

    pymor.algorithms.line_search.armijo(f, starting_point, direction, grad=None, initial_value=None, alpha_init=1.0, tau=0.5, beta=0.0001, maxiter=10)[source]¶

    Unconstrained Armijo line search algorithm.

    This method computes a step size such that the unconstrained Armijo condition (see [NW06], p. 33) is fulfilled.

    Parameters:
    • f – Real-valued function that can be evaluated for its value.

    • starting_point – A VectorArray of length 1 containing the starting point of the line search.

    • direction – Descent direction along which the line search is performed.

    • grad – Gradient of f in the point starting_point as either a VectorArray or a NumPy array.

    • initial_value – Value of f in the point starting_point.

    • tau – The fraction by which the step size is reduced in each iteration.

    • beta – Control parameter to adjust the required decrease of the function value of f.

    • maxiter – Use alpha_init as default if the iteration count reaches this value without finding a point fulfilling the Armijo condition.

    Returns:

    • alpha – Step size computed according to the Armijo condition.

    • iterations – Number of total Armijo line search iterations.

    pymor.algorithms.line_search.constrained_armijo(f, starting_point, direction, armijo_condition=None, grad=None, initial_value=None, alpha_init=1.0, tau=0.5, beta=0.0001, maxiter=10)[source]¶

    Constrained Armijo line search algorithm.

    This method computes a step size such that the given constrained Armijo condition is fulfilled.

    Parameters:
    • f – Real-valued function that can be evaluated for its value.

    • starting_point – A VectorArray of length 1 containing the starting point of the line search.

    • direction – Descent direction along which the line search is performed.

    • armijo_condition – A callable used as the Armijo termination condition during the step length computation.

    • grad – Gradient of f in the point starting_point as either a VectorArray or a NumPy array.

    • initial_value – Value of f in the point starting_point.

    • tau – The fraction by which the step size is reduced in each iteration.

    • beta – Control parameter to adjust the required decrease of the function value of f.

    • maxiter – Use alpha_init as default if the iteration count reaches this value without finding a point fulfilling the Armijo condition.

    Returns:

    • alpha – Step size computed according to the Armijo condition.

    • iterations – Number of total Armijo line search iterations.

    "Previous" pymor.algorithms.lincomb
    "Next" pymor.algorithms.lradi
    © Copyright pyMOR developers and contributors.
    Last updated on Aug 28, 2025.
    Created using Sphinx 7.3.7. and Material for Sphinx