Scientific Computing

Understanding Adjoint Optimization

Following Steven G. Johnson notes to understand how to do adjoint optimization and implement it in Julia.

Numerical optimization using the Newton conjugate gradient method

Studying and implementing the Newton conjugate gradient method in SciPy.

Julia DifferentialEquations.jl to model an explosion load

Modeling a single degree of freedom structural response to an explosion load.

Regularization of ill-posed problems

Implementing Tikhonov regularization (weight decay/ridge regression) in Python to solve ill-posed problems.

Exploring Fractals

Generating and exloring fractal structures with Python and Numba.

Python and VTK scientific visualisation

Visualising scientific data using VTK.