Multicharge Barnes-Hut method

MCBH method of approximation of problem matrix by H2-matrix.

h2tools.mcbh.mcbh(problem, tau, alpha=0.0, iters=1, onfly=False, verbose=False, random_init=0, mpi_comm=None)

Computes H2-approximation by MCBH method.

Uses Multicharge Barnes-Hut method (MCBH) of approximation of discretized non-local operators by H2-matrices [MCBH].

Parameters:

problem : h2tools.problem.Problem

Discretized problem with block cluster tree.

tau : float

Parameter of desired relative error (spectral tolerance for SVDs).

alpha : float

Regularizing parameter for maxvolpy.maxvol.maxvol_svd.

iter : integer

Number of iterations (depends on problem).

onfly : bool

Wheather or not to use “low” memory allocation type (useful if matrix elements are fast enough to compute, saves a lot of memory).

verbose : boolean

Whether or not to print additional information.

random_init : integer

Number of basis elements to intializate hierarchical basises randomly.

mpi_comm : MPI communicator

Returns:

h2tools.h2matrix.H2matrix

H2-approximation.