docs: def fit(self,
              X,
              vocab=None,
              initial_embedding_dict=None,
              fixed_initialization=None):
          """Run GloVe and return the new matrix.
  
          Parameters
          ----------
          X : array-like of shape = [n_words, n_words]
              The square count matrix.
  
          vocab : iterable or None (default: None)
              Rownames for `X`.
  
          initial_embedding_dict : dict or None (default: None)
              Map into representations that we want to use for a "warm
              start" -- e.g., GloVe vectors trained on a massive corpus.
  
              Learned representations of words in `vocab` are initialized
              from `initial_embedding_dict` wherever possible; words not
              found in `initial_embedding_dict` are randomly initialized.
  
          fixed_initialization : dict or None (default: None)
              If a dict, this will replace the random initializations
              of `W`, `C`, `bw` and `bc`. Dict keys must be
              ['W', 'C', 'bw', 'bc'], and values should be np.arrays
              of appropriate size ((n_words, n) for `W` and `C`, and
              (n_words, ) for `bw` and `bc`).
  
          Returns
          -------
          np.array
              Of shape = [n_words, embedding_dim]. I.e. each row is the
              embedding of the corresponding element in `vocab`.
  
          """
          if fixed_initialization is not None:
              assert self.test_mode, \
                  "Fixed initialization parameters can only be provided" \
                  " in test mode. Initialize {} with `test_mode=True`.". \
                       format(self.__class__.split(".")[-1])
          self._check_dimensions(
              X, vocab, initial_embedding_dict
          )
          weights, log_coincidence = self._initialize(X)
          return self._fit(X, weights, log_coincidence,
                           vocab=vocab,
                           initial_embedding_dict=initial_embedding_dict,
                           fixed_initialization=fixed_initialization)