Numerical Analysis is all about algorithms that efficiently solve problems which may contain errors or require approximation. One of the most recognizable uses of numerical analysis are the algorithms used to compute the square root, which requires finding successively better approximations to arrive at a solution for numbers that are not square. I wrote two papers on various Numerical Analysis topics, including using Newton’s method and solving linear systems of equations using a computer.

Here are the two papers, abstracts and links to them:

Experimenting with Methods for solving Linear Systems

ABSTRACT: Linear systems of equations are notoriously difficult to solve. Most numerical methods for solving linear systems are plagued by inaccuracy in special cases or just being too slow. In this report, four methods will be compared in accuracy when solving a linear system with a very small number as one of the coefficients.

The four methods compared are Naïve Gaussian Elimination, the Gauss-Seidel Method, Iterative Refinement, and Scaled Partial Pivoting. Each of these is plagued by their own problems. Naïve Gaussian Elimination, the standard for hand-solving linear systems, can actually return the wrong answer in some cases. The Gauss-Seidel method only works when the matrix representing the linear system is diagonally dominant. Finally, Iterative Refinement adds extra work onto the already slow Gaussian Elimination process.

In addition, this report will attempt to discover ways to determine if a linear system is fit to be solved by one of the methods described above.

Efficiently Providing the SQRT Function on Systems with Limited Memory and Power

ABSTRACT: In a small, embedded system where small size and power efficiency are crucial, a programmer must limit the use of memory and processor power to absolutely essential tasks. The firmware we are developing for our new implantable pacemaker is no exception. Our developers have expressed interest in using the square root function, but the microchip we have chosen does not have built-in functionality for this calculation. This report describes our options for implementing sqrt(x), where 0 <= x <= 4, given the constraints on processing power and memory footprint.