Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/akshay-rajan/numericalmethods

Numerical Methods and their Implementation using Python.
https://github.com/akshay-rajan/numericalmethods

differential-equations equation-solver interpolation mathematical-programming numerical-analysis numerical-methods python

Last synced: 4 days ago
JSON representation

Numerical Methods and their Implementation using Python.

Awesome Lists containing this project

README

        

# Implementing Numerical Methods using Python

## Introduction

Numerical Analysis is the study of algorithms that use numerical approximations for mathematical problems. In numerical analysis, a numerical method is a mathematical tool designed to solve such problems. They attempt at finding approximate solutions to mathematical problems rather than exact ones. We use them at places where it is difficult or impossible to use traditional mathematical methods (for example, finding roots of a polynomial of degree greater than 4). Numerical analysis finds application in all fields of engineering, physical sciences, life and social sciences, medicine, business etc. Current growth in computing power has enabled the use of more complex numerical methods, providing detailed and realistic mathematical models in science and engineering. The implementation of a numerical method with an appropriate convergence check is called a numerical algorithm.

This is an attempt at discussing some common numerical methods and their implementation using Python. Python is an interpreted, object-oriented, high-level programming language with dynamic semantics develop ed by Guido van Rossum in 1991. Python is a beginner-friendly, most widely used introductory language due to its high compatibility and simple syntax. Moreover, Python's math specific modules like NumPy, SciPy and Matplotlib makes it one of the best choices for numerical programming.

In the first chapter, we discuss how to find the solutions of algebraic and transcendental equations using numerical methods like bisection, iteration and Newton-Raphson method, and find the roots of equations, implementing all three methods using Python. In chapter two, we talk about the solution to differential equations using Picard's method, Euler's method and Runge-Kutta Methods. Solving an Initial Value Problem using Python program for Euler's method and Runge-Kutta method is also discussed. Finally, we introduce interpolation using Newton's formulae and Central Difference Interpolation formulae in chapter 3, including simple interpolations using Newton's Forward Difference Formula and Gauss' Forward Formula in Python.

## 1. Algebraic and Transcendental Equations

1. [Bisection Method](bisection.py)
2. [Iteration Method](iteration.py)
3. [Newton-Raphson Method](newtonraphson.py)

## 2. Ordinary Differential Equations

1. Picard's method of Successive Approximations
2. [Euler's Method](eulers.py)
3. [Runge-Kutta Methods](rungekutta.py)

## 3. Interpolation

1. Newton's Formulae for Interpolation
2. Central Difference Interpolation Formula