code: def _split_matrix(X, n):
      # definitions according to Seeded Graph Matching [2].
      upper, lower = X[:n], X[n:]
      return upper[:, :n], upper[:, n:], lower[:, :n], lower[:, n:]
  
file_path: catboost/contrib/python/scipy/py3/scipy/optimize/_qap.py
imports: import numpy
  import operator
  from .None import linear_sum_assignment, OptimizeResult
  from .optimize import _check_unknown_options
  from scipy._lib._util import check_random_state
  import itertools
label_desc: Use image node_id 5 for calling a global function with example usage: _split_matrix(X, n) and returns: upper,  upper,  lower,  lower