def METHOD_NAME(self, tol=None):
    c_otype = gpt.ot_vector_complex_additive_group(len(self.basis))
    iproj = gpt.lattice(self.coarse_grid, c_otype)
    eproj = gpt.lattice(self.coarse_grid, c_otype)
    for i, v in enumerate(self.basis):
        iproj @= self.project * v
        eproj[:] = 0.0
        eproj[tuple([slice(None, None, None)] * self.coarse_grid.nd + [i])] = 1.0
        err2 = gpt.norm2(eproj - iproj)
        if tol is not None:
            assert err2 <= tol
            gpt.message(f"blockmap: ortho check for vector {i:d}: {err2:e} <= {tol:e}")
        else:
            gpt.message(f"blockmap: ortho check error for vector {i:d}: {err2:e}")