r''':math:`\underline{B}=\langle V_{n+1},M_lAM_rU\rangle`.

        This property is obtained from :math:`C` if the operator is
        self-adjoint. Otherwise, the inner products have to be formed
        explicitly.

def B_(self):
        r''':math:`\underline{B}=\langle V_{n+1},M_lAM_rU\rangle`.

        This property is obtained from :math:`C` if the operator is
        self-adjoint. Otherwise, the inner products have to be formed
        explicitly.'''
        (n_, n) = self.H.shape
        ls = self.linear_system
        if self._B_ is None or self._B_.shape[1] < n_:
            # compute B_
            if ls.self_adjoint:
                self._B_ = self.C.T.conj()
                if n_ > n:
                    self._B_ = numpy.r_[self._B_,
                                        utils.inner(self.V[:, [-1]],
                                                    self.projection.AU,
                                                    ip_B=ls.ip_B)]
            else:
                self._B_ = utils.inner(self.V, self.projection.AU,
                                       ip_B=ls.ip_B)
        return self._B_