🚧 STATUS: Active Portfolio Project. This repository is continuously updated with new numerical methods and computational techniques.
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.
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.
├── 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
-
Approximation Theory Interpolation & Kernels: Implementations of Lagrange Interpolation and the Dirichlet Kernel to study polynomial approximation and Fourier series behavior.
-
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).
- 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.
- 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).
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.
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)}}
}The implementations, mathematical derivations, and theoretical foundations within this repository are heavily inspired by and built upon the knowledge from the following exceptional resources:
- 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.