Numerical Bric-a-Brac

Collections of numerical techniques with Python and standard computational packages (Numpy, SciPy, Numba, Matplotlib ...).

Implicit Solver

Folder implicit_solver

Description Implicit Solver.

Explore code generation of vectorized code for physics solver.

  • Time Integrator : Baraff and Witkin's
  • Spring / Area / Bending / Collision Constraint
  • Early code generator for vectorized code
Implicit Solver Beam

Path Tracing

Folder path_tracing

Description Path Tracer with Python and Numba

  • Multithreading with Memory pool per-thread
Monte Carlo Path Tracer

ConvNet

Examples of convolution neural network architectures.

ConvNet
Convolution neural network with Keras
ResNet Residual neural network with Keras
CIFAR_10

Generative Network

Examples of generative neural network architectures.

Autoencoder - ...
Variational autoencoder - ...
Autoencoder

Stencil Codes

Evaluate stencil codes with Numba (CPU/GPU)

Folder stencil_codes

Poisson Solver - ...
Laplace Inpainting - ...
Conway's game of life - ...
Convolution matrix - ...
Laplace_equation

Dimensionality Reduction

Optimal transformation with PCA - ...
Image compression with SVD ...
Eigenface ...
PCA

Dynamic Programming

Dynamic Programming Examples ...

Graph Theory

Graph matrices ..
Graph colouring - ..
Dijkstra's algorithm ..
Spectral graph theory - WIP ..
GraphColouring

Interpolation and Regression

Interpolation and regression algorithms

Folder interpolation_regression

RBF Interpolation - ...
Polynomial Regression - ...
RBF

Machine Learning Study

Supervised Learning
Simple linear regression ...
Polynomial regression ...
Logistic regression ...
Multiclass Classification ...
Support Vector Machine ...
Unsupervised Learning
K-means clustering ...

Deep Deformation

WIP of the Fast and deep deformation approximations - I will find time to finish it, no sure when ...

Folder deep_deformation

Deep_Deformation

Multivariable Optimizations

Implementation of Gradient Descent and Newton's methods

File optimizations

  • Optimizer : Gradient Descent, Newton-Raphson, Quasi-Newton (BFGS)
  • Line Search : Backtracking
Gradient Descent

Skeletal Subspace Deformation

Skeletal Subspace Deformation

Folder skinning

Skeletal Subspace Deformation

Inverse Kinematics

Implementation of inverse kinematics using pseudo-inverse of a jacobian matrix

File inverseKinematics.py

  • Pseudo-Inverse with regularization term (Damped Least Squares method)
Inverse Kinematics

1D Time Integration

Single one-dimensional damped spring to evaluate explicit integrators and compare with analytic solution.

File spring1D_integrator.py

Includes Explicit Euler, RK2, RK4, Semi-Implicit Euler (Euler-Cromer), Leap Frog

Explicit Integrators

Markov Chain - Authors names generator

Generate authors names by using Markov Chain.
It uses the Collection of Poems from Poetry Foundation to generate probability matrix

File markovChain.py

GitHub

https://github.com/vincentbonnetcg/Numerical-Bric-a-Brac