Algorithms#

Automatic Differentiation (auto_diff Module)#

Algorithm

Namespace

Backward-mode automatic differentiation [15]

num_collect::auto_diff::backward

Forward-mode automatic differentiation [15]

num_collect::auto_diff::forward

Optimization (opt Module)#

Algorithm

Class

Adaptive diagonal curves (ADC) [22]

num_collect::opt::adaptive_diagonal_curves

Backtracking line search

num_collect::opt::backtracking_line_searcher

Conjugate gradient method

num_collect::opt::conjugate_gradient_optimizer

Dividing rectangles (DIRECT) method

num_collect::opt::dividing_rectangles

Downhill simplex method [17]

num_collect::opt::downhill_simplex

Downhill simplex method with simulated annealing [17]

num_collect::opt::annealing_downhill_simplex

Gaussian process optimization [2, 23]

num_collect::opt::gaussian_process_optimizer

Quasi-Newton method with Broyden-Fletcher-Goldfarb-Shanno (BFGS) formula

num_collect::opt::bfgs_optimizer

Quasi-Newton method with Davidon-Fletcher-Powell (DFP) formula

num_collect::opt::dfp_optimizer

Regularization (regularization Module)#

Computation of Regularized Solutions#

Algorithm

Class

Fast iterative shrinkage-thresholding algorithm (FISTA) [1]

num_collect::regularization::fista

Tikhonov regularization [3, 10]

num_collect::regularization::tikhonov, num_collect::regularization::full_gen_tikhonov

Selection of Regularization Parameters#

Algorithm

Class

Generalized cross validation (GCV)

num_collect::regularization::explicit_gcv, num_collect::regularization::implicit_gcv

L-curve

num_collect::regularization::explicit_l_curve

RBF Interpolation (rbf Module)#

Interpolator Using RBF Interpolation#

Type of Length Parameter

Type of RBF

Use of Polynomial Terms

Alias for Class

Local

Global

No

num_collect::rbf::local_rbf_interpolator

Global

Global

No

num_collect::rbf::global_rbf_interpolator, num_collect::rbf::gaussian_process_interpolator

Local

Compact

No

num_collect::rbf::local_csrbf_interpolator

Global

Global

Yes

num_collect::rbf::global_rbf_polynomial_interpolator

Selection of Length Parameters#

Algorithm

Class / Function

Maximum likelihood estimator (MLE) for length parameters [21]

optimize_length_parameter_scale member functions in interpolators.

Selection of Points#

Algorithm

Class / Function

Halton nodes [5]

num_collect::rbf::generate_halton_nodes

RBFs#

RBF

Class

Gaussian

num_collect::rbf::rbfs::gaussian_rbf

Inverse multi-quadric

num_collect::rbf::rbfs::inverse_multi_quadric_rbf

Inverse quadratic

num_collect::rbf::rbfs::inverse_quadratic_rbf

Multi-quadric

num_collect::rbf::rbfs::multi_quadric_rbf

Sech

num_collect::rbf::rbfs::sech_rbf

Wendland’s Compactly Supported RBF (CSRBF) [24]

num_collect::rbf::rbfs::wendland_csrbf

Root-Finding Algorithms (roots Module)#

Algorithm

Class

Newton-Raphson method

num_collect::roots::newton_raphson

Special functions (functions Module)#

Function

Class

Gamma function

num_collect::functions::gamma

Legendre function

num_collect::functions::legendre

Numerical Integration (integration Module)#

Algorithm

Range

Class

Double Exponential (DE) rule

\((a,b)\)

num_collect::integration::de_finite_integrator

Double Exponential (DE) rule

\((-\infty, \infty)\)

num_collect::integration::de_infinite_integrator

Double Exponential (DE) rule

\((0, \infty)\)

num_collect::integration::de_semi_infinite_integrator

Gauss-Legendre formula

\((a,b)\)

num_collect::integration::gauss_legendre_integrator

Gauss-Legendre-Kronrod formula [16]

\((a,b)\)

num_collect::integration::gauss_legendre_kronrod_integrator

TANH rule

\((a,b)\)

num_collect::integration::tanh_finite_integrator

ODE Solvers (ode Module)#

Formulas of Runge-Kutta method#

Formula

Class

ARK4(3)6L[2]SA-ERK formula [13]

num_collect::ode::runge_kutta::ark43_erk_formula

ARK4(3)6L[2]SA-ESDIRK formula [13]

num_collect::ode::runge_kutta::ark43_esdirk_formula

ARK5(4)8L[2]SA-ESDIRK formula [13]

num_collect::ode::runge_kutta::ark54_esdirk_formula

DOPRI5 formula [9]

num_collect::ode::runge_kutta::dopri5_formula

ESDIRK45c formula [11]

num_collect::ode::runge_kutta::esdirk45_formula

Runge-Kutta 4 (RK4)

num_collect::ode::runge_kutta::rk4_formula

Runge-Kutta-Fehlberg 45 (RKF45)

num_collect::ode::runge_kutta::rkf45_formula

4th order SDIRK [9]

num_collect::ode::runge_kutta::sdirk4_formula

Tanaka Formula 1

num_collect::ode::runge_kutta::tanaka1_formula

Tanaka Formula 2

num_collect::ode::runge_kutta::tanaka2_formula

Formulas of Rosenbrock method#

Formula

Class

RODASP formula

num_collect::ode::rosenbrock::rodasp_formula

RODASPR formula [19]

num_collect::ode::rosenbrock::rodaspr_formula

ROS3w formula [19]

num_collect::ode::rosenbrock::ros3w_formula

ROS34PW3 formula [19]

num_collect::ode::rosenbrock::ros34pw3_formula

Average vector field (AVF) method [18]#

Order

Class

2

num_collect::ode::avf::avf2_formula

3

num_collect::ode::avf::avf3_formula

4

num_collect::ode::avf::avf4_formula

Symplectic formulas#

Formula

Class

Leap-frog formula

num_collect::ode::symplectic::leap_frog_formula

Fourth-order symplectic integration formula in [4]

num_collect::ode::symplectic::symplectic_forest4_formula

Other formulas#

Formula

Class

Implicit Euler formula

num_collect::ode::runge_kutta::implicit_euler_formula

Controllers of step sizes#

Algorithm

Class

Basic algorithm in [8]

num_collect::ode::basic_step_size_controller

PI controller [7]

num_collect::ode::pi_step_size_controller

Solvers of Linear Equations (linear Module)#

Solvers of Linear Equations#

Algorithm

Class

Algebraic multigrid (AMG) method [20]

num_collect::linear::algebraic_multigrid_solver

Gauss-Seidel iteration [6]

num_collect::linear::gauss_seidel_iterative_solver

Symmetric successive over-relaxation [6]

num_collect::linear::symmetric_successive_over_relaxation, num_collect::linear::parallel_symmetric_successive_over_relaxation

Ordering Algorithms#

Algorithm

Class

Cuthill-McKee (CM) ordering [6, 14]

num_collect::linear::cuthill_mckee_ordering

Reverse Cuthill-McKee (RCM) ordering [6, 14]

num_collect::linear::reverse_cuthill_mckee_ordering

Common Algorithms (util Module)#

Algorithm

Class

Kahan summation [12]

num_collect::util::kahan_adder