#!/usr/bin/env python # coding: utf-8 # # Adaptive grid discretizations # # ## A set of tools for discretizing anisotropic PDEs on cartesian grids # This collection of notebooks presents is part of a *reproducible research* effort in the numerical analysis of partial differential equations. The emphasis is on non-linear and anisotropic problems, discretized on cartesian grids. We present: # * The mathematical tools underlying the numerical methods, coming in particular from the field of lattice geometry # * Reference implementations, designed to be (reasonably) efficient and pedagogical. (Except for fast marching methods, where the implementations are contained in a black-box C++ library.) # * Test cases. Indeed, these notebooks are also intended as a test suite for the numerical libraries. # * Application examples. # # **Disclaimer** This series of notebooks is part of an ongoing research project. While we do have a strong focus on research reproducibility, the provided numerical codes should be regarded as experimental and come *without any guarantee of any type*. # # # # Table of contents # ### 1. [Fast Marching Methods](Notebooks_FMM/Summary.ipynb) # * A. Isotropic and anisotropic metrics # # * I. [Classical isotropic fast marching](Notebooks_FMM/Isotropic.ipynb) # * II. [Riemannian metrics](Notebooks_FMM/Riemannian.ipynb) # * III. [Rander metrics](Notebooks_FMM/Rander.ipynb) # * IV. [Asymmetric quadratic metrics](Notebooks_FMM/AsymmetricQuadratic.ipynb) # * B. Non holonomic metrics and curvature penalization # # * I. [Curvature penalized planar paths.](Notebooks_FMM/Curvature.ipynb) # * II. [Five dimensional Reeds-Shepp models.](Notebooks_FMM/Curvature3.ipynb) # * III. [Customized curvature penalization](Notebooks_FMM/DeviationHorizontality.ipynb) # * IV. [Vehicles with trailers](Notebooks_FMM/Trailers.ipynb) # * C. Algorithmic enhancements to the fast marching method # # * I. [Geodesic computation](Notebooks_FMM/Geodesics.ipynb) # * II. [Achieving high accuracy](Notebooks_FMM/HighAccuracy.ipynb) # * III. [Sensitivity analysis](Notebooks_FMM/Sensitivity.ipynb) # * IV. [Sensitivity in semi-Lagrangian schemes](Notebooks_FMM/SensitivitySL.ipynb) # * V. [Accurate distance from a boundary](Notebooks_FMM/DistanceFromBoundary.ipynb) # * D. Motion planning # # * I. [Closed path through a keypoint](Notebooks_FMM/ClosedPaths.ipynb) # * II. [The Dubins-Zermelo problem](Notebooks_FMM/DubinsZermelo.ipynb) # * III. [Optimal routing of a boat](Notebooks_FMM/BoatRouting.ipynb) # * IV. [Radar detection models](Notebooks_FMM/RadarModels.ipynb) # * V. [Minimal paths with curvature penalization and obstacles (Interactive)](Notebooks_FMM/Interactive_CurvatureObstacles.ipynb) # * E. Seismology and crystallography # # * I. [Metrics defined by a Hooke tensor](Notebooks_FMM/Seismic.ipynb) # * II. [Tilted transversally isotropic metrics](Notebooks_FMM/TTI.ipynb) # * F. Image models and segmentation # # * I. [A mathematical model for Poggendorff's visual illusions](Notebooks_FMM/Illusion.ipynb) # * II. [Tubular structure segmentation](Notebooks_FMM/Tubular.ipynb) # * III. [Geodesic models with convexity shape prior (Interactive)](Notebooks_FMM/Interactive_ConvexRegionSegmentation.ipynb) # * G. Other applications # # * I. [Fisher-Rao distances (statistics)](Notebooks_FMM/FisherRao.ipynb) # * II. [The medial axis, and an application to curve denoising](Notebooks_FMM/MedialAxis.ipynb) # * H. Custom optimal control models, discrete states # # * I. [Dubins car with a state and additional controls](Notebooks_FMM/DubinsState.ipynb) # * II. [Elastica variants](Notebooks_FMM/ElasticaVariants.ipynb) # # ### 2. [Non-divergence form PDEs](Notebooks_NonDiv/Summary.ipynb) # * A. One space dimension # # * I. [Static problems](Notebooks_NonDiv/MonotoneSchemes1D.ipynb) # * II. [Advection and diffusion](Notebooks_NonDiv/Time1D_NonDiv.ipynb) # * III. [Optimal transport non-linearities and boundary conditions](Notebooks_NonDiv/OTBoundary1D.ipynb) # * B. Monotone numerical schemes # # * I. [Linear partial differential equations](Notebooks_NonDiv/LinearMonotoneSchemes2D.ipynb) # * II. [PDEs with a first order non-linearity](Notebooks_NonDiv/NonlinearMonotoneFirst2D.ipynb) # * III. [PDEs with a second order non-linearity](Notebooks_NonDiv/NonlinearMonotoneSecond2D.ipynb) # * IV. [The Monge-Ampere equation](Notebooks_NonDiv/MongeAmpere.ipynb) # * C. Eikonal equation and variants # # * I. [Eulerian scheme for Riemannian distances](Notebooks_NonDiv/EikonalEulerian.ipynb) # * II. [Shape from shading with oblique lighting](Notebooks_NonDiv/ShapeFromShading.ipynb) # * D. Time dependent optimal control # # * I. [Boat routing, with a generic cost](Notebooks_NonDiv/BoatRoutingGeneric_Time.ipynb) # * II. [Boat routing, with a quadratic cost](Notebooks_NonDiv/BoatRouting_Time.ipynb) # # ### 3. [Divergence form PDEs](Notebooks_Div/Summary.ipynb) # * A. One space dimension # # * I. [Heat and wave equations](Notebooks_Div/Time1D_Div.ipynb) # * B. Static problems # # * I. [Elliptic equations](Notebooks_Div/Elliptic.ipynb) # * II. [Elliptic equations with a first order term](Notebooks_Div/EllipticAsymmetric.ipynb) # * C. Linear elasticity # # * I. [Elastic energy](Notebooks_Div/ElasticEnergy.ipynb) # * II. [The wave equation](Notebooks_Div/ElasticWave.ipynb) # * III. [Fourth order schemes for anisotropic acoustic and elastic waves](Notebooks_Div/HighOrderWaves.ipynb) # * IV. [Gradient backpropagation in anisotropic acoustic and elastic waves](Notebooks_Div/WaveExamples.ipynb) # * D. Acoustic and elastic waves # # * I. [Staggered grid schemes](Notebooks_Div/ElasticComparisons.ipynb) # * E. Primal-Dual optimization # # * I. [The mincut problem](Notebooks_Div/Prox_MinCut.ipynb) # * F. Applications # # * I. [Extracting geodesics from the heat kernel](Notebooks_Div/VaradhanGeodesics.ipynb) # * II. [Non-linear anisotropic Diffusion](Notebooks_Div/AnisotropicDiffusion.ipynb) # # ### 4. [Algorithmic tools](Notebooks_Algo/Summary.ipynb) # * A. Tensor decomposition techniques # # * I. [Selling's algorithm, in dimension 2 and 3](Notebooks_Algo/TensorSelling.ipynb) # * II. [Voronoi's reduction, in dimension 4 and 5](Notebooks_Algo/TensorVoronoi.ipynb) # * III. [Voronoi's reduction, in dimension 6, application to Hooke tensor decomposition](Notebooks_Algo/TensorVoronoi6.ipynb) # * B. Generalized acuteness # # * I. [Finslerian norms and the Stern-Brocot tree](Notebooks_Algo/SternBrocot.ipynb) # * II. [Riemannian norms and the Voronoi vectors](Notebooks_Algo/VoronoiVectors.ipynb) # * III. [Norms defined by a Hooke tensor](Notebooks_Algo/SeismicNorm.ipynb) # * C. Automatic differentiation # # * I. [Dense automatic differentiation, and geodesic shooting](Notebooks_Algo/Dense.ipynb) # * II. [Sparse automatic differentiation](Notebooks_Algo/Sparse.ipynb) # * III. [Reverse automatic differentiation](Notebooks_Algo/Reverse.ipynb) # * IV. [Known bugs and incompatibilities](Notebooks_Algo/ADBugs.ipynb) # * D. Domain representation # # * I. [Subsets of $R^d$](Notebooks_Algo/SubsetRd.ipynb) # * II. [Finite differences, interpolation](Notebooks_Algo/FiniteDifferences.ipynb) # * E. Convex functions and convex bodies # # * I. [Minkowski and Meissner's problems](Notebooks_Algo/Meissner.ipynb) # In[2]: #import sys; sys.path.append("..") # Allow imports from parent directory #from Miscellaneous import TocTools; print(TocTools.displayTOCss())