Skip to content

vincentbonnetcg-zz/Numerical-Bric-a-Brac

Repository files navigation

Numerical Bric-a-Brac

Notebook collections on numerical techniques using Python and standard computational packages (Numpy, SciPy, Numba, Matplotlib ...). These notebooks were used for educational purposes at meetups or study groups.

Blog : https://numericalbricabrac.ghost.io/

Animation

Notebooks demonstrating animation or simulation algorithms.

Notebooks
implicit_solver
Implementation of Baraff's "Large steps in cloth simulation.
inverse_kinematic
Inverse kinematics using least square methods to solve the ill-posed problem.
subspace_deformation
Skeletal Subspace Deformation

Machine Learning

Notebooks about machine learning techniques such as dimensionality reduction.

Notebooks
eigenfaces
Eigenfaces for face recognition on Olivetti faces dataset
pca_transform
Optimal transformation of a point cloud with PCA
svd_compression
Image compression with Singular Value Decomposition

ConvNets

Example of convolutional neural network for classification problems or face landmarks.

Notebooks
transfer_learning
Transfer learning for image classification on CIFAR-100
face_keypoints
Facial keypoints detection
conv_net
Image classification on CIFAR-10 using CNN
res_net
Image classification on CIFAR-10 using ResNet

Generative Models

Examples of generative models such as autoencoder (AE) and Variational autoencoder (VAE)

Notebooks
ae_fashion_mnist
Autoencoder on Fashion MNIST
variational_autoencoder
Variational autoencoder on MNIST

Stencil Codes

Stencil codes are at the heart of many numerical solvers and used to solve partial differential equations, image processing, cellular automata, etc.

Notebooks
poisson_solver
Diffusion problem
laplace_inpainting
Laplace inpainting to restore an image
convolution
Image processing with convolution kernels
conway
Cellular automata with Conway's game of life rules

Miscellaneous

Random notebooks about dynamic programming and monte carlo methods

Notebooks
multivariable_optimizations
Image processing in frequency domain
multivariable_optimizations
Multivariable Optimizations (Gradient Descent and Newton's methods)
self_supervised
Image Augmentation for Self-Supervised Learning
markov_chain
Example of ML pipeline with Snakemake
markov_chain
Introduction to Numba
dynamic_programming
Dynamic programming Examples
monte_carlo_integration
Examples of Monte Carlo integrations
path_tracing
GitHub
Monte Carlo Path Tracing
markov_chain
Generate authors names from the Collection of Poems from Poetry Foundation
radial_basis_kernels
Interpolation with Radial Basis Functions (RBFs).

Intro to Machine Learning (old)

Those notebooks are the core algorithms for supervised and unsupervised learning in Machine learning.

Notebooks
Supervised Learning
linear_regression
Linear regression from scratch
polynomial_regression
Polynomial regression from scratch
logistic_regression
Logistic regression from scratch
multiclass_classifiation
Multiclass Classification with Scikit-learn
support_vector_machine
Support Vector Machine (SVM) with Scikit-learn
Unsupervised Learning
k_means
K-means clustering from scratch

Intro to Graph Theory (draft)

Part of discrete mathematics, graph theory is the study of graphs, a structures used to model pairwise relations between objects. Graph theory includes problems such as the travelling salesman problem and the spectral analysis of graph.

Notebooks
graph_matrix
List matrices describing a finite graph.
graph_coloring
Greedy algorithm for graph coloring.
dijkstra
Find the shortest paths between nodes in a graph.
spectral_graph_theory
Spectral Graph Thoery - PLACEHOLDER (WIP).