Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
teaching:methcalchim:start [2017/10/31 03:57] – villersd | teaching:methcalchim:start [2023/04/12 10:08] (Version actuelle) – [Classical numerical methods] villersd | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Calculation methods applied to chemistry ====== | ====== Calculation methods applied to chemistry ====== | ||
- | (Méthodes de calcul appliqué à la chimie) | ||
- | |||
- | * Learning outcomes teaching unit (UE): | ||
- | * Apply standard numerical methods or existing software to solve numerical problems related to scientific research activities | ||
- | * Be active in the search for existing numerical methods adapted to problems encountered by chemists | ||
- | * Content of the UE: | ||
- | * widespread methods : linear systems, numerical integration, | ||
- | * Ordinary differential equations (numerical solutions, kinetic applications, | ||
- | * Partial differential equations (finite differences, | ||
- | * Nonlinear systems of equations (Newton-Raphson method) | ||
- | * Eigenvalues eignevectors problems (applications to relaxation and population problems) | ||
- | * Approximation by linear and non-linear least squares methods (maximum likelihood, application to deconvolution) | ||
- | * Chebyshev approximation | ||
- | * Molecular modeling and visualization | ||
- | * Minimization and conformational problems | ||
- | * Prerequisite skills | ||
- | * Basic knowledge of a programming language | ||
- | * Basics of Mathematics | ||
- | * Exercises and applications: | ||
- | * Types of evaluations: | ||
- | |||
- | * Acquis d' | ||
- | * Appliquer des méthodes numériques standards ou des logiciels existant pour résoudre des problèmes fondamentaux ou annexes, liés à des activités de recherche scientifique | ||
- | * Être actif dans la recherche de méthodes de résolution numérique existantes et adaptées à des problèmes auxquels les chimistes sont confrontés | ||
- | * Contenu de l'UE : | ||
- | * Équations différentielles ordinaires (résolutions numériques et applications cinétiques) | ||
- | * Équations aux dérivées partielles (différences finies, problèmes de diffusion) | ||
- | * Systèmes d’équations non linéaires (méthode de Newton-Raphson) | ||
- | * Problèmes aux valeurs propres (applications à des problèmes de relaxation et de population) | ||
- | * Approximation par moindre carrés linéaires et non-linéaires (application à la déconvolution) | ||
- | * Approximation de Tchébyshev | ||
- | * Modélisation et visualisation de molécules | ||
- | * Minimisation et problèmes conformationnels | ||
- | * Compétences préalables | ||
- | * Connaissance de base d'un langage de programmation | ||
- | * Bases des mathématiques | ||
- | * Exercices et applications : codes écrits ou à écrire principalement en Python, avec les librairies générales matplotlib, numpy et scipy, ainsi que d' | ||
- | * Types d' | ||
- | |||
- | ---- | ||
===== Synopsis (english) ===== | ===== Synopsis (english) ===== | ||
==== Mathematical prerequisites==== | ==== Mathematical prerequisites==== | ||
Ligne 45: | Ligne 5: | ||
==== Programming bases and tools ==== | ==== Programming bases and tools ==== | ||
* Python programming language | * Python programming language | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * MOOCs (massive open online courses) : | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
* [[wp> | * [[wp> | ||
* Includes these tools : | * Includes these tools : | ||
Ligne 60: | Ligne 26: | ||
* [[https:// | * [[https:// | ||
- | <note tip>The Microsoft Azure Notebooks environment can be used to execute sample codes, using a professionnal, | + | <note tip>The Microsoft Azure Notebooks environment can be used to execute sample codes, using a professionnal, |
+ | * [[https:// | ||
+ | * //e.g. :// [[https:// | ||
+ | </ | ||
* Python scientific libraries (official websites including tutorials and documentation) | * Python scientific libraries (official websites including tutorials and documentation) | ||
Ligne 71: | Ligne 40: | ||
* Pylab, combine Matplotlib, NumPy and SciPy | * Pylab, combine Matplotlib, NumPy and SciPy | ||
* [[http:// | * [[http:// | ||
- | |||
- | <note tip>Some MOOCs to help learning : | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | </ | ||
==== Fundamental numerical methods ==== | ==== Fundamental numerical methods ==== | ||
Ligne 81: | Ligne 45: | ||
* Diagonalisation and triangularisation | * Diagonalisation and triangularisation | ||
* LU decomposition : factorization in triangular matrices | * LU decomposition : factorization in triangular matrices | ||
- | * [[numerical_integration|Numerical intégration]] (integrals) | ||
- | * Simpson method and gaussian quadratures | ||
* [[root-finding_algorithm|Root findings : equations f(x) = 0]] | * [[root-finding_algorithm|Root findings : equations f(x) = 0]] | ||
* Polynomial equations | * Polynomial equations | ||
Ligne 88: | Ligne 50: | ||
* Secant method, Regula falsi | * Secant method, Regula falsi | ||
* Newton-Raphson method | * Newton-Raphson method | ||
+ | * [[numerical_integration|Numerical intégration]] (integrals) | ||
+ | * Simpson method and gaussian quadratures | ||
+ | |||
+ | <note tip> | ||
+ | Learning outcomes : | ||
+ | * Systems of linear equations | ||
+ | * failing of the theoretical way to solve a linear system using determinant and cofactors (np complexity) | ||
+ | * triangularisation and diagonalisation principles : algorithm and complexity | ||
+ | * " | ||
+ | * extension towards the matrix inversion | ||
+ | * lower-upper LU decomposition and complexity (N³ for the decomposition step and N² for substitution step). How to solve systems with varying independant vectors | ||
+ | * special matrix require special algorithms : tridiagonal matrix algorithm (Thomas algorithm) | ||
+ | * Root findings | ||
+ | * Bisection method (dichotomy) : simple and robust algorithm, invariant loop, slow convergence | ||
+ | * iterative transformation x = f(x), convergence and divergence situations | ||
+ | * secant and regula falsi methods, Convergence Criterion of the Fixed Point Method | ||
+ | * Newton-Raphson method (use of derivatives), | ||
+ | * Van Wijngaardeb-Dekker-Brent method (" | ||
+ | * Roots of polynomials and Bairstow' | ||
+ | * Numerical intégration | ||
+ | * Equally Spaced methods (trapezoidal, | ||
+ | * Gaussian Quadratures and orthogonal polynomials (special integrals, scale transformations, | ||
+ | </ | ||
==== Classical numerical methods ==== | ==== Classical numerical methods ==== | ||
Ligne 129: | Ligne 114: | ||
=== Linear and non-linear least squares approximations === | === Linear and non-linear least squares approximations === | ||
- | Application to deconvolution (Levenberg–Marquardt algorithm) | + | * Application to deconvolution (Levenberg–Marquardt algorithm) |
+ | * Reférences : | ||
+ | * [[https:// | ||
=== Chebyshev approximation === | === Chebyshev approximation === | ||
+ | + discussion of some approximations like [[wp> | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
=== Molecules modelisation and visualization === | === Molecules modelisation and visualization === | ||
Ligne 145: | Ligne 136: | ||
* quantum calculations, | * quantum calculations, | ||
* visualization, | * visualization, | ||
+ | * chemical informations on structures and reactions | ||
* Data science, statistics (Python modules : Scipy, Pandas,...) | * Data science, statistics (Python modules : Scipy, Pandas,...) | ||
* Time series analysis | * Time series analysis | ||
Ligne 154: | Ligne 146: | ||
* Agent base modelling and complex systems | * Agent base modelling and complex systems | ||
* cellular automaton | * cellular automaton | ||
- | * Simpy,... | + | * Simpy, |
* Digital image processing, image recognition | * Digital image processing, image recognition | ||
* particle tracking, | * particle tracking, | ||
+ | * Voronoi diagrams, Delaunay triangulation, | ||
===== References ===== | ===== References ===== | ||
+ | * Gradient descent optimization | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
* Bioinformatics | * Bioinformatics | ||
* [[http:// | * [[http:// | ||
Ligne 165: | Ligne 161: | ||
* Machine Learning | * Machine Learning | ||
* Scikit-learn | * Scikit-learn | ||
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||
* Deep Learning | * Deep Learning | ||
Ligne 176: | Ligne 173: | ||
* K-Means | * K-Means | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Applications (suggestions, | ||
+ | * [[https:// | ||
+ | * chemistry | ||
+ | * misc docs : | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Blog articles | ||
+ | * [[https:// | ||
+ | * simpy : [[https:// | ||
+ | * Active matter simulations ([[https:// | ||
+ | * [[https:// | ||
+ | * Fourier transforms : [[https:// | ||
+ | * Monte-Carlo simulations : [[Monte Carlo Simulation — a practical guide - A versatile method for parameters estimation. Exemplary implementation in Python programming language]] Robert Kwiatkowski, | ||
+ | * régression logistique : [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Ligne 185: | Ligne 205: | ||
==== Jupyter notebooks ==== | ==== Jupyter notebooks ==== | ||
* [[https:// | * [[https:// | ||
+ | * [[http:// | ||
==== MOOCs ==== | ==== MOOCs ==== | ||
Ligne 193: | Ligne 214: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Published applications | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | |||
---- | ---- | ||
===== Synopsis (français) ===== | ===== Synopsis (français) ===== | ||
+ | (Méthodes de calcul appliqué à la chimie) | ||
+ | |||
+ | * Learning outcomes teaching unit (UE): | ||
+ | * Apply standard numerical methods or existing software to solve numerical problems related to scientific research activities | ||
+ | * Be active in the search for existing numerical methods adapted to problems encountered by chemists | ||
+ | * Content of the UE: | ||
+ | * widespread methods : linear systems, numerical integration, | ||
+ | * Ordinary differential equations (numerical solutions, kinetic applications, | ||
+ | * Partial differential equations (finite differences, | ||
+ | * Nonlinear systems of equations (Newton-Raphson method) | ||
+ | * Eigenvalues eignevectors problems (applications to relaxation and population problems) | ||
+ | * Approximation by linear and non-linear least squares methods (maximum likelihood, application to deconvolution) | ||
+ | * Chebyshev approximation | ||
+ | * Molecular modeling and visualization | ||
+ | * Minimization and conformational problems | ||
+ | * Prerequisite skills | ||
+ | * Basic knowledge of a programming language | ||
+ | * Basics of Mathematics | ||
+ | * Exercises and applications: | ||
+ | * Types of evaluations: | ||
+ | |||
+ | * Acquis d' | ||
+ | * Appliquer des méthodes numériques standards ou des logiciels existant pour résoudre des problèmes fondamentaux ou annexes, liés à des activités de recherche scientifique | ||
+ | * Être actif dans la recherche de méthodes de résolution numérique existantes et adaptées à des problèmes auxquels les chimistes sont confrontés | ||
+ | * Contenu de l'UE : | ||
+ | * Équations différentielles ordinaires (résolutions numériques et applications cinétiques) | ||
+ | * Équations aux dérivées partielles (différences finies, problèmes de diffusion) | ||
+ | * Systèmes d’équations non linéaires (méthode de Newton-Raphson) | ||
+ | * Problèmes aux valeurs propres (applications à des problèmes de relaxation et de population) | ||
+ | * Approximation par moindre carrés linéaires et non-linéaires (application à la déconvolution) | ||
+ | * Approximation de Tchébyshev | ||
+ | * Modélisation et visualisation de molécules | ||
+ | * Minimisation et problèmes conformationnels | ||
+ | * Compétences préalables | ||
+ | * Connaissance de base d'un langage de programmation | ||
+ | * Bases des mathématiques | ||
+ | * Exercices et applications : codes écrits ou à écrire principalement en Python, avec les librairies générales matplotlib, numpy et scipy, ainsi que d' | ||
+ | * Types d' | ||
+ | |||
==== Pré-requis mathématiques ==== | ==== Pré-requis mathématiques ==== | ||