Examples
- [x] remove import management boilerplate from examples
- [x] change example naming convention
- [x] partition examples into tutorials and examples
- [x] tutorials belong to the user guide in `doc/tutorials/`: describe basic functionality
- [x] examples belong to the `examples/` directory: examples used (or will be used) in papers, advanced functionality, applications
- [x] update examples to use new initialization method for `LocalFunction` objects
- [x] update spacefilling curve example
Documentation
- [x] change: installation instructions for developers to build the package locally with `pip install -e .`
- [x] add: tutorials
- [x] change: update docstrings to use NumPy documentation format
- [x] `locfun`
- [x] `mesh` (except for `edgelib`)
- [x] `plot`
- [x] `solver`
- [x] `util`
- [x] change: MkDocs theme to `material`
- [x] add: site logo
- [x] update `doc/logo/pacman.svg`
- [x] tutorials
- [x] Guide to tutorials
- [x] 1: Meshes
- [x] 1.1: Vertices and edges (taken from Example 0.1)
- [x] 1.2: Mesh cells and planar meshes (taken from Example 0.1)
- [x] 2: Local function spaces
- [x] 2.1: Polynomials (template)
- [x] 2.2: Traces (taken from Example 0.2)
- [x] 2.3: Local Poisson functions (template)
- [x] 2.4: Local Poisson spaces (template)
- [x] 3: Finite elements
- [x] 3.1 Global function spaces (simpler version of Example 2.1)
- [x] 3.2 Global boundary conditions (template)
- [x] 4: Advanced topics
- [x] 4.1 Nystrom solvers (template)
- [x] 4.2 Heavy sampling of edges (taken from Example 1.5)
- [x] run tutorial notebooks when building documentation
- [x] link to notebook source on tutorial pages
- [x] link to tutorial pages from README
Maintenance
- [x] `DirichletTrace` improvements:
- [x] add: weighted normal derivative
- [x] add: weighted tangential derivative
- [x] `LocalFunction` improvements:
- [x] BREAKING CHANGE: replace the handling of traces with `DirichletTrace`
- [x] DEPRECATED: use `LocalPoissonFunction` instead
- [x] add: `LocalPoissonFunction` class, built from `LocalHarmonic` and `LocalPolynomial` objects
- [x] add: arithmetic operations (addition, subtraction, scalar multiplication, scalar division) for `LocalHarmonic`, `LocalPolynomial`, and `LocalPoissonFunction` objects
- [x] `NystromSolver` improvements:
- [x] handle logarithmic functions as instances of `DirichletTrace` class
- [x] `antilap_strategy` option to precompute "normal indicator functions" biharmonic function computation speedup
- [x] compute diagonal of Nystrom matrix directly for preconditioning
- [x] `locfun` module improvements:
- [x] use `DirichletTrace` objects for traces in `antilap` module
- [x] move contents of `antilap` and `d2n` subpackages to `locfun` root
- [x] remove `log_terms` and `log_antilap` modules
- [x] deprecate `PiecewisePolynomial` class
- [x] `Polynomial` improvements:
- [x] deprecate `eval()` method, use `__call__()` method instead
- [x] `LocalFunctionPlot` improvements:
- [x] change: don't store points and values outside of the cell
- [x] interior value interpolation for points close to the boundary
- [x] consolidate the multiple draw methods into one, optional argument to specify what to draw (values, gradient, etc.)
- [x] move generation of interior point triangulation to `MeshCell`
- [x] `GlobalFunctionPlot` improvements:
- [x] stich together `LocalFunctionPlot` objects to plot a global function
- [ ] use computation of H1 error in `Solver` tests
Project Management
- [x] change dev dependency: `black` to `black[jupyter]`
- [x] add dev dependency: `nbconvert``main`
Bug Fixes
- [x] fix: missing logo and favicon in MkDocs build
- [x] fix: broken links in tutorials
- [x] fix: blank images saved by `LocalFunctionPlot` class
- [x] fix: edges on boundary of `MeshCell` being deleted from interior point triangulation