Non-uniform grid Laplacian operator
Add a 1D Laplacian operator for non-uniform grids to matrix_ops.py. Currently make_1d_laplacian only supports uniform grids. The structured-observables chemostat model requires a Neumann-BC tridiagonal Laplacian on curvature-weighted non-uniform grids.
Implementation
Source code reference
Thoery_1_Code.ipynb: neumann_tridiag_laplacian_1d(theta_grid) — FD on non-uniform 1D grid
Chemostat_Simulator.ipynb: 4th-order Laplacian in simulate_model2_explicit
Tests
Non-uniform grid Laplacian operator
Add a 1D Laplacian operator for non-uniform grids to
matrix_ops.py. Currentlymake_1d_laplacianonly supports uniform grids. The structured-observables chemostat model requires a Neumann-BC tridiagonal Laplacian on curvature-weighted non-uniform grids.Implementation
make_1d_laplacian(n, dx=None, grid=None, bc='neumann')— extend existing function to accept a non-uniform grid arrayh_i = grid[i+1] - grid[i]CachedImplicitSolveSource code reference
Thoery_1_Code.ipynb:neumann_tridiag_laplacian_1d(theta_grid)— FD on non-uniform 1D gridChemostat_Simulator.ipynb: 4th-order Laplacian insimulate_model2_explicitTests
make_1d_laplacianoutput