﻿CenterSpace.NMath.Analysis Namespace

# Classes

ClassDescription
ActiveSetLineSearchSQP
Class ActiveSetLineSearchSQP solves nonlinear programming problems using a Sequential Quadratic Programming (SQP) iterative algorithm.
ActiveSetLineSearchSQP..::..Options
Contains the options available to the ActiveSetLineSearchSQP Nonlinear Program Solver (NLP).
ActiveSetQPSolver
Class ActiveSetQPSolver solves convex quadratic programming (QP) problems.
AnalysisFunctions
Class AnalysisFunctions provides common generalized functions for NMath Analysis.
AnalysisFunctions..::..FiveParameterLogisticFtn
Computes the 5-parameter logistic (5PL) function, using the given vector of function parameters, at the specified point.
AnalysisFunctions..::..FourParameterLogisticFtn
Computes the 4-parameter logistic (4PL) function, using the given vector of function parameters, at the specified point.
AnalysisFunctions..::..ThreeParameterExponentialFtn
Evaluates the three parameter exponential function for the given parameter values at the given point.
AnalysisFunctions..::..ThreeParameterSineFtn
Computes the three parameter sine function, using the given vector of function parameters, at the specified point.
AnalysisFunctions..::..TwoParameterAsymptoticFtn
Computes the asymptotic function, using the given vector of function parameters, at the specified point.
AnnealingHistory
Class AnnealingHistory encapsulates all of the data generated during a series of steps through an annealing schedule.
AnnealingHistory..::..Step
Class AnnealingHistory.Step encapsulates all of the data associated with a step in an AnnealingHistory.
AnnealingMinimizer
Class AnnealingMinimizer minimizes a multivariable function using the simulated annealing method.
AnnealingScheduleBase
Class AnnealingScheduleBase is the abstract base class for annealing schedules.
BoundedMultiVariableFunctionFitter<(Of <(<'M>)>)>
Class MultiVariableFunctionFitter< M > fits a parameterized multivariable function to a set of points where the parameters have inequality constraints.
BoundedOneVariableFunctionFitter<(Of <(<'M>)>)>
Class BoundedOneVariableFunctionFitter fits a parameterized one variable function to a set of points, where the functions parameters are constrained by upper and lower bounds.
BoxCoxTransformation
Class BoxCoxTransformation performs a Box-Cox power transformation, which can be used to make non-normal data resemble normally-distributed data.
Bracket
Class Bracket searches in the downhill direction for two points that bracket a minimum of a univariate function.
BrentMinimizer
Class BrentMinimizer uses Brent's Method to minimize a function within an interval known to contain a minimum.
CentralDifferenceHessianUpdater
Class CentralDifferenceHessianUpdater updates the Hessian of the Lagrangian while solving a nonlinear programming problem using a Sequential Quadratic Programming algorithm.
Class ConjugateGradientMinimizer minimizes a multivariable function using the Polak-Ribiere variant of the Fletcher-Reeves conjugate gradient method.
ConstantSQPStepSize
Class ConstantSQPStepSize computes the step size for a Sequential Quadratic Programming solver. Simply returns a constant step size regardless of iteration values.
Constraint
Class Constraint represents a constraint in a constrained optimization problem.
CustomAnnealingSchedule
Class CustomAnnealingSchedule encapsulates a series of iterations and temperatures.
DampedBFGSHessianUpdater
Class DampedBFGSHessianUpdater updates the value of the Lagrangian Hessian based on iterate values using a quasi-Newton approximation.
DBrentMinimizer
Class DBrentMinimizer minimizes a function using Brent's method as well as the first derivative.
DownhillSimplexMinimizer
Class DownhillSimplexMinimizer minimizes a multivariable function using the downhill simplex method of Nelder and Mead.
EqualityConstrainedQPProblem
Class representing an equality constrained Quadratic Programming problem. Minimize 0.5 * x'Hx + x'c Subject to Ax = b where x is a vector of unknows, H a symmetric matrix, and A matrix.
FirstOrderInitialValueProblem Obsolete.
Class FirstOrderInitialValueProblem represents a first order initial value differential equation.
GoldenMinimizer
Class GoldenMinimizer performs a golden section search for a minimium of a function within an interval known to contain a minimum.
L1MeritStepSize
Class L1MeritStepSize computes the step size for a Sequential Quadratic Programming solver based on sufficient decrease in the L1 merit function.
LagrangianFunction
Class LagrangianFunction represents the Lagrangian function associated with a nonlinear programming problem.
Class LagrangianGradientFunction derives from DoubleMultiVariableFunction for evaluating the gradient of the Lagrangian functions.
LevenbergMarquardtMinimizer
Class for minimizing the L2 norm of a function using the Levenberg Marquardt algorithm.
LevenburgMarquardtMinimizer Obsolete.
Class for minimizing the L2 norm of a function using the Levenberg Marquardt algorithm.
LinearAnnealingSchedule
Class LinearAnnealingSchedule encapsulates the linear descent of a starting temperature to zero. Each step has a specified number of iterations.
LinearConstraint
Class LinearConstraint represents a linear constraint for a constrained optimization problem.
MinimizerBase
Class MinimizerBase is the abstract base class for classes that perform function minimization.
MultiVariableFunction
Class MultiVariableFunction represents multivariate functions.
MultiVariableFunctionFitter<(Of <(<'M>)>)>
Class MultiVariableFunctionFitter fits a generalized multivariable function to a set of points.
MultiVariableFunctionFitter<(Of <(<'M>)>)>..::..ResidualFunction
Residual function. This is the function that is minimized to produce the parameters for the best fit.
NewtonRaphsonRootFinder
Class NewtonRaphsonRootFinder finds roots of univariate functions using the Newton-Raphson algorithm.
NonlinearConstraint
Class NonlinearConstraint represents a nonlinear constraint in an optimization problem.
NonlinearProgrammingProblem
Class NonlinearProgrammingProblem represents a nonlinear programming problem.
OdeSolverBase
Base class for ODE solvers which use a Runge-Kutta order 5 algorithm. Includes enums and functions for incorporating mass matrices into ODE's.
OdeSolverBase..::..ConstMassMatrixOdeFcn
When solving ODE's of the form y' = M*f(t,y) where M is a constant "mass" matrix, this class provides a function g(t,y) for the right hand side of the above equation which incorporates the mass matrix M.
OdeSolverBase..::..MassMatrixOdeFcn
When solving ODE's of the form y' = M(t,y)*f(t,y) where M is a time-state dependent "mass" matrix, this class provides a function g(t,y) for the right hand side of the above equation which incorporates the mass matrix function M(t,y).
OneVariableFunctionFitter<(Of <(<'M>)>)>
Class OneVariableFunctionFitter fits a parameterized one variable function to a set of points.
OneVariableFunctionFitter<(Of <(<'M>)>)>..::..CurveFitResidualFunction
Class representing the residual function for the curve fit.
PolynomialLeastSquares
Class PolynomialLeastSquares performs a least squares fit of a polynomial to the data.
PowellMinimizer
Class PowellMinimizer minimizes a multivariable function using Powell's Method.
RiddersRootFinder
Class RiddersRootFinder finds roots of univariate functions using Ridders' Method.
RootFinderBase
Abstract base class for classes that perform root finding on univariate functions.
RungeKutta45OdeSolver
Class RungeKutta45OdeSolver solves an initial value, Ordinary Differential Equation (ODE) using an explicit Runge-Kutta (4,5) formula known as the Dormand-Prince pair.
RungeKutta45OdeSolver..::..Options
User settable options for RungeKutta45OdeSolver.
RungeKutta45OdeSolver..::..Solution<(Of <(<'Ytype>)>)>
Data structor contiaing solution values an statistics for an ODE solve.
RungeKutta5OdeSolver
Class RungeKutta5OdeSolver solves an initial value, Ordinary Differential Equation (ODE) using a non-adaptive explicit Runge-Kutta formula of order 5.
RungeKutta5OdeSolver..::..Options
User settable options for RungeKutta5OdeSolver.
RungeKuttaSolver Obsolete.
Class RungeKuttaSolver solves first order initial value differential equations by the Runge-Kutta method.
SecantRootFinder
Class SecantRootFinder finds roots of univariate functions using the secant method.
Base class for sequential quadratic programming solvers.
Data structure containing various values for an iteration of a Sequential Quadratic Programming algorithm.
SimplexLPSolver
Class SimplexLPSolver solves linear programming problems using the simplex method.
SparseConstraintCoefficients
Class implementing the ILinearConstraintCoefficients for sparse linear constraint coefficients. Only the non-zero coefficients are stored.
TrustRegionMinimizer
Class TrustRegionMinimizer solves both constrained and unconstrained nonlinear least squares problems using the Trust Region method.
TwoVariableIntegrator
Class TwoVariableIntegrator integrates functions of two variables.
VariableMetricMinimizer
Class VariableMetricMinimizer uses the Broyden-Fletcher-Goldfarb-Shanno variable metric algorithm to minimize multivariable functions.

# Interfaces

InterfaceDescription
IBoundedNonlinearLeastSqMinimizer
Interface for nonlinear least squares minimizer where the solution is constrained by upper and lower bounds.
ILinearConstraintCoefficients
Interface for the coefficients for a linear constraint in a non-linear optimization problem. The interface is an abstraction of a vector of real numbers representing the coefficients of a linear constraint and thus defines the indexer property [int index]. This interface allows for both sparse and dense implementations.
IMultiVariableDMinimizer
Interface for classes that perform minimization of multivariate functions using derivative information.
IMultiVariableMinimizer
Interface for classes that perform minimization of multivariate functions.
INonlinearLeastSqMinimizer
Interface for nonlinear least squares minimizer.
IOneVariableDMinimizer
Interface for classes that perform minimization of univariate functions using derivative information.
IOneVariableDRootFinder
Interface for classes that find roots of univariate functions using derivative information.
IOneVariableMinimizer
Interface for classes that perform minimization of univariate functions.
IOneVariableRootFinder
Interface for classes that find roots of univariate functions using only function evaluations.
Interface for classes which provide a method for obtaining the updated value of the Hessian of the Lagrangian based on the current iteration data for a Sequentail Quadratic Programming algorithm.
Computes a step size alphak for performing the update xk+1 = xk + alphak*pk, where pk is the step direction vector.

# Delegates

DelegateDescription
TrustRegionFunction
Functor that takes a pointer to an array of doubles, and returns a pointer to an array of doubles.

# Enumerations

EnumerationDescription
ActiveSetLineSearchSQP..::..TerminationStatus
Enum for possible algorithm termination reasons.
ActiveSetQPSolver..::..AlgorithmStatus
Enum whose value indicate the status of the solution.
ConstraintType
Enumeration for specifying constraint types possible for the Constraint class and other constrained optimization classes.>
OdeSolverBase..::..OutputFunctionFlag
Output functions are functions supplied by the user to derived ODE solvers. These functions are called by solver during 1. Initialization. Before the first integration step is performed. 2. After each integration step. 3. When the solver is complete. Output functions are called with an OutputFunctionFlag parameter indicating under which of the above conditions it is being invoked.
RungeKuttaSolver..::..SolverOrder
Enum for specifying the order of the Runge-Kutta method.
SimplexLPSolver..::..SolutionStatus
Enumeration for specifying the status of a solution to a linear programming problem.
TrustRegionMinimizer..::..Criterion
Enumeration for specifying the stop criterion.