Click or drag to resize

FindMinimumOfFunctionGradientConstrained(FuncVectorDouble, Double, FuncVectorDouble, VectorDouble, VectorDouble, VectorDouble, VectorDouble, Double, Double, Double, Int32) Method

Find vector x that minimizes the function f(x), constrained within bounds, using the Broyden–Fletcher–Goldfarb–Shanno Bounded (BFGS-B) algorithm. For more options and diagnostics consider to use BfgsBMinimizer directly.

Namespace: Altaxo.Calc
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public static Vector<double> OfFunctionGradientConstrained(
	Func<Vector<double>, double> function,
	Func<Vector<double>, Vector<double>> gradient,
	Vector<double> lowerBound,
	Vector<double> upperBound,
	Vector<double> initialGuess,
	double gradientTolerance = 1E-05,
	double parameterTolerance = 1E-05,
	double functionProgressTolerance = 1E-05,
	int maxIterations = 1000
)

Parameters

function  FuncVectorDouble, Double

[Missing <param name="function"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

gradient  FuncVectorDouble, VectorDouble

[Missing <param name="gradient"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

lowerBound  VectorDouble

[Missing <param name="lowerBound"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

upperBound  VectorDouble

[Missing <param name="upperBound"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

initialGuess  VectorDouble

[Missing <param name="initialGuess"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

gradientTolerance  Double  (Optional)

[Missing <param name="gradientTolerance"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

parameterTolerance  Double  (Optional)

[Missing <param name="parameterTolerance"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

functionProgressTolerance  Double  (Optional)

[Missing <param name="functionProgressTolerance"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

maxIterations  Int32  (Optional)

[Missing <param name="maxIterations"/> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

Return Value

VectorDouble

[Missing <returns> documentation for "M:Altaxo.Calc.FindMinimum.OfFunctionGradientConstrained(System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double},System.Func{Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double}},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},Altaxo.Calc.LinearAlgebra.Vector{System.Double},System.Double,System.Double,System.Double,System.Int32)"]

See Also