docs: 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_