Skip to content

Repository files navigation

Computational Methods and Numerical Analysis: A Python and MATLAB Implementation Repository

🚧 STATUS: Active Portfolio Project. This repository is continuously updated with new numerical methods and computational techniques.

🧠 About the Developer

I am Jose Aries E. De Los Santos, a Data Science Ph.D. student and a University Lecturer at the Institute of Mathematics, College of Science, University of the Philippines Diliman, holding a Master of Science in Applied Mathematics degree. Driven by a passion for bridging theoretical mathematics with computational implementation, I built this repository as an open academic and pedagogical resource.

By constructing these numerical methods and algorithms from scratch, I aim to explore and share a deep, mechanistic understanding of how fundamental computational techniques function, serving both advanced research and educational purposes.

🔬 Project Overview

This repository serves as an academic collection of classical and modern computational methods. Rather than simply relying on black-box solvers, the models here—ranging from foundational root-finding algorithms to advanced nonlinear programming and differential equation approximations—are meticulously implemented in Python and MATLAB.

The primary objective is to provide transparent, readable, and mathematically rigorous codebases for each numerical method. This facilitates better theoretical understanding, rigorous academic study, and in-depth exploration of the mechanics driving scientific computing, approximation theory, and optimization.

🗂️ Repository Structure

├── Approximation Theory/
│   ├── Dirichlet Kernel.ipynb
│   └── Lagrange Interpolation.ipynb
├── Nonlinear Programming/
│   ├── Line Search methods with Gradient Descent.ipynb
│   ├── Logarithmic Barrier Method.ipynb
│   └── Sequential Least Squares Programming (SQLSP)).ipynb
├── Numerical Methods and Analysis/
│   ├── 3DPlot.py
│   ├── BesselFunctions.py
│   ├── BisectionMethod(Example).py
│   ├── Cox_De_Boor_B_Splines.py
│   ├── GSOP.py
│   ├── LUDolittle.py
│   ├── LotkaVolterra.py
│   ├── NM.py
│   ├── NewtonMethod.py
│   ├── Numerical Methods Part 1.ipynb
│   ├── Plotting.ipynb
│   ├── Simple_Steepest_Descent_Methods.ipynb
│   ├── Steepest Descent Method 2.ipynb
│   ├── Symbolic Python.ipynb
│   ├── lineproperties.py
│   ├── onedopt.py
│   └── sinetaylor.py
└── Numerical Methods for Differential Equations/
    ├── MATLAB/Euler's Method/
    │   ├── euler_method.m
    │   ├── euler_method2.m
    │   └── vector_field.m
    └── Python/Euler's Method/
        ├── Euler-s_Method.ipynb
        ├── euler-s_method.py
        └── Fast Fourier Transform - Signal Processing.ipynb

📐 Implemented Methods

  1. Approximation Theory Interpolation & Kernels: Implementations of Lagrange Interpolation and the Dirichlet Kernel to study polynomial approximation and Fourier series behavior.

  2. Nonlinear Programming & Optimization Gradient-Based Methods: Implementations of Line Search methods with Gradient Descent and Steepest Descent variations.

Constrained Optimization: Algorithms featuring the Logarithmic Barrier Method and Sequential Least Squares Programming (SQLSP).

  1. Numerical Methods & Analysis Root Finding & Decomposition: Foundational algorithms including the Bisection Method, Newton's Method, and LU Doolittle decomposition.

Advanced Functions & Splines: Evaluation of Bessel Functions and construction of B-Splines using the Cox-de Boor recursion formula.

  1. Differential Equations & Signal Processing Euler's Method: Step-by-step numerical approximations for ordinary differential equations (ODEs), provided in both Python and MATLAB.

Systems & Transformations: Modeling population dynamics via Lotka-Volterra equations and signal processing using the Fast Fourier Transform (FFT).

🎯 Impact and Use Case

This repository is designed for applied mathematicians, scientific computing students, and engineers who want to look inside the fundamental algorithms powering numerical software. By providing transparent code for complex mathematical approximations, it serves as both an educational resource and a foundation for developing highly customized, mathematically rigorous computational systems.

📝 How to Cite

If you utilize these implementations or educational notebooks in your research, study, or projects, please consider citing this repository:

APA Format:

De Los Santos, J. A. E. (2023--Present). Computational Methods and Numerical Analysis implementations. GitHub. https://github.com/Ariestootl/Computational_Methods

BibTeX:

@software{delossantos_computational_methods,
  author = {De Los Santos, Jose Aries E.},
  title = {Computational Methods and Numerical Analysis Implementations},
  year = {2023--Present},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{[https://github.com/Ariestootl/Computational_Methods](https://github.com/Ariestootl/Computational_Methods)}}
}

📚 References & Acknowledgments

The implementations, mathematical derivations, and theoretical foundations within this repository are heavily inspired by and built upon the knowledge from the following exceptional resources:

Core Textbooks & Theoretical Foundations (APA)

  • Carothers, N. L. (2009). A short course on approximation theory. Bowling Green State University.
  • Cheney, E. W. (1982). An introduction to approximation theory (2nd ed.). AMS Chelsea Publishing.
  • Christensen, O., & Christensen, K. L. (2004). Approximation theory: From Taylor polynomials to wavelets. Birkhäuser.
  • Deutsch, F. (2001). Best approximation in inner product spaces. Springer.
  • DeVore, R. A., & Lorentz, G. G. (1991). Constructive approximation. Springer-Verlag.
  • Heath, M. T. (2002). Scientific computing: An introductory survey (Revised 2nd ed.). McGraw-Hill.
  • Kress, R. (1998). Numerical analysis. Springer.
  • Lorentz, G. G. (1966). Approximation of functions. Holt, Rinehart and Winston.
  • Mitsotakis, D. (2023). Computational mathematics: An introduction to numerical analysis and scientific computing with Python.
  • Powell, M. J. D. (1981). Approximation theory and methods. Cambridge University Press.
  • Rivlin, T. J. (1969). An introduction to the approximation of functions. Blaisdell Publishing.
  • Sauer, T. (2012). Numerical analysis (2nd ed.). Pearson.

Releases

Packages

Contributors

Languages