Computational Methods for Numerical Analysis
Provides the source and examples for James P. Howard, II,
"Computational Methods for Numerical Analysis with R,"
< https://jameshoward.us/cmna/>, a book on numerical
methods in R.
Computational Methods for Numerical Analysis

This is the R package to support Computational Methods for Numerical
Analysis with R by James P. Howard, II.
Computational Methods for Numerical Analysis with R is an overview
of traditional numerical analysis topics presented using R. This
guide shows how common functions from linear algebra, interpolation,
numerical integration, optimization, and differential equations can
be implemented in pure R code. Every algorithm described is given
with a complete function implementation in R, along with examples
to demonstrate the function and its use.
Computational Methods for Numerical Analysis with R with R is
intended for those who already know R, but are interested in learning
more about how the underlying algorithms work. As such, it is
suitable for statisticians, economists, and engineers, and others
with a computational and numerical background.
Algorithms included
- Elementary and Example Algorithms
- Polynomial Expansion
- Naive (naivepoly)
- Cached Naive (betterpoly)
- Horner's Method (horner, rhorner)
- Summation
- Naive Summation (naivesum)
- Kahan Summation (kahansum)
- Division
- Naive Division (naivediv)
- Long Division (longdiv)
- Miscellaneous
- Naive Primality tester (isPrime)
- Nth Root (nthroot)
- Quadratic Formula (quadratic, quadratic2)
- Samples
- Fibbonaci (fibonacci)
- Wilinson's Polynomial (wilkinson)
- Himmelblau (himmelblau)
- Linear Algebra
- Row/Vector Operations
- Row Replacement (replacerow)
- Scale Row (scalerow)
- Swap Rows (swaprows)
- Norm of a Vector (vecnorm)
- Elementary Functions
- Determinant (detmatrix)
- Matrix Inverse (invmatrix)
- Row-Echelon Form (refmatrix)
- Reduced Row-Echelon Form (rrefmatrix)
- Solve a Matrix, Using Row Reduction (solvematrix)
- Decompositions
- Cholesky Decomposition (choleskymatrix)
- LU Decomposition (lumatrix)
- Iterative Methods
- Conjugate Gradient (cgmmatrix)
- Gauss Seidel (gaussseidel)
- Jacobi (jacobi)
- Specialty Methods
- Tridiagonal Matrix Solver (tridiagmatrix)
- Interpolation and Extrapolation
- Polynomial Interpolation
- Liner Interpolation (linterp)
- Polynomial Interpolation (polyinterp)
- Splines
- Piecewise Linear (pwiselinterp)
- Cubic Spline (cubicspline)
- Bezier
- Quadratic Bezier (qbezier)
- Cubic Bezier (cbezier)
- Multidimensional Interpolaters
- Bilinear (bilinear)
- Nearest Neighbor (nn)
- Applications
- Image Resizing (resizeImageNN, resizeImageBL)
- Differentiation
- Finite Differences
- One-Step (findiff)
- More Differentiators (symdiff, rdiff)
- Second Derivative (findiff2)
- Numerical Integration
- Newton-Cotes
- Midpoint Method (midpt)
- Trapezoid Method (trap)
- Simpson's Rule (simp)
- Simpson's 3/8s Rule (simp38)
- Gaussian Integration
- Driver (gaussint)
- Specific forms (gauss.hermite, gauss.laguerre, gauss.legendre)
- Adaptive Integrators
- Recursive Adaptive (adaptint)
- Romberg (romberg)
- Monte Carlo
- Monte Carlo Integration, 1D (mcint)
- Monte Carlo Integration, 2D (mcint2)
- Applications
- Shell Method for Revolved Volume (shellmethod)
- Disc Method for Revolved Volume (discmethod)
- Gini Coefficient (giniquintile)
- Root Finding
- Bisection Method (bisection)
- Newton's Method (newton)
- Secant Method (secant)
- Optimization
- Continuous
- Golden Section (goldsectmax, goldsectmin)
- Gradient Descent (gd, gdls, gradasc, graddsc)
- Hill Climbing (hillclimbing)
- Simulated Annealing (sa)
- Discrete
- Traveling Salesperson Problem (tspsa)
- Differential Equations
- Initial Value Problems
- Euler Method (euler)
- Midpoint Method (midptivp)
- Fouth-Order Runge-Kutta (rungekutta4)
- Adams-Bashforth (adamsbashforth)
- Systems of Differential Equations
- Partial Differential Equations
- Heat Equation, 1D (heat)
- Wave Equation, 1D (wave)
- Applications
- Boundary Value Problems (bvpexample, bvpexample10)
Dependencies
- testthat
- roxygen2
- markdown
Contribution guidelines
For more information