1 math_Matrix
math_Vector
math_IntegerVector 积分区间变量
2 math相关计算
http://www.cppblog.com/eryar/archive/2012/06/21/179629.html
3 单变量方程
需要知道函数值 math_Function
需要知道函数值和导数 math_FunctionWithDerivate
4 多变量方程
需要知道函数值 math_MultipleVarFunction
需要知道函数值和导数 math_MultipleVarFunctionWithGradient
5 多变量方程组
需要知道函数值 math_FunctionSet
需要知道函数值和hessian矩阵 math_FunctionSetWithDerivatives
6 求极值
math_BFGS 多变量方程的极小值 牛顿法和拟牛顿法——(书中附录B) - 知乎 牛顿法(Newton method)和拟牛顿法(quasi-Newton method)也是求解无约束最优化问题的常用方法,具有收敛速度快的优点。
这个类实现了 Broyden-Fletcher-Goldfarb-Shanno 的变体
函数的 Davidson-Fletcher-Powell 最小化算法
多个变量。需要了解函数的梯度。
math_BrackeMinimum 单变量方程的极小值算法
math_BrentMinimum 一个单变量方程极小值的算法
math_FRPR
math_Powell 多变量函数极小值 梯度不需要知道 这个类实现了Powell方法来寻找多变量函数的最小值(梯度不需要知道)。漫步最优化_会敲键盘的猩猩的博客-CSDN博客 漫步最优化
7 求根
方程组求解
math_Crout Crout方法解方程组A*X=B A对称矩阵
math_Gauss 高斯分解方法和行交换方法
math_Householder 最小二乘法 M变量N个方程方程组求解 相对于 GaussLeastSqure较好的数值稳定性,耗时更长,如果矩阵时奇异的或近似奇异的,必须用它
math_GaussLeastSqure 最小二乘法 M变量N个方程方程组求解
math_SVD SVD方法 M变量N个方程方程组求解
math_FunctionSetRoot 一个初始值开始求M个变量N个方程的解 最小值法 从
math_NewtonFunctionSetRoot N变量N个方程的方程组的解
math_Uzawa Uzawa算法 This class implements a system resolution C*X = B with an approach solution X0
单变量方程
math_BracketedRoot Brent方法求在范围[a,b]内的单变量方程的一个根,不需要知道方程的导数
math_BissecNewton 对分法和牛顿阻尼法求在范围[a,b]内的一个根,需要知道方程的导数信息
math_DirectPolynomialRoots 对小于4次的多项式,使用公式直接求解,获得解再用牛顿法精华
math_FunctionRoot 由一个猜测的值,计算附近的一个精确值,需要知道方程的导数
math_FunctionRoots 解出一个范围内的方程的所有实属解,需要知道方程的导数
math_NewtonFunctionRoot 使用牛顿法从一个初始点解出一个精确点,需要知道方程的导数
8 积分
math_KronrodSingleIntegration Gauss-Kronrod方法积分
math_GaussSingleIntegration 单变量积分
math_GaussMultipleIntegration 多变量积分
math_GaussSetIntegration M变量N方程方程组积分
OpenCASCADE 参数曲面面积 - opencascade - 博客园 积分求曲面面积、体积等
9 导数/微分
有导数信息的函数
10 特征值和特征向量
math_Jacobi
11 PLib 多项式相关算法
https://www.shuzhiduo.com/A/B0zq3885vL/
PLib可对多项式进行如下计算:
l 计算多项式的值:EvalPolynomial;
l 计算Lagrange插值:EvalLagrange;
l 计算Hermite插值:EvalCubicHermite;
12 高斯积分点的应用 有限元简单科普之——高斯积分点的应用 - 知乎
math_ComputeGaussPointsAndWeights 高斯积分点
math_ComputeKronrodPointsAndWeights 罗德积分点
math_Crout
12 三角函数求根
math_TrigonometricFunctionRoots
//! This class implements the solutions of the equation
//! aCos(x)Cos(x) + 2bCos(x)Sin(x) + cCos(x) + d*Sin(x) + e
//! The degree of this equation can be 4, 3 or 2.
13 math_Recipes
LU_Decompose LU矩阵分解
LU_Invert LU矩阵求逆
SVD_Decompose SVD矩阵分解
SVD_Solve SVD求根
DACTCL_Decompose DACTCL矩阵分解
DACTCL_Solve DACTCL矩阵求根
Jacobi 雅可比特征值和特征向量
14 math_GlobOptMin math_MultipleVarFunction
该类代表了基于非均匀网格的Evtushenko全局优化算法。
文章:。Evtushenko。寻找全局极值的数值方法(非均匀网格的情况)。
苏联第一版。数学。数学。理论物理。, Vol. 11, N . 6, pp. 38-54。
该方法对非均匀网格进行搜索。搜索空间是R^n空间中的一个方框。
默认的行为是在盒子里找到所有的最小值。不支持计算最大值。
搜索框可以根据不连续准则分成更小的框。
该功能由SetGlobalParams和SetLocalParams API覆盖。
可以设置本地框的连续性。
该选项可以强制改变局部极值搜索。
换句话说,如果func可以用Hessian转换成函数,但是连续性被设为1
将使用基于梯度的局部优化方法,而不是基于Hessian的方法。
这个功能包含在SetContinuity和GetContinuity API中。
可以冻结Lipschitz const以避免对其进行内部修改。
这个功能被SetLipConstState和GetLipConstState API覆盖。
可以执行单解搜索。
执行方法中的第一个参数包含了这个功能。
可以设置/获取函数的最小值。
它与单解搜索很好地结合在一起。
这个功能被SetFunctionalMinimalValue和GetFunctionalMinimalValue API覆盖。
15 math_NewtonMinimum
牛顿法找最小值