Computational Methods for Numerical Analysis with R

Computational Methods for Numerical Analysis with R book cover

Computational Methods for Numerical Analysis with R (CMNA) is a treatment of the traditional numerical analysis course using R as the underlying programming language. The traditional numerical analysis outline begins with numerical error, then linear algebra, interpolation, integration, optimization, and differential equations. In this way, the outline covers the entire introductory mathematical sequence. This text will be suitable for the advanced undergraduate student or first-year graduate student. The book will require a solid understanding of linear algebra, differential and integral calculus, and differential equations. Students of mathematics, computer science, physics, engineering, and other mathematically intensive disciplines will have sufficient background to read and understand the book.

My motivation for writing this book is the lack of similar materials in the market. There are several commonly used textbooks that teach numerical analysis using MATLAB. Others use C or Fortran. MATLAB is a very expensive program and while available on college campuses, is not cheap enough for most graduates to purchase. C and Fortran are inexpensive or free, but require basic programming skills to manage data input and output, memory, and other tasks that should not be set upon someone trying to learn a specific set of skills. R provides a rich environment that students are already familiar with due to its rapidly growing user base. It is free for all users and it does not require intensive “environmental management” when programming, as is required in, for instance, Java.



The cmna R package is available containing all of the algorithms from this book, and a few extra implementations of interest. You can access the source code for the cmna package at GitHub. Install cmna via DevTools:


The cmna package is developed using the Gitflow development workflow. To install the development branch, use:

devtools::install_github("k3jph/cmna-pkg", ref = "develop")

Bibliographic Information

  1. James P. Howard, II, Computational Methods for Numerical Analysis with R, ser. Numerical Analysis and Scientific Computing. New York: Chapman and Hall/CRC, 2017.

Related Posts

May 31

The Lotka–Volterra Equations

My favorite set of differential equations are the Lotka-Volterra equations. These equations describe predator-prey relationships. What impresses me the most about them are their complete...

Feb 08

Matrices in the Machine

No matter what we consider the internal representation, the data will be stored linearly in memory. If we are using a programming language like <a...

Feb 05

Zeroes Are Hard to Find

When we are looking at two-dimensional optimization algorithms, there are a variety of options. The first is the bisection method. I like the bisection...

Feb 25

Gradient Fields Forever

The gradient of a scalar field is one of the most powerful topics I’ve ever seen in mathematics. It is the, quite simply, the multidimensional...

Mar 23

Errata for Computational Methods for Numerical Analysis

Well, CMNA has been out for nine months and I got my first notice of mistakes in the text. There are three, related mistakes in...

Jun 13

Computational Methods for Numerical Analysis is Out Now!

My new book Computational Methods for Numerical Analysis with R came out today from Chapman & Hall/CRC Press. This book is a long-standing...

Sep 20

Announcing Computational Methods for Numerical Analysis

For about two years, I’ve been working on a book called Computational Methods for Numerical Analysis with R (CMNA), which will present an outline of...

Jul 18

NaN versus NA in R

R has two different ways of representing missing data and understanding each is important for the user. NaN means “not a number” and...

Feb 29

The Wave Equation in R

The wave equation is a classic example of a partial differential equation. It comes in several variants and has applications beyond the name. In principle,...

Feb 11

Code Coverage Counterexamples

Code coverage is not what it’s cracked up to be. As an experiment, I started using Coveralls on two of my R projects, <a...

Feb 01

CMNA v0.1.0 Released

Some of you know this, but just about a year now, I have been working on a book called Computational Methods for Numerical Analysis with...

Jan 15

Euler Method in R for the Initial Value Problem

During differentiation, the value of whatever vertical shift is present is lost as a result of the elimination of the constant term, which has a...

Dec 09

Numerical Analysis talk at Statistical Programming DC

I gave my talk tonight on numerical analysis in R and the talk is already up on YouTube. <iframe width="560" height="315" src="" frameborder="0" allow="accelerometer;...

Sep 09

How Many Floating Point Numbers are There?

The IEEE standard for floating point arithmetic provides for a noncontinuous space representing both very large and very small numbers. Under the standard, each floating...

Apr 20

Matrix Row Echelon Form in R

For reasons unknown, I can’t find a function to transform a matrix into row echelon form in R. There’s a function on Rosetta Code for...