Matrix Block Builders
There are two bigger additions in this MR:
- first, it introduces some new matrix builder classes in matrix.py. They all take a bunch of row and column indices and just compute those entries. Mostly useful for the HSS direct solver.
- second, it introduces a new
GeometryCollectionclass that encapsulates ageometry_id: geometry_objectsort of mapping a bit better than a simple dictionary. It's mostly meant as a central place to cache stuff for a given setup.
Small note: although the matrix block builders are meant to be the exact same as the full ones, the NearFieldBlockBuilder doesn't do any resampling so it doesn't exactly match MatrixBuilder in all cases.
Edited by Alexandru Fikl