Namespace List
The namespaces specified in this document are:
Namespace : Net.Kniaz.Math.DFP
Net.Kniaz.Math.DFP Type List
Classes
Net.Kniaz.Math.DFP Classes
LinearSearch Class
Summary
public class LinearSearch
Summary description for Class1.
Constructor Members
| Name | Access | Summary |
|---|
| LinearSearch() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| Search() : Void | public | |
Namespace : Net.Kniaz.Optimization.QuasiNewton
Net.Kniaz.Optimization.QuasiNewton Type List
Classes
| Type | Summary |
|---|
| BFGS | Summary description for QuasiNewtonOptimization. |
| DFP | Summary description for DFP. |
| LineSearch | Summary description for LineSearch. |
| OneDWrapper | Summary description for OneDWrapper. |
| Optimizer | Summary description for Optimizer. |
Net.Kniaz.Optimization.QuasiNewton Classes
Optimizer Class
Summary
public abstract class Optimizer
Summary description for Optimizer.
Constructor Members
| Name | Access | Summary |
|---|
| Optimizer() | public | |
Field Members
| Name | Access | Summary |
|---|
| _alpha : Double | protected | |
| _curIter : Int32 | protected | |
| _epsilon : Double | protected | |
| _f : IGradientFunction | protected | |
| _hessian : GeneralMatrix | protected | |
| _initial : Double[] | protected | |
| _itMax : Int32 | protected | |
| _nDim : Int32 | protected | |
| _step : Double | protected | |
| _xCurrent : Double[] | protected | |
Property Members
| Name | Access | Summary |
|---|
| Iteration : Int32 | public | |
| Minimum : Double[] | public | |
Method Members
| Name | Access | Summary |
|---|
| CalculateNextHessianApproximation() : GeneralMatrix | protected | |
| Diff() : Double | protected | |
| FindMinimum() : Void | public | |
BFGS Class
Summary
public class BFGS : Optimizer
Summary description for QuasiNewtonOptimization.
Constructor Members
| Name | Access | Summary |
|---|
| BFGS() | public | |
Field Members
| Name | Access | Summary |
|---|
| _alpha : Double | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _curIter : Int32 | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _epsilon : Double | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _f : IGradientFunction | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _hessian : GeneralMatrix | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _initial : Double[] | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _itMax : Int32 | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _nDim : Int32 | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _step : Double | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _xCurrent : Double[] | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
Property Members
| Name | Access | Summary |
|---|
| Iteration : Int32 | public | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| Minimum : Double[] | public | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
Method Members
| Name | Access | Summary |
|---|
| CalculateNextHessianApproximation() : GeneralMatrix | protected | |
| Diff() : Double | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| FindMinimum() : Void | public | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
DFP Class
Summary
public class DFP : Optimizer
Summary description for DFP.
Constructor Members
| Name | Access | Summary |
|---|
| DFP() | public | |
Field Members
| Name | Access | Summary |
|---|
| _alpha : Double | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _curIter : Int32 | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _epsilon : Double | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _f : IGradientFunction | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _hessian : GeneralMatrix | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _initial : Double[] | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _itMax : Int32 | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _nDim : Int32 | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _step : Double | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| _xCurrent : Double[] | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
Property Members
| Name | Access | Summary |
|---|
| Iteration : Int32 | public | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| Minimum : Double[] | public | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
Method Members
| Name | Access | Summary |
|---|
| CalculateNextHessianApproximation() : GeneralMatrix | protected | |
| Diff() : Double | protected | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
| FindMinimum() : Void | public | (from Net.Kniaz.Optimization.QuasiNewton.Optimizer) |
LineSearch Class
Summary
public class LineSearch
Summary description for LineSearch.
Constructor Members
| Name | Access | Summary |
|---|
| LineSearch() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| FindMinimumViaBrent() : Int32 | public | Finds minimum via a Brent Method: http://mathworld.wolfram.com/BrentsMethod.html |
| FindMinimumViaGoldenSection() : Int32 | public | Finds minimum via gold section search. x1 must be between x0 and x2 |
| FindMinInterval() : Int32 | public | |
OneDWrapper Class
Summary
public class OneDWrapper : Net.Kniaz.Optimization.IOneDFunction
Summary description for OneDWrapper.
Constructor Members
| Name | Access | Summary |
|---|
| OneDWrapper() | public | |
Method Members
| Name | Access | Summary |
|---|
| GetVal() : Double | public | |
Namespace : Net.Kniaz.Optimization.QuasiNewton.Tests
Net.Kniaz.Optimization.QuasiNewton.Tests Type List
Classes
| Type | Summary |
|---|
| Banana | Initializes a new instance of the class. |
| BrentTests | Testing linear minimum search using Brent method. |
| Derivatives | Initializes a new instance of the class. |
| DFPTests | TestDFP. |
| GoldenTests | Testing one dimensional minimum using the Golden Section Algorithm |
| IntervalTests | Testing of the interval barcketing algorithm |
| Parabola | Initializes a new instance of the class. |
| TestFunction | Initializes a new instance of the class. |
Net.Kniaz.Optimization.QuasiNewton.Tests Classes
BrentTests Class
Summary
public class BrentTests
Testing linear minimum search using Brent method.
Constructor Members
| Name | Access | Summary |
|---|
| BrentTests() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| MinBrent1() : Void | public | Testing using function from the interval test function. Global Min is at x = -1.364641. We are starting with finding the bracket at 10 with step 1. Bracket function returns -4.764, -0.529, 6.326. These are fed to the 1D min function |
| MinBrent2() : Void | public | This time the start is around the local minimum so the search should converge around local minimum |
| MinBrent3() : Void | public | Tests regular parabola with a min of -0.75. Start the test coming from negative direction |
| MinBrent4() : Void | public | Testing the same parabola as in the previous function but coming from the far positive direction |
| MinBrent5() : Void | public | testing a parabola added to an exp |
TestFunction Class
Summary
public class TestFunction : RealFunction, Net.Kniaz.Optimization.IGradientFunction, Net.Kniaz.Optimization.IFunction
Constructor Members
| Name | Access | Summary |
|---|
| TestFunction() | public | Initializes a new instance of the class. |
Property Members
| Name | Access | Summary |
|---|
| Dimension : Int32 | public | |
Method Members
| Name | Access | Summary |
|---|
| CalculateHessian() : GeneralMatrix | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetGradient() : Double[] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetHessian() : Double[][] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetPartialDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetVal() : Double | public | |
Parabola Class
Summary
public class Parabola : RealFunction, Net.Kniaz.Optimization.IGradientFunction, Net.Kniaz.Optimization.IFunction
Constructor Members
| Name | Access | Summary |
|---|
| Parabola() | public | Initializes a new instance of the class. |
Property Members
| Name | Access | Summary |
|---|
| Dimension : Int32 | public | |
Method Members
| Name | Access | Summary |
|---|
| CalculateHessian() : GeneralMatrix | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetGradient() : Double[] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetHessian() : Double[][] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetPartialDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetVal() : Double | public | |
Banana Class
Summary
public class Banana : RealFunction, Net.Kniaz.Optimization.IGradientFunction, Net.Kniaz.Optimization.IFunction
Constructor Members
| Name | Access | Summary |
|---|
| Banana() | public | Initializes a new instance of the class. |
Property Members
| Name | Access | Summary |
|---|
| Dimension : Int32 | public | |
Method Members
| Name | Access | Summary |
|---|
| CalculateHessian() : GeneralMatrix | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetGradient() : Double[] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetHessian() : Double[][] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetPartialDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetVal() : Double | public | |
Derivatives Class
Summary
public class Derivatives
Constructor Members
| Name | Access | Summary |
|---|
| Derivatives() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| Hessian() : Void | public | |
| PartialDerivative00() : Void | public | |
| PartialDerivative01() : Void | public | |
| PartialDerivative02() : Void | public | |
| PartialDerivative10() : Void | public | |
| PartialDerivative11() : Void | public | |
| PartialDerivative12() : Void | public | |
| PartialDerivative20() : Void | public | |
| PartialDerivative21() : Void | public | |
| PartialDerivative22() : Void | public | |
DFPTests Class
Summary
public class DFPTests
TestDFP.
Constructor Members
| Name | Access | Summary |
|---|
| DFPTests() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| FitBFGS1() : Void | public | |
| FitBFGS2() : Void | public | |
| FitBFGS3() : Void | public | |
| FitDFP1() : Void | public | |
| FitDFP2() : Void | public | |
| FitDFP3() : Void | public | |
GoldenTests Class
Summary
public class GoldenTests
Testing one dimensional minimum using the Golden Section Algorithm
Constructor Members
| Name | Access | Summary |
|---|
| GoldenTests() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| MinGold1() : Void | public | Testing the algorithm using the test function test1 - a "w" shaped function Global Min is at x = -1.364641. We are starting with finding the bracket at 10 with step 1. Bracket function returns -4.764, -0.529, 6.326. These are fed to the 1D min function |
| MinGold2() : Void | public | This time the start ofsearch is close to the local minimum so the search should converge to local minimum |
| MinGold3() : Void | public | Tests regular parabola with a min of -0.75 coming from negative direction |
| MinGold4() : Void | public | testing a parabola coming from the far positive direction |
IntervalTests Class
Summary
public class IntervalTests
Testing of the interval barcketing algorithm
Constructor Members
| Name | Access | Summary |
|---|
| IntervalTests() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| MinInterval1() : Void | public | Try finding a bracket starting from negative end |
| MinInterval2() : Void | public | Start from the positive end |
| MinInterval3() : Void | public | |
Namespace : Net.Kniaz.Optimization.NonGradient
Net.Kniaz.Optimization.NonGradient Type List
Classes
| Type | Summary |
|---|
| Nelder | Implements Nelder-Mead method of fiding minimum http://mathworld.wolfram.com/Nelder-MeadMethod.html |
| Rosenbrock | Implements the Rosenbrock optimization algorithm http://www.applied-mathematics.net/optimization/Rosenbrockbrock.html |
Net.Kniaz.Optimization.NonGradient Classes
Nelder Class
Summary
public class Nelder
Implements Nelder-Mead method of fiding minimum http://mathworld.wolfram.com/Nelder-MeadMethod.html
Constructor Members
| Name | Access | Summary |
|---|
| Nelder() | public | Parametrized constructor |
Property Members
| Name | Access | Summary |
|---|
| Epsilon : Double | public | |
| Iterations : Int32 | public | |
| Itmax : Int32 | public | |
| Result : Double[] | public | |
Method Members
| Name | Access | Summary |
|---|
| FindMinimum() : Void | public | Finds minimum for a function and parameters given in the constructor |
Rosenbrock Class
Summary
public class Rosenbrock
Implements the Rosenbrock optimization algorithm http://www.applied-mathematics.net/optimization/Rosenbrockbrock.html
Constructor Members
| Name | Access | Summary |
|---|
| Rosenbrock() | public | Parametrized constructor |
Property Members
| Name | Access | Summary |
|---|
| Epsilon : Double | public | |
| Iterations : Int32 | public | |
| Itmax : Int32 | public | |
Method Members
| Name | Access | Summary |
|---|
| FindMinimum() : Void | public | Finds minimum of the function |
Namespace : Net.Kniaz.Optimization.NonGradient.Tests
Net.Kniaz.Optimization.NonGradient.Tests Type List
Classes
| Type | Summary |
|---|
| NelderTests | Tests Nelder Mead with 5 dimensional parabola and 3d Banana |
| RosenTests | Summary description for TestRosenbrock. |
Net.Kniaz.Optimization.NonGradient.Tests Classes
NelderTests Class
Summary
public class NelderTests
Tests Nelder Mead with 5 dimensional parabola and 3d Banana
Constructor Members
| Name | Access | Summary |
|---|
| NelderTests() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| CalculateBananaMinimum() : Void | public | |
| CalculateParabolaMinimum() : Void | public | |
RosenTests Class
Summary
public class RosenTests
Summary description for TestRosenbrock.
Constructor Members
| Name | Access | Summary |
|---|
| RosenTests() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| CalculateBananaMinimum() : Void | public | Calculate minimum of the rosebrock "Banana" function using Rosenbrock method |
| CalculateParabolaMinimum() : Void | public | Calculates the minimum of the 5 dimensional parabola using the rosenbrock Method |
Namespace : Net.Kniaz.Optimization
Net.Kniaz.Optimization Type List
Interfaces
| Type | Summary |
|---|
| IFunction | Interface for an arbitrary function of n dimensions |
| IGradientFunction | Interface for a Real function with gradient |
| IOneDFunction | Interface for real function of 1 dimension. Defined for use in linear searches. |
Classes
| Type | Summary |
|---|
| Banana | 3 Dimensional banana - most gradient methods fail on this function. Rosenbrockbroock is very good at finding minimum for this |
| NumericNet | Helper function that calculates square root of sum of squares Used by the test function to test on minimum |
| Parabola | Summary description for Functions. |
| RealFunction | Summary description for RealFunction. |
| TestFunction | 3 dimensional quadratic function with the minimum at (1,-2,3) |
| TestFunction1 | Test function has a W like shape with the first dip being global minimum at x =~-1.5 and the second dip at x = 4 |
| TestFunction2 | A regular Parabola with a min of -0.75 |
| TestFunction3 | This function is "glued" from expotential and a parabola minimum is at 0.78152 |
Net.Kniaz.Optimization Interfaces
IFunction Interface
Summary
public interface IFunction
Interface for an arbitrary function of n dimensions
Property Members
| Name | Access | Summary |
|---|
| Dimension : Int32 | public | Returns dimension of the function |
Method Members
| Name | Access | Summary |
|---|
| GetVal() : Double | public | Return Value of the function for a value vector x |
IGradientFunction Interface
Summary
public interface IGradientFunction : Net.Kniaz.Optimization.IFunction
Interface for a Real function with gradient
Method Members
| Name | Access | Summary |
|---|
| GetDerivativeVal() : Double | public | returns the value of the derivative for the nth varaible at some point |
| GetGradient() : Double[] | public | |
IOneDFunction Interface
Summary
public interface IOneDFunction
Interface for real function of 1 dimension. Defined for use in linear searches.
Method Members
| Name | Access | Summary |
|---|
| GetVal() : Double | public | |
Net.Kniaz.Optimization Classes
RealFunction Class
Summary
public abstract class RealFunction : Net.Kniaz.Optimization.IGradientFunction, Net.Kniaz.Optimization.IFunction
Summary description for RealFunction.
Constructor Members
| Name | Access | Summary |
|---|
| RealFunction() | protected | Initializes a new instance of the class. |
Property Members
| Name | Access | Summary |
|---|
| Dimension : Int32 | public | |
Method Members
| Name | Access | Summary |
|---|
| CalculateHessian() : GeneralMatrix | public | |
| GetDerivativeVal() : Double | public | |
| GetGradient() : Double[] | public | |
| GetHessian() : Double[][] | public | |
| GetPartialDerivativeVal() : Double | public | |
| GetVal() : Double | public | |
TestFunction Class
Summary
public class TestFunction : RealFunction, Net.Kniaz.Optimization.IGradientFunction, Net.Kniaz.Optimization.IFunction
3 dimensional quadratic function with the minimum at (1,-2,3)
Constructor Members
| Name | Access | Summary |
|---|
| TestFunction() | public | Initializes a new instance of the class. |
Property Members
| Name | Access | Summary |
|---|
| Dimension : Int32 | public | |
Method Members
| Name | Access | Summary |
|---|
| CalculateHessian() : GeneralMatrix | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetGradient() : Double[] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetHessian() : Double[][] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetPartialDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetVal() : Double | public | |
TestFunction1 Class
Summary
public class TestFunction1 : Net.Kniaz.Optimization.IOneDFunction
Test function has a W like shape with the first dip being global minimum at x =~-1.5 and the second dip at x = 4
Constructor Members
| Name | Access | Summary |
|---|
| TestFunction1() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| GetVal() : Double | public | |
TestFunction2 Class
Summary
public class TestFunction2 : Net.Kniaz.Optimization.IOneDFunction
A regular Parabola with a min of -0.75
Constructor Members
| Name | Access | Summary |
|---|
| TestFunction2() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| GetVal() : Double | public | |
TestFunction3 Class
Summary
public class TestFunction3 : Net.Kniaz.Optimization.IOneDFunction
This function is "glued" from expotential and a parabola minimum is at 0.78152
Constructor Members
| Name | Access | Summary |
|---|
| TestFunction3() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| GetVal() : Double | public | |
NumericNet Class
Summary
public class NumericNet
Helper function that calculates square root of sum of squares Used by the test function to test on minimum
Constructor Members
| Name | Access | Summary |
|---|
| NumericNet() | public | Initializes a new instance of the class. |
Method Members
| Name | Access | Summary |
|---|
| CalcDiff() : Double | public | |
Parabola Class
Summary
public class Parabola : RealFunction, Net.Kniaz.Optimization.IGradientFunction, Net.Kniaz.Optimization.IFunction
Summary description for Functions.
Constructor Members
| Name | Access | Summary |
|---|
| Parabola() | public | |
Property Members
| Name | Access | Summary |
|---|
| Dimension : Int32 | public | |
Method Members
| Name | Access | Summary |
|---|
| CalculateHessian() : GeneralMatrix | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetGradient() : Double[] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetHessian() : Double[][] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetPartialDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetVal() : Double | public | |
Banana Class
Summary
public class Banana : RealFunction, Net.Kniaz.Optimization.IGradientFunction, Net.Kniaz.Optimization.IFunction
3 Dimensional banana - most gradient methods fail on this function. Rosenbrockbroock is very good at finding minimum for this
Constructor Members
| Name | Access | Summary |
|---|
| Banana() | public | Initializes a new instance of the class. |
Property Members
| Name | Access | Summary |
|---|
| Dimension : Int32 | public | |
Method Members
| Name | Access | Summary |
|---|
| CalculateHessian() : GeneralMatrix | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetGradient() : Double[] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetHessian() : Double[][] | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetPartialDerivativeVal() : Double | public | (from Net.Kniaz.Optimization.RealFunction) |
| GetVal() : Double | public | |