# Numerical Methods in the Python Ecosystem, Janko Slavič, 2025/26

The content presented here is the basis for the *Numerical Methods* course taught at the [Faculty of Mechanical Engineering (University of Ljubljana)](www.fs.uni-lj.si):

* [Numerical Methods, 2nd year RR](http://www.ladisk.si/?what=incfl&flnm=NM.php)

The lecture templates are located in the `notebooks` folder, or you can view them in the [online book](https://jankoslavic.github.io/pyNumericalMethods/README.html) (links are listed below).

> This is the American-English translation of the Slovenian book [`pynm`](https://github.com/jankoslavic/pynm).

Please read the [Study and Examination Rules](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Study%20and%20Examination%20Rules.html); it contains key information about taking the course.

## Lecture schedule

1. [Oct 6: Introduction to Python, part 1](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2001%20-%20Introduction%20to%20Python.html)
1. [Oct 13: Introduction to Python, part 2](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2001%20-%20Introduction%20to%20Python.html)
1. [Oct 20: Printing, file handling, functions, modules](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2002%20-%20Printing,%20file%20handling,%20functions,%20modules.html)
1. [Nov 3: Modules, NumPy, Matplotlib](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2003%20-%20Modules,%20NumPy,%20Matplotlib.html)
1. [Nov 10: Object-oriented programming, symbolic computation](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2004%20-%20Object-oriented%20programming,%20symbolic%20computation.html)
1. [Nov 17: Introduction to numerical methods and systems of linear equations 1](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2005%20-%20Introduction%20to%20numerical%20methods%20and%20systems%20of%20linear%20equations%201.html)
1. [Nov 24: Systems of linear equations 2](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2006%20-%20Systems%20of%20linear%20equations%202.html)
1. [Dec 1: Interpolation](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2007%20-%20Interpolation.html)
1. [Dec 8: Approximation](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2008%20-%20Approximation.html)
1. [Dec 15: Root finding](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2009%20-%20Root%20finding.html)
1. [Dec 22: Numerical differentiation](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2010%20-%20Numerical%20differentiation.html)
1. [Jan 5: Numerical integration](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2011%20-%20Numerical%20integration.html)
1. [Jan 12: Numerical solution of differential equations - initial value problem](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2012%20-%20Numerical%20solution%20of%20differential%20equations%20-%20initial%20value%20problem.html) and [boundary value problem](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2013%20-%20Numerical%20solution%20of%20differential%20equations%20-%20boundary%20value%20problem.html)
1. [Testing code correctness, user interface](https://jankoslavic.github.io/pyNumericalMethods/notebooks/Lecture%2014%20-%20Testing%20code%20correctness,%20user%20interface.html)
1. Introduction to Mathematica*

\* Optional lecture. Students of the Faculty of Mechanical Engineering UNI-LJ can obtain a licensed version of Mathematica at this [link](https://www.fs.uni-lj.si/studij/studiraj-na-fs/programska-oprema-za-studente/registracija-mathematica/).

## License
This work is free for non-commercial use, provided that you cite the source, the author, and the Faculty of Mechanical Engineering, University of Ljubljana.
