-----------------------
**2019-01-18**
- Semicoarsening option.
- Number of cells must still be 2^n, but n can be different in the x-, y-, and
z-directions.
- Many other iterative solvers from :mod:`scipy.sparse.linalg` can be used. It
seems to work fine with the following methods:
- :func:`scipy.sparse.linalg.bicgstab`: BIConjugate Gradient STABilize;
- :func:`scipy.sparse.linalg.cgs`: Conjugate Gradient Squared;
- :func:`scipy.sparse.linalg.gmres`: Generalized Minimal RESidual;
- :func:`scipy.sparse.linalg.lgmres`: Improvement of GMRES using alternating
residual vectors;
- :func:`scipy.sparse.linalg.gcrotmk`: GCROT: Generalized Conjugate Residual
with inner Orthogonalization and Outer Truncation.
- The SciPy-solver or MG can be used all in combination or on its own, hence
only MG, SciPy-solver with MG preconditioning, only SciPy-solver.