Mathwrist NPL is a C++ numerical programming library with the following features:
1) Numerical Linear Algebra
Matrix, view, expression, iterator, factorization, linear system, stable and efficient algorithms for medium size linear algebra problems.
2) 1-D and N-D Functions
Common interfaces of math functions,
curves, surfaces, interpolation, integration, root-finding and minimization, built-in blocks for univariate and multivariate functions.
3) Unconstrained Optimization
Solvers for general smooth functions, line search, trust region, unconstrained optimization for general smooth multivariate objective functions.
4) Linear Programming
Linear objective, linear constraints, simplex, active set, minimization of linear objective subject to general linear constraints.
5) Quadratic Programming
Quadratic objective, linear constraints, active set, convex QP, general QP, minimization of quadratic objective subject to general linear constraints.
6) General Linearly Constrained Optimization
Smooth objective, linear constraints, line search, active set, minimization of general smooth functions subject to linear constraints.
7) Nonlinear Programming
Smooth objective, nonlinear constraints, sequential quadratic programming, minimization of general smooth functions subject to nonlinear constraints.
8) Data Fitting and Model Calibration
Multiple choices of problem formulation,
linear or nonlinear least square, generalized ridge regression, regularization, generalized cross validation, fit directly to the observed data or indirectly for model calibration.
9) Differential Equations
High order accurate, stable methods,
ordinary differential equations, parabolic partial differential equations, multiple solvers suitable to different types of problems.
For details of our products, please check out at https://www.mathwrist.com/Documentation/Album?name=NPL
A node-locked license is required in order to run the software free of charge. Please refer to https://www.mathwrist.com/Documentation/Article?prod=NPL&docType=Instruction&docName=Instruction, for the details of software installation and license activation.
Happy numerical programming!
Mathwrist