- Extreme Optimization
- Documentation
- Reference
- Extreme
- Extreme.Collections
- Extreme.Data
- Extreme.Data.Json
- Extreme.Data.Matlab
- Extreme.Data.R
- Extreme.Data.Stata
- Extreme.Data.Text
- Extreme.DataAnalysis
- Extreme.DataAnalysis.Linq
- Extreme.DataAnalysis.Models
- Extreme.Mathematics
- Extreme.Mathematics.Algorithms
- Extreme.Mathematics.Calculus
- Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
- Extreme.Mathematics.Curves
- Extreme.Mathematics.Curves.Nonlinear
- Extreme.Mathematics.Distributed
- Extreme.Mathematics.Distributed.Cuda
- Extreme.Mathematics.EquationSolvers
- Extreme.Mathematics.FSharp
- Extreme.Mathematics.Generic
- Extreme.Mathematics.Generic.LinearAlgebra
- Extreme.Mathematics.Generic.LinearAlgebra.Implementation
- Extreme.Mathematics.Generic.LinearAlgebra.Providers
- Extreme.Mathematics.Generic.SignalProcessing
- Extreme.Mathematics.Implementation
- Extreme.Mathematics.LinearAlgebra
- Extreme.Mathematics.LinearAlgebra.Complex
- Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
- Extreme.Mathematics.LinearAlgebra.Implementation
- Extreme.Mathematics.LinearAlgebra.IO
- Extreme.Mathematics.LinearAlgebra.IterativeSolvers
- Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
- Extreme.Mathematics.LinearAlgebra.Providers
- Extreme.Mathematics.LinearAlgebra.Sparse
- Extreme.Mathematics.Optimization
- Extreme.Mathematics.Optimization.Genetic
- Extreme.Mathematics.Optimization.LineSearches
- Extreme.Mathematics.Random
- Extreme.Mathematics.SignalProcessing
- Extreme.Numerics.FSharp
- Extreme.Statistics
- Extreme.Statistics.Distributions
- Extreme.Statistics.IO
- Extreme.Statistics.Linq
- Extreme.Statistics.Multivariate
- Extreme.Statistics.Random
- Extreme.Statistics.Tests
- Extreme.Statistics.TimeSeriesAnalysis

- Extreme.Mathematics.EquationSolvers
- DoglegSystemSolver Class

DoglegSystemSolver Class | Extreme Optimization Numerical Libraries for .NET Professional |

Extreme.Mathematics.Algorithms

Extreme.Mathematics.Algorithms

Extreme.Mathematics.Algorithms

Extreme.Mathematics.EquationSolvers

Extreme.Mathematics.EquationSolvers

**Namespace:**Extreme.Mathematics.EquationSolvers

**Assembly:**Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)

The DoglegSystemSolver type exposes the following members.

Use the DoglegSystemSolver class to solve a system of nonlinear equations. The class uses a variant of Powell's dogleg method to find a solution. This is the method of choice for most problems.

The target functions are set in one of two ways.
The TargetFunction property
is a delegate that represents a multivariate function returning a vector in its second argument. This is a function that returns a vector
containing the values each target function. Alternatively, the SetTargetFunctions(

Similarly, the gradients of the target functions can be set in two ways. The
JacobianFunction property is a delegate that represents a multivariate function returning a matrix in its second argument
that calculates the Jacobian of the system of equations. The Jacobian is a matrix whose rows are
the gradients of the target functions. Alternatively, the SetGradientFunctions(

The starting point for the iteration is set through the InitialGuess property. This property must be set to a valid Vector before the algorithm is run. MaxIterations sets the maximum number of iterations, while MaxEvaluations sets the maximum number of function evaluations.

The Solve(Vector

The algorithm has two convergence tests. By default, the algorithm terminates
when either of these is satisfied. You can deactivate either test by setting its Enabled
property to

The first test is based on the uncertainty in the location
of the approximate solution. The SolutionTest property returns a
VectorConvergenceTest

The second test is based on the value of the target functions at the approximate solution.
The ValueTest property returns a VectorConvergenceTest

The method uses derivative information if it is available.
If the JacobianFunction property is

The dogleg algorithm works by minimizing the sum of the squares of the target functions. The approximation to the solution is updated in each step by either a Newton step, a steepest descent step, or a combination of both.

This method produces excellent results in most cases. However, because the algorithm is in essence a minimizer, it is possible that the algorithm gets 'stuck' in a local minimum, and converges to a point that is not a solution of the system of equations. The Status property indicates whether an actual solution was found.

#### Numerical Libraries

Supported in: 6.0, 5.x, 4.x#### Reference

Copyright © 2004-20116,
Extreme Optimization. All rights reserved.

*Extreme Optimization,* *Complexity made simple*, *M#*, and *M
Sharp* are trademarks of ExoAnalytics Inc.

*Microsoft*, *Visual C#, Visual Basic, Visual Studio*, *Visual
Studio.NET*, and the *Optimized for Visual Studio* logo

are
registered trademarks of Microsoft Corporation.