home
Home
Modeling Languages
    ModelingToolkitCatalystNBodySimulatorParameterizedFunctionsProcessSimulatorMomentClosure
Model Libraries and Importers
    ModelingToolkitStandardLibraryModelingToolkitNeuralNetsDiffEqCallbacksFiniteStateProjectionCellMLToolkitSBMLToolkitBaseModelicaAudioPluginsReactionNetworkImportersDiffEqPhysicsDiffEqFinancialPubChemPyomoMathML
Symbolic Tools
    ModelOrderReductionSymbolicsSymbolicUtilsSymbolicIntegrationSymbolicSMTSymbolicLimitsSymbolicAnalysisFunctionProperties
Array Libraries
    RecursiveArrayToolsComponentArraysLabelledArraysMultiScaleArrays
Equation Solvers
    LinearSolveNonlinearSolveDifferentialEquationsIntegralsDifferenceEquationsOptimizationJumpProcessesLineSearchEvolutionaryNeuralLinearSolveCorleone
Inverse Problems / Estimation
    CurveFitSciMLSensitivityDiffEqParamEstimDiffEqBayes
PDE Solvers
    MethodOfLinesNeuralPDENeuralOperatorsFEniCSHighDimPDEDiffEqOperatorsFiniteVolumeMethodFiniteVolumeMethod1DPDEBase
Advanced Solver APIs
    OrdinaryDiffEqBoundaryValueDiffEqDiffEqGPUSteadyStateDiffEqOrdinaryDiffEqOperatorSplittingIRKGaussLegendreMATLABDiffEqQuantumNLDiffEq
Parameter Analysis
    EasyModelAnalysisGlobalSensitivityStructuralIdentifiabilityMinimallyDisruptiveCurvesCatalystNetworkAnalysis
Third-Party Parameter Analysis
    BifurcationKit
Uncertainty Quantification
    PolyChaosSciMLExpectationsOptimalUncertaintyQuantification
Function Approximation
    SurrogatesReservoirComputing
Implicit Layer Deep Learning
    DiffEqFluxDeepEquilibriumNetworksNeuralLyapunov
Symbolic Learning
    DataDrivenDiffEqSymbolicNumericIntegration
Third-Party Differentiation Tooling
    SparseDiffToolsFiniteDiff
Numerical Utilities
    ExponentialUtilitiesDiffEqNoiseProcessPreallocationToolsEllipsisNotationDataInterpolationsDataInterpolationsNDPoissonRandomQuasiMonteCarloRuntimeGeneratedFunctionsMuladdMacroFindFirstFunctionsSparseDiffToolsBipartiteGraphsFastAlmostBandedMatricesFastBroadcastFunctionWrappersWrappersLHLFactorizationLightweightStatsPureGebalPureKLUPureUMFPACKRootedTreesSparseBandedMatricesRespecializeParamsConcreteStructs
High-Level Interfaces
    SciMLBaseSciMLStructuresSciMLLoggingADTypesSymbolicIndexingInterfaceTermInterfaceSciMLOperatorsSurrogatesBaseCommonSolveSciMLIteratorsStatic
Third-Party Interfaces
    ArrayInterfaceStaticArrayInterface
Developer Documentation
    SciMLStyleColPracDiffEq Developer DocumentationOrgMaintenanceScripts
Extra Resources
    SciMLWorkshopExtended SciML TutorialsThe SciML BenchmarksModelingToolkitCourse
Commercial Support
    JuliaHub logo - contact sales today!

    JuliaHub offers commercial support for ModelingToolkit and the SciML ecosystem. Contact us today to discuss your needs!
Products built with SciML
  • Dyad
  • Pumas
  • Cedar EDA
  • Neuroblox
  • Planting Space
    /
    NonlinearSolve.jl logo
    NonlinearSolve.jl
    • NonlinearSolve.jl: High-Performance Unified Nonlinear Solvers
    • Getting Started with Nonlinear Rootfinding in Julia
    • Tutorials
      • Solving Nonlinear Problems with Bound Constraints
      • Nonlinear Preconditioning and Iterate Limiting (PCNR)
      • Code Optimization for Small Nonlinear Systems in Julia
      • Efficiently Solving Large Sparse Ill-Conditioned Nonlinear Systems in Julia
      • Symbolic Nonlinear System Definition and Acceleration via ModelingToolkit
      • Faster Startup and and Static Compilation
      • Nonlinear Solver Iterator Interface
      • Optimizing a Parameterized ODE
      • Accelerated Rootfinding on GPUs
      • PETSc SNES Example 2
    • Basics
      • Nonlinear Problems
      • Nonlinear Functions and Jacobian Types
      • Common Solver Options (Solve Keyword Arguments)
      • Nonlinear Solutions
      • Automatic Differentiation Backends
      • Termination Conditions
      • Diagnostics API
      • (Semi-)Automatic Sparsity Detection
      • Frequently Asked Questions
      • Controlling Solver Verbosity
    • Solver Summaries and Recommendations
      • Nonlinear System Solvers
      • Interval Root-Finding Methods (Bracketing Solvers)
      • Steady State Solvers
      • Nonlinear Least Squares Solvers
      • Bounded Solvers
      • Fixed Point Solvers
    • Native Functionalities
      • NonlinearSolve.jl Solvers
      • SimpleNonlinearSolve.jl
      • BracketingNonlinearSolve.jl
      • SteadyStateDiffEq.jl
      • Descent Subroutines
      • Globalization Subroutines
      • Diagnostics API
    • Wrapped Solver APIs
      • FastLevenbergMarquardt.jl
      • FixedPointAcceleration.jl
      • LeastSquaresOptim.jl
      • MINPACK.jl
      • NLsolve.jl
      • NLSolvers.jl
      • PETSc.jl
      • SciPy
      • SIAMFANLEquations.jl
      • SpeedMapping.jl
      • Sundials.jl
      • HomotopyContinuation.jl
    • Sub-Packages
      • SciMLJacobianOperators.jl
    • Development Documentation
      • Internal Abstract Types
      • Termination Cache API
      • Linear Solve
      • Jacobian Wrappers
      • Custom SciML Operators
        • Low-Rank Jacobian Operators
      • Internal Algorithm Helpers
    • Release Notes
    • References
    Version
    • Development Documentation
    • Custom SciML Operators
    • Custom SciML Operators
    GitHub

    Custom SciML Operators

    Low-Rank Jacobian Operators

    NonlinearSolveQuasiNewton.BroydenLowRankJacobian — Type
    BroydenLowRankJacobian{T}(U, Vᵀ, idx, cache, alpha)

    Low Rank Approximation of the inverse Jacobian. Currently only used for LimitedMemoryBroyden. This computes the inverse Jacobian as $\alpha I + U \times V^T$, matching the $\alpha I$ seed IdentityInitialization hands the other quasi-Newton methods after inversion.

    source
    « Jacobian WrappersInternal Algorithm Helpers »

    Powered by Documenter.jl and the Julia Programming Language.

    Settings


    This document was generated with Documenter.jl version 1.19.0 on Wednesday 23 September 2026. Using Julia version 1.13.0.