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:
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...
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...
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...
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...
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...
My new book Computational Methods for Numerical Analysis with R came out today from Chapman & Hall/CRC Press. This book is a long-standing...
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...
R has two different ways of representing missing data and understanding each is important for the user. NaN means “not a number” and...
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,...
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...
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...
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...
I gave my talk tonight on numerical analysis in R and the talk is already up on YouTube. <iframe width="560" height="315" src="https://www.youtube.com/embed/BmH9iZ-w4PQ" frameborder="0" allow="accelerometer;...
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...
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...