danielrioslinares / python-library

A collection of python implementations using SWIG, Instant, F2PY... Optimization like Least Squares Levenberg-Marquardt. Boundary Value problem solvers. Integration Simpson/Trapezoidal. Interpolation like Cubic spline. Tridiagonal/pentadiagonal system of equations solver. Linear algebra like Matrix inversion (Gauss-Jordan) and much more

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

python-library

This is a library of Python 3 implementations made by myself in order to practise numerical algorithms, this modules are intended to show a good approach to the problem as simple as possible without fancies detections (in general). There are three different possible implementations: Standalone Python 3 denoted by (PYT), Python 3 C API (CPY) and Python-Fortran wrapper (F90).

  • arr_XiYo : CPY only, a C API wrapper for Python 3 that allows to parse PyList to C arrays, do the treatment and return. Templates. It consists on 4 modules depending of number of inputs and outputs
    • arr_siso : SISO, Single Input Single Output. Only one list as input, only one list as output.
    • arr_simo : SIMO, Single Input Multiple Output. Only one list as input, more than one lists as output.
    • arr_miso : MISO, Multiple Input Single Output. More than one lists as input, only one list as output.
    • arr_mimo : MIMO, Multiple Input Multiple Output. More than one lists as input, more than one lists as output.
  • intsm_ue : Simpson integration method for a non-uniform mesh of 1D set of data X,Y.
  • inttp_ue : Trapezoidal integration method for a non-uniform mesh of 1D set of data X,Y.
  • mxinv_gj : Matrix inversion using Gauss-Jordan pivoting algorithm. Pass the square matrix A as argument to return A⁻¹.
  • rtf1d_mu : Root Finding 1D class storing f(x) function to root and optionally dfdx(x) for Newton-Raphson, then calling the different methods (bisection, secant, regulafalsi, ridders, brent, newtonraphson) returns the x0 which f(x0)=0.
  • slesv_tr : system of linear equations solver for tridiagonal matrix of coefficients.
  • slesv_pt : system of linear equations solver for pentadiagonal matrix of coefficients.
  • inpsp_cX : Interpolation with cubic splines
  • bvp2o1d1euei_fd1 : BVP (Boundary Value Problem) solver for second order differential equations of the form y'' = f(y,x) (no y' term).
  • bvp2o1d1euec_diffusion : BVP (Boundary Value Problem) solver for second order differential equations - d/dx ( D(x) * dy/dx ) + K(x) y(x) = q(x), diffusion equation.

About

A collection of python implementations using SWIG, Instant, F2PY... Optimization like Least Squares Levenberg-Marquardt. Boundary Value problem solvers. Integration Simpson/Trapezoidal. Interpolation like Cubic spline. Tridiagonal/pentadiagonal system of equations solver. Linear algebra like Matrix inversion (Gauss-Jordan) and much more

License:GNU General Public License v3.0


Languages

Language:C 90.3%Language:Python 6.6%Language:Fortran 2.4%Language:Makefile 0.7%Language:C++ 0.1%